Skip to content
Documentation
On this page

Add an MCP client

Connect an MCP client with browser sign-in, a personal access token, or a local server key.

The dashboard’s Connect an agent page shows these commands with your own endpoint already filled in. Open it at /org/<your-organization>/connect on hosted and self-host, or Connect in the local dashboard.

The endpoint is your origin plus /mcp:

Where Endpoint
Hosted https://mcp.executor.sh/mcp
Self-host <your origin>/mcp
Local http://127.0.0.1:4312/mcp

You can also connect with a personal access token as the Authorization bearer on <your origin>/org/<organization>/mcp. The Personal access token tab on an organization’s Connections page shows that address filled in.

Most clients load MCP servers only at startup. After you add Executor, restart the client or open a new session before its tools appear.

ChatGPT

For Executor Cloud, open the Executor plugin and click Install plugin. Connect the included Executor app when prompted, sign in to Executor, choose your team and approve access. Installation and account authorization are separate steps; you may be asked to connect on first use.

Start a new chat and ask: Show me the apps and tools available in my Executor workspace. If your workspace prevents installation, ask your admin to allow Executor.

For self-host or a scoped MCP URL, use Plugins → Add → Add custom MCP server instead. Name it Executor, enter your endpoint, choose OAuth, then click Create as a plugin and Connect. Sign in and approve access.

Codex

In the ChatGPT desktop app, open the same Executor plugin, install it and connect your Executor account when prompted. Start a new Codex session and ask it to show the apps and tools in your Executor workspace.

In Codex CLI, run /plugins, find Executor in the plugin browser and install it. Start a new session to load its skills and tools, and complete sign-in when prompted. Marketplace availability depends on your Codex environment.

The IDE extension does not support plugins. For the IDE extension, self-host, or a scoped connection, add the MCP server directly:

codex mcp add executor --url 'https://mcp.executor.sh/mcp'
codex mcp login executor

Replace the URL with your own endpoint when needed. Sign in to Executor, choose your team and approve access, then start a new session.

See OpenAI’s plugin guide for supported surfaces and installation details.

Claude Code

Claude Code has its own command. --scope user adds Executor for every project.

Add the server

claude mcp add --transport http --scope user executor 'https://mcp.executor.sh/mcp'

Run /mcp inside Claude Code

It opens Executor in your browser.

Sign in and approve

Choose an organization, then approve the connection.

Cursor and other clients

Use the installer. It detects the client and writes its configuration for you.

npx add-mcp 'https://mcp.executor.sh/mcp' --transport http --name executor
{
  "mcpServers": {
    "executor": {
      "type": "http",
      "url": "https://mcp.executor.sh/mcp"
    }
  }
}

If your client does not accept the installer, merge the configuration above into its MCP file by hand.

Clients that support this format read a mcpServers map, and Executor needs nothing beyond a streamable HTTP URL. Sign-in happens in your browser the first time the client connects.

Connecting to a local server

A local server has no browser sign-in. It authenticates with the API key you configured as EXECUTOR_API_KEY, sent as a bearer token:

npx add-mcp 'http://127.0.0.1:4312/mcp' --transport http --name executor \
  --header 'Authorization: Bearer <key>'
{
  "mcpServers": {
    "executor": {
      "type": "http",
      "url": "http://127.0.0.1:4312/mcp",
      "headers": {
        "Authorization": "Bearer <key>"
      }
    }
  }
}

The local Connect page shows this with your real key. Keep the local server running while the client is connected.

Choosing where approvals appear

By default the agent relays an approval request to you and answers on your behalf with resume. To answer in your browser instead, add the mode to the URL before you connect:

claude mcp add --transport http --scope user executor 'https://mcp.executor.sh/mcp?elicitation_mode=browser'

The mode is fixed when the connection is approved. To change it, connect again with the new URL. See The MCP endpoint for what each mode does.

Check that it worked

Ask the agent to run this:

return await tools.search({ query: "Executor" });

It should return callable paths for the Executor app itself. If the tool list is empty, the client has not reconnected since you added the server.

Was this page helpful?