MCP Servers
Every tool your agent calls beyond the platform's own — GitHub, a browser, an internal
API — comes from an MCP server. The gateway discovers each configured server's tools and
exposes them at SYPHO_MCP_URL, named mcp__<server-name>__<tool-name>; your manifest's
tools/deny_tools then authorize which of them this agent may actually call. See
Tool patterns for the allow/deny syntax.
This page is about MCP servers your agents call at run time. For operating the platform itself from an MCP client like Claude Code, see AI Assistant Access.
There are two ways a server gets there.
Managed and remote MCP servers
Registered centrally — not per manifest — at an organization or application scope, by name and URL. Any manifest in that scope can reference its tools immediately:
{
"tools": ["mcp__github__*"]
}
Nothing else to declare: no custom_mcps entry, no credentials in the manifest. Auth (if
the server needs it) is resolved by server name when the run starts, never carried in
the manifest itself. Register one from the dashboard or POST /mcp-servers.
Custom MCP servers
When the tool you need isn't a managed server, declare your own — sandboxed and run alongside the agent for the lifetime of the run:
{
"custom_mcps": [
{
"name": "internal-crm",
"source": { "type": "git", "url": "git@github.com:acme/crm-mcp.git", "ref": "v1.4.0", "subdirectory": "server" },
"entrypoint": "crm-mcp",
"env": { "CRM_API_KEY": "Sypho<crm_api_key>" },
"resources": { "timeout_ms": 10000, "call_timeout_ms": 30000 }
}
],
"tools": ["mcp__internal-crm__*"]
}
name— howtoolsentries reference it:mcp__internal-crm__*, same convention as managed/remote MCPs.source— where the server's code comes from:git— a Python package run viauvx;subdirectorypoints at the package's path inside the repo when it isn't the repo root.codeartifact— a private Python package via CodeArtifact, run viauvx.npm— a published Node package run vianpx(no separateentrypointneeded —npxinvokes the package's own bin).
entrypoint— the console-script nameuvxinvokes (git/codeartifact sources only).env— environment for the sandboxed MCP process. Each value is either a literal, or"Sypho<alias>"to resolve a secret your manifest declares undersecrets— the real value is injected at startup and never stored on the run.resources.timeout_ms— how long the MCP may take to start.resources.call_timeout_ms— how long one tool call may take (default: the MCP SDK's 60s) — raise this for a tool that waits on a human, for example.