{"name":"MCP_TOOL_TIMEOUT","slug":"mcp-tool-timeout","family":"env","title":"Environment variables","noun":"environment variable","description":"Two new env vars set how many MCP servers connect at once, local and remote.","description_source":"entry","described_by":{"version":"2.1.248","anchor":"mcp-timeout-and-two-new-connection-batch-size-settings"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":150,"mined_builds":150,"first_cited":{"version":"2.1.248","released_at":"2026-08-27 20:35:36","spans":1}},"aliases":[],"entries":[{"version":"2.1.248","anchor":"mcp-timeout-and-two-new-connection-batch-size-settings","heading":"MCP timeout and two new connection batch-size settings","line":"Two new env vars set how many MCP servers connect at once, local and remote.","released_at":"2026-08-27 20:35:36","reason":"named in this entry, found in this entry's text"},{"version":"2.1.248","anchor":"mcp-environment-variables-parsed-once-with-bounds","heading":"MCP environment variables parsed once, with bounds","line":"MCP_TOOL_TIMEOUT is parsed with a minimum of 1 and ENABLE_MCP_LARGE_OUTPUT_FILES only disables when explicitly false.","released_at":"2026-08-27 20:35:36","reason":"named in this entry, found in this entry's text"},{"version":"1.0.8","anchor":"timeout-configuration","heading":"Timeout Configuration","line":null,"released_at":"2025-06-02 16:16:32","reason":"found in this entry's text"},{"version":"0.2.55","anchor":"mcp-tool-timeout","heading":"MCP Tool Timeout","line":null,"released_at":"2025-03-26 21:40:53","reason":"found in this entry's text"}],"entries_total":4,"docs":[{"source":"claude-code","path":"agent-sdk\/mcp","title":"Connect to external tools with MCP","documented":false},{"source":"claude-code","path":"agent-sdk\/typescript","title":"Agent SDK reference - TypeScript","documented":false},{"source":"claude-code","path":"env-vars","title":"Environment variables","documented":false},{"source":"claude-code","path":"mcp","title":"Connect Claude Code to tools via MCP","documented":false},{"source":"claude-docs","path":"connectors\/building\/index","title":"Build an MCP server for Claude","documented":false},{"source":"claude-docs","path":"third-party\/claude-desktop\/code","title":"Code in Claude Desktop on 3P","documented":false}],"docs_total":6,"gates":[],"related":[{"name":"MCP_CLIENT_SECRET","slug":"mcp-client-secret","description":"OAuth client secret for an MCP server, used instead of prompting. When the client secret is requested and `MCP_CLIENT_SECRET` is non-empty, its value is used; otherwise Claude Code prompts `Enter OAuth client secret: ` on stderr, and with no TTY it fails with `No TTY available to prompt for client secret. Set MCP_CLIENT_SECRET env var instead.`"},{"name":"MCP_CONNECT_TIMEOUT_MS","slug":"mcp-connect-timeout-ms","description":"Very large MCP_TIMEOUT values are capped instead of overflowing and timing out instantly."},{"name":"MCP_CONNECTION_NONBLOCKING","slug":"mcp-connection-nonblocking","description":"Five more environment variables, including stream and byte watchdogs, can be set in settings.json."},{"name":"MCP_DISCOVERY_CACHE","slug":"mcp-discovery-cache","description":"Startup no longer dials cached HTTP or SSE MCP servers; they restore from cache and connect on first use."},{"name":"MCP_DISCOVERY_CACHE_MAX_STALE_S","slug":"mcp-discovery-cache-max-stale-s","description":"Cached MCP server discovery is dropped after repeated connection failures instead of only on age."},{"name":"MCP_DISCOVERY_CACHE_STRIKES","slug":"mcp-discovery-cache-strikes","description":"Cached MCP server discovery is dropped after repeated connection failures instead of only on age."},{"name":"MCP_DISCOVERY_CACHE_TTL_S","slug":"mcp-discovery-cache-ttl-s","description":"Cached MCP server discovery is dropped after repeated connection failures instead of only on age."},{"name":"MCP_OAUTH_CALLBACK_PORT","slug":"mcp-oauth-callback-port","description":"About 220 environment variables now parse and validate in one place, including bounds checks."},{"name":"MCP_OAUTH_CLIENT_METADATA_URL","slug":"mcp-oauth-client-metadata-url","description":"MCP OAuth stops sending a client id that only works for loopback, and repairs saved entries."},{"name":"MCP_PROTOCOL_NEGOTIATION","slug":"mcp-protocol-negotiation","description":"A newer MCP protocol handshake exists per transport but every gate falls back to legacy here."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/mcp-tool-timeout","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}