Connect Claude Code to tools via MCP changedmcp
Nearest release: v2.1.285, published 10 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 30 Sep 2026 04:31 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 30 Sep 2026 04:37 UTC.
Upstream edited
Recorded here
Lines+3added
Lines−3removed
From line
480
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits83to this page, all time
The whole hunk
from line 480, old and new numbered
/
from line 480
480480 * In [cloud sessions](/docs/en/claude-code-on-the-web), an MCP call to a plugin server that isn't connected yet, such as right after an idle session wakes, starts the server on demand and waits for it to connect
481481* **Path placeholders**: `${CLAUDE_PLUGIN_ROOT}` resolves to the plugin's installation directory, `${CLAUDE_PLUGIN_DATA}` to its [persistent state](/docs/en/plugins/components#path-variables-and-persistent-data) directory, and `${CLAUDE_PROJECT_DIR}` to the stable project root. Substitution applies to:
482482 * `stdio` servers: `command`, `args`, `env`
483 * `http`, `sse`, and `ws` servers: `url`, `headers`, and `headersHelper`. Before v2.1.195, `headersHelper` passed the placeholder through as a literal string
483 * `http`, `sse`, and `ws` servers: `url`, `headers`, and `headersHelper`
484484* **User environment access**: access to the same environment variables as manually configured servers
485485* **Multiple transport types**: support for stdio, SSE, HTTP, and WebSocket transports, though transport support may vary by server
486486
from line 993
993993
994994| Where you configured the server | Working directory |
995995| :- | :- |
996| A [plugin](/docs/en/plugins/components#mcp-servers) | The plugin's root directory. Requires Claude Code v2.1.195 or later |
996| A [plugin](/docs/en/plugins/components#mcp-servers) | The plugin's root directory |
997997| A project `.mcp.json` or a [local-scope](#local-scope) server | The project directory the server is declared in |
998998| An agent file in your project, a server from the SDK's `mcpServers` option or `setMcpServers()` method, or [`--mcp-config`](/docs/en/cli-reference) | The session's [primary working directory](/docs/en/permissions#working-directories) |
999999| [User scope](#user-scope), [managed MCP](/docs/en/managed-mcp), a [claude.ai connector](#use-mcp-servers-from-claude-ai), or an agent file from outside your project, including one from an `--add-dir` directory | Your configuration directory, `~/.claude` unless you set [`CLAUDE_CONFIG_DIR`](/docs/en/env-vars) |
from line 1306
13061306
13071307Your server receives whichever arguments Claude chose, so keep validating the combination server-side.
13081308
1309When Claude Code can't produce a schema the API accepts, or on a deployment that doesn't receive the remote configuration that enables the rewrite, it skips that one tool, records the reason in the server's log, and leaves the server's other tools available. Versions earlier than v2.1.195 skip every tool whose input schema has a root-level `anyOf`, `oneOf`, or `allOf`.
1309When Claude Code can't produce a schema the API accepts, or on a deployment that doesn't receive the remote configuration that enables the rewrite, it skips that one tool, records the reason in the server's log, and leaves the server's other tools available.
13101310
13111311## Tools with invalid input schemas
13121312
No line in this hunk matches that.