Skip to contentllms.txt

Claude Code — MCP Configs

File format
JSON
Discovery paths
.claude.json, .mcp.json
Syllago install method
JSON merge
Symlink support
No
Config file
.mcp.json
Transports
stdio, sse, streamable-http

Features

How each feature converts to syllago's canonical format. See format conversion for what these statuses mean.

Fields

Native frontmatter or config fields this provider exposes. The first column is the provider's own field name; the canonical key column links to syllago's cross-provider equivalent.

Config keyConversionCanonical keySummary
oauthTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →OAuth 2.0 for HTTP servers: dynamic client registration or CIMD auto-discovery; pre-configured credentials via --client-id/--client-secret; fixed callback port via --callback-port or oauth.callbackPort; oauth.scopes pins requested scope set (space-separated string per RFC 6749 §3.3; offline_access appended automatically if server advertises it); oauth.authServerMetadataUrl overrides discovery chain; token storage in keychain/credentials file with auto-refresh; MCP_CLIENT_SECRET env var for scripted credential supply.
transportTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →Three transport types: stdio (local process), SSE (deprecated), HTTP/streamable-HTTP (recommended for remote with OAuth support).
allowedMcpServersEmbeddedConversion type: EmbeddedNo canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost.Learn more →Enterprise control via managed-mcp.json (exclusive — users cannot add or modify servers) or allowedMcpServers/deniedMcpServers (policy — users can add servers within constraints) keyed by serverName, serverCommand, or serverUrl.
ENABLE_TOOL_SEARCHNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →MCP tool schemas are deferred via ToolSearch; controlled by ENABLE_TOOL_SEARCH (unset=default defer, true=force defer including Vertex/non-first-party, auto=threshold 10%, auto:N=custom %, false=load all upfront); requires Sonnet 4+ or Opus 4+; Haiku models do not support tool search; disabled by default on Vertex AI and when ANTHROPIC_BASE_URL points to non-first-party host. Per-server alwaysLoad: true (CC v2.1.121+) exempts a server from deferral and blocks startup until connected. Per-tool _meta anthropic/alwaysLoad: true does same for individual tools.
headersHelperNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →headersHelper field specifies a shell command that runs at connection time (10-second timeout) and returns JSON headers; enables Kerberos, short-lived tokens, or custom SSO. Sets CLAUDE_CODE_MCP_SERVER_NAME and CLAUDE_CODE_MCP_SERVER_URL env vars. For project/local scope, runs only after workspace trust dialog acceptance.
MAX_MCP_OUTPUT_TOKENSNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →MAX_MCP_OUTPUT_TOKENS (default 25k) caps tool output; warning displayed at 10k tokens. Per-tool _meta anthropic/maxResultSizeChars raises text limit up to 500k chars for that tool; applies independently of MAX_MCP_OUTPUT_TOKENS for text content. Image data still subject to MAX_MCP_OUTPUT_TOKENS. Oversized results spill to file.
mcpServersNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →Plugins bundle MCP servers via .mcp.json or plugin.json mcpServers key; uses ${CLAUDE_PLUGIN_ROOT}/${CLAUDE_PLUGIN_DATA} variables; reload with /reload-plugins during a session.

Other features

Behaviors, conventions, and capabilities that aren't tied to a single named field — things like path-based activation, discovery rules, and lifecycle behavior.

FeatureConversionSummary
Dynamic Tool Updates via list_changed NotificationsTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →Claude Code honors MCP list_changed notifications, auto-refreshing available tools/prompts/resources without reconnecting.
enterprise_managementTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →mcp_managed_config: managed-mcp.json for exclusive control, or allowedMcpServers/deniedMcpServers in managed settings for policy-based control
env_var_expansionTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →mcp_env_var_expansion: ${VAR} and ${VAR:-default} syntax in command, args, env, url, and headers fields of .mcp.json
Environment Variable Expansion in .mcp.jsonTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →${VAR} and ${VAR:-default} expansion in command, args, env, url, and headers fields of .mcp.json. Missing required variables with no default cause a config parse failure.
oauth_supportTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →mcp_oauth_authentication: OAuth 2.0 for HTTP MCP servers; dynamic client registration or CIMD auto-discovery; token storage in macOS keychain or credentials file; auto-refresh; oauth.scopes pins requested scope set; authServerMetadataUrl overrides discovery chain
resource_referencingTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →mcp_resources: MCP resources accessible via @server:protocol://path syntax; appear in @ autocomplete; auto-fetched when referenced
Three Installation Scopes (local, project, user)TranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →Three install scopes: local (~/.claude.json per-project, default; was 'project' in older CC versions), project (.mcp.json shareable with team), user (~/.claude.json global across projects; was 'global' in older CC versions). Scope precedence: local > project > user > plugin-provided > claude.ai connectors. The workspace server name is reserved and skipped at load time.
transport_typesTranslatedConversion type: TranslatedActively mapped to the target provider’s equivalent field during conversion.Learn more →mcp_transport_types: stdio (local process), SSE (deprecated, still supported), HTTP/streamable-HTTP (recommended for remote)
MCP Elicitation (Mid-Task User Input)EmbeddedConversion type: EmbeddedNo canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost.Learn more →MCP servers request mid-task user input via elicitation protocol (form or URL mode); interceptable by Elicitation hook events.
MCP Prompts as Slash CommandsEmbeddedConversion type: EmbeddedNo canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost.Learn more →MCP server prompts surface as /mcp__<servername>__<promptname> slash commands with space-separated arguments. Server and prompt names are normalized; spaces become underscores.
MCP Resources via @-MentionEmbeddedConversion type: EmbeddedNo canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost.Learn more →MCP resources referenced via @server:protocol://path syntax; appear in @ autocomplete and auto-fetched when included. Resource paths are fuzzy-searchable.
Automatic Reconnection with Exponential BackoffNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →HTTP and SSE servers reconnect automatically on disconnect: up to 5 attempts, starting at 1s, doubling each retry; initial connection retried up to 3 times for transient errors (CC v2.1.121+); authentication and not-found errors are not retried. stdio servers are not reconnected.
Claude Code as an MCP ServerNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →claude mcp serve exposes Claude's internal tools (View, Edit, LS, etc.) over MCP for consumption by other clients.
Claude.ai Connector ServersNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →MCP servers configured in Claude.ai are automatically available in Claude Code when logged in with a Claude.ai account. Local server definitions take precedence over claude.ai connectors at the same endpoint. Disable via ENABLE_CLAUDEAI_MCP_SERVERS=false.
Import MCP Servers from Claude DesktopNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →claude mcp add-from-claude-desktop interactively imports server configs from Claude Desktop (macOS and WSL only).
MCP Channels for Push MessagesNot portableConversion type: Not portableUnique to this provider — can’t be carried across providers.Learn more →MCP servers declaring claude/channel capability can push messages into a session (CI results, alerts, webhooks); opted in via --channels flag.

Sources

Source
https://code.claude.com/docs/en/mcp.md