Overview
Model Context Protocol (MCP) servers give Capy access to tools provided by external services and local processes. Once a server is connected, the capy agent (threads and their tasks) can discover and use its tools while working. The review agent runs a fixed tool set and never sees MCP tools. Configure MCP servers from Settings → MCP servers in a project.Add an MCP server
1
Create a server
Click New MCP server and give it a short key, like
internal-tools.2
Choose its availability
Save the server org-wide or narrowed to one project. This controls which threads see the server.
3
Configure the transport
For a remote server, enter its full HTTP endpoint. For a local server, enter the stdio command, arguments, working directory, and environment variables.
4
Connect authentication
If an HTTP server requires OAuth, open the saved server and click Connect. Servers that do not require authentication are ready after Capy discovers their tools.
Availability
A server can carry either or both credential kinds:
- Personal connection: credentials belong to one Capy user. When both personal and shared connections exist, Capy uses the current user’s personal connection.
- Shared connection: credentials are available to everyone who can use the server. Only org admins can connect or disconnect shared credentials.
Remote HTTP servers
Choose HTTP and enter the server’s full MCP endpoint. Capy speaks every published MCP protocol revision: it probes with the modern protocol first, and if the server answers as an older one, it falls back through the legacy handshake down to the original HTTP+SSE transport. You don’t configure the revision; Capy detects it per server and caches the answer. For servers that use a static token or API key, add the required HTTP header and paste the value itself. Header values are sealed at rest like any other Capy credential and sent only to that server. They are not interpolated, so an environment-variable reference like$MY_TOKEN would be sent literally and fail authentication.
Local stdio servers
Choose Stdio for an MCP server that runs as a process on the thread’s machine. Configure its command, arguments, working directory, and environment variables.Transport and OAuth support
For protected HTTP servers, Capy supports the MCP OAuth authorization flow from the 2025-06-18 specification, including:
- OAuth 2.1 authorization code flow with PKCE
- OAuth Protected Resource Metadata and Authorization Server Metadata discovery
- OAuth resource indicators in authorization and token requests
- Dynamic Client Registration
- Public clients with
token_endpoint_auth_method: none - Access-token refresh when the server issues a refresh token
OAuth redirect URIs
Authorization servers that enforce a redirect URI allowlist must register the following callback URI:How agents use MCP tools
MCP tools surface to the agent through its tool search, named{server}__{tool}: a server keyed internal-tools with a query_db tool appears as internal-tools__query_db. Only the capy agent gets them; review threads never do.
Before calling a tool, Capy:
- Connects to the configured server and lists its available tools.
- Reads the selected tool’s input schema.
- Calls the tool with schema-valid arguments.
Connect only servers you trust, and keep API keys or static tokens in project environment variables rather than source control.