Odel

MCP Inspector

Call any MCP server from the browser and read the raw traffic.

There are three inspectors, and they answer different questions.

Public InspectorProject InspectorGateway Inspector
Wheredev.odel.app/inspectorThe Inspector tab inside a projectThe Inspector tab inside a gateway
Talks toAny MCP server, anywhereYour module's dev deploymentThe gateway's upstream server
Account neededNoYes — and access to the project that includes Use the inspectorYes — and access to the gateway that includes Use the inspector
You supplyA URL, and auth if the server wants itNothing; it knows where your module isNothing; it uses the gateway's stored credentials

The public one is a general-purpose MCP client that happens to live on Odel. The project one is wired to your own deployment, so there's no URL to paste and nothing to authenticate.

Connecting to a server

Paste a URL and press Connect. Everything else on the connection panel is optional:

  • Bearer token — sent as an Authorization header. For servers behind a static key.
  • OAuth — for servers that want a real sign-in. The inspector prefers a Client ID Metadata Document, falls back to Dynamic Client Registration, and asks you for a client ID only when the server offers neither. There's a quick flow and a guided one that walks through each step and shows you the authorization code.
  • Protocol — Auto by default: the inspector tries server/discover and falls back to initialize. Pick Legacy (and a version) or 2026-07-28 to see how a server behaves against one revision.
  • Try a server — while the URL box is empty, one click fills in and connects to the Odel Calculator or the MCP project's example server, which sits behind OAuth.

The server address lives in the ?url= query parameter, so a connected session is a link you can send someone. If you turned the relay off or pinned a protocol, the link carries that too (relay=0, era=) and it overrides the opener's saved settings; otherwise theirs apply.

CORS

The public inspector sends its requests through Odel's relay by default, because many servers don't allow browser requests. Switch off Use the relay under Connection › Transport, or open the inspector with ?relay=0, and it calls the server from your browser directly; a server that doesn't send CORS headers will then refuse it, and the error offers Enable relay & retry. Your choice is remembered.

The tabs

Tools, Resources, and Prompts list what the server exposes and let you call it. Tool arguments get a generated form from the input schema, with a Raw JSON button to edit them as JSON instead. Results show the content blocks, the structured content checked against the tool's output schema, and any _meta.

In the public inspector, a Vars tab appears when the server exposes the odel://config resource — which is to say, only for Odel modules. That's the marker doing its job: the inspector can tell an Odel module from a plain MCP server. On an Odel URL (a hosted module or a gateway) the tab is always there, but only to say that Odel sets your context and secrets from your account and you can't override them.

Vars: pretending to be the proxy

In production your module doesn't get called directly. Odel's proxy authenticates the user, resolves their secrets, and injects both into the request's _meta. Connect to your module straight from the browser and none of that happens, so anything reading context or secrets sees an empty envelope.

The Vars tab fills it in. Set the identity fields and any secrets, flip the switch, and the inspector injects the same envelope on every tools/call — so a module reading them through the SDK behaves exactly as it would behind the proxy. It reads your declared config to know which secret names to prompt for.

Values you type here are test values in a browser tab. Use a scratch key, not the production one.

DevTools

The DevTools panel shows every JSON-RPC message in both directions — the initialize handshake, each request, each response, and any notifications. Toggle it with the button in the header or Cmd/Ctrl + Shift + D. Whether it's open is remembered between visits.

This is the tab to open when a call fails in a way the error message doesn't explain.

History, in the project and gateway inspectors

Both keep your last 50 tool executions for that project or gateway — what you called, the arguments, whether it worked, and how long it took. You can replay any of them with the original arguments, or clear the list. It's stored in your browser for the session, so it survives a refresh and disappears when you close the tab.

Where your data goes

Nothing you type into the public inspector is stored on Odel. Server URLs, OAuth tokens, execution history, and your relay and DevTools preferences all live in your own browser.

The exception is the relay, which is on by default: requests, OAuth calls included, are relayed through Odel to reach the server, so they pass through infrastructure Odel operates. It stores no request or response bodies. Switch it off if a server allows browser requests and you'd rather connect directly. The URL you enter is also checked against the Odel marketplace, so the inspector can show its listing when it has one.

On this page