Connecting a client

Where to paste the MCP URL in Claude, ChatGPT, Cursor, VS Code and Claude Code.

There are two URLs to choose between, and every client below takes either one. Both sign in through your browser the first time they are used, and nothing else has to be configured on either side.

Which URL

https://exeora.dev/mcp is the same for everyone and covers several projects at once. When you authorize a client on it, the consent screen lists your projects and you tick the ones it may reach; it then moves between them itself with list_projects and set_active_project. Add it once and it keeps working as projects come and go.

https://exeora.dev/p/<project>/mcp, which exeora connect prints, is one project and nothing else. The project is in the URL rather than in anything the client sends, so a client on it has no way to name another project: the separation is structural rather than something the model is asked to respect. That is the stronger guarantee, and the cost is one entry per project in every client.

Ticking a single project on the account URL gives you the same reach as a project URL, and you can change which projects a client reaches, or cut it off entirely, from the dashboard under Clients. The two are separate consents: a client authorized both ways keeps whichever you do not take away.

Claude Code

claude mcp add --transport http exeora <the URL>

Claude

Settings → Connectors → Add custom connector, and paste the URL. Claude speaks the 2025 protocol today, which matters only for confirmation prompts: see confirming a change.

ChatGPT

Settings → Connectors → Create, and paste the URL. Same note about the protocol revision as Claude.

Cursor

Settings → MCP → Add new MCP server, choose the HTTP transport and paste the URL. Cursor stores this in ~/.cursor/mcp.json, which can also be edited directly.

VS Code

Run MCP: Add Server from the command palette, choose HTTP, and paste the URL.

Anything else

Any client that speaks MCP over Streamable HTTP with OAuth 2.1 will work; there is nothing Exeora-specific to implement. To try one by hand:

bunx @modelcontextprotocol/inspector@2.1.0

If a call fails immediately

LOCAL_EXECUTOR_OFFLINE means no CLI is connected for that project's machine. Nothing is queued, on purpose: see troubleshooting.