Skip to content
Corridor V1.26.08 is out, see what's new

Technology

Installing Corridor MCP

Ask AI

Connect agents to Corridor MCP and expose the MCP endpoint for external access.

Corridor MCP provides agents with access to Corridor through the Model Context Protocol (MCP). It runs over HTTP and uses OAuth to authenticate users.

An administrator exposes the MCP endpoint for the deployment once. After that, each user connects their own agent to it.

Once the MCP endpoint has been exposed for your deployment, it is available at:

https://<mcp-deployment>

The exact hostname depends on how your deployment routes the endpoint. See Hosting the MCP endpoint for what an administrator needs to configure, and check with whoever manages your deployment if you are unsure of the URL.

The endpoint is added as a remote MCP server in the agent. The server name is local to the agent and can be anything you choose. The examples below use corridor.

Terminal window
claude mcp add --transport http corridor https://<mcp-deployment>
claude mcp login corridor

Other MCP clients use the same endpoint. The exact configuration depends on the client.

When an agent connects for the first time, it opens the Corridor login page. The user signs in and selects the workspace they want to use.

There is no separate MCP login. External agents use Corridor’s existing login and OAuth flow, and users sign in using whatever authentication methods are configured for their deployment, such as password, OTP, or SAML.

The client stores the access token and sends it with subsequent requests. The MCP server uses the identity in the token to apply the user’s Corridor permissions.

A session is associated with the workspace selected during sign-in. To connect to a different workspace, the user needs to authenticate again.

The Corridor App Server (corridor-app) starts the MCP server alongside the main application and keeps it running.

For external access, MCP is given its own domain and exposed through a reverse proxy. Everything on that domain belongs to the MCP server, so a single location block is enough and no individual routes need to be listed.

server {
listen 443;
server_name mcp.corridor.example.com;
# The MCP server owns its endpoint and OAuth discovery routes.
location / {
proxy_pass http://corridor-app-service:8899;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
}
}

The proxy must support long-lived HTTP connections and disable response buffering for streamed MCP responses.

The MCP port should only be reachable by the reverse proxy. Users should connect through the HTTPS endpoint instead.

The MCP endpoint used for OAuth is determined by the following settings, in order:

PrioritySettingPurpose
1CORRIDOR_MCP_URLThe public MCP URL. Set this when MCP has its own domain
2CORRIDOR_APP_URLFalls back to the application origin if no MCP URL is set
3MCP_HOST / MCP_PORTUsed when running MCP directly

The main MCP settings are:

SettingPurpose
CORRIDOR_MCP_ENABLEDEnables or disables MCP. Default: enabled
CORRIDOR_MCP_HOSTHost on which MCP listens
CORRIDOR_MCP_PORTPort on which MCP listens. Default: 8899
CORRIDOR_MCP_URLExplicit MCP URL when the default URL needs to be overridden
CORRIDOR_APP_URLPublic application origin used for OAuth issuer discovery

Keeping the MCP URL separate from the application URL also allows in-platform requests to use the internal endpoint rather than going through the public application URL.

Check in this order:

  1. corridor-app is running and MCP is enabled.
  2. The mcp endpoint is reachable from the client.
  3. The public URL uses HTTPS.
  4. The OAuth discovery paths are routed to the MCP server.
  5. Proxy buffering is off.
  6. The user has permission to read the objects they are asking about.