servers v2.0.0
- Source
- github.com
- Author
- cliffhall
- Date

Context
Version 2.0.0 of the servers in the project's own servers repository, covering filesystem access, memory, git, web fetching, time and others, moves every one of them to the protocol's newest specification while still answering older clients (release notes). That revision, dated 2026-07-28 and covered separately, retires the initialize exchange that used to open every connection along with the session ID: each request now carries its own protocol version, client identity and capabilities, so any request can land on any server instance (specification announcement). The release calls this the modern era and the 2025 protocol the legacy era. For the four TypeScript servers, the pull request that made the change says each one serves both eras from the same process, and on a local stdio connection the client's first message decides which one that connection uses: an initialize call means the 2025 protocol, while a server/discover call or a request carrying the new per-request metadata means 2026-07-28; HTTP connections are routed by a separate set of rules (pull request). The Python servers gained the same dual-era support in a separate change listed in the release notes.
The release also lists changes a client or operator could notice. The TypeScript servers, everything, filesystem, memory and sequential-thinking, now 2.0.0 on npm, raise their minimum Node version to 24, and the filesystem server changes how it handles roots, the directories a client tells it it may use: it now revokes access when an update leaves no valid root, applies only the newest refresh and holds tool calls while a refresh is pending. The Python servers fetch, git and time, published on PyPI as 2026.10.19, are rebuilt on the MCP Python SDK's high-level MCPServer and require mcp 2.3 or later but below 3. Calling a tool that does not exist now returns a JSON-RPC error with code -32602, as the specification requires, instead of an ordinary tool result marked as an error, and the time tools now declare an output schema and return structured data alongside unchanged text. One known issue remains: in the git server, the string null passed as certain branch arguments arrives as no value, which matters only for a branch literally named null and comes from the Python SDK.
- All seven official MCP reference servers were refactored for the modern-era spec while still answering legacy-era clients; the Python fetch, git and time servers serve the 2026-07-28 era beside 2025-11-25.
- The TypeScript servers (everything, filesystem, memory and sequential-thinking) moved to TS SDK v2 at version 2.0.0 and raised their Node floor to 24.
- In the Python servers, calling an unknown tool now returns a JSON-RPC -32602 error instead of an isError result, each server advertises prompts and resources capabilities, and they require mcp>=2.3,<3.
- The filesystem server now revokes access when a roots update leaves no valid root, applies only the newest roots refresh, and holds tool calls while any refresh is pending.
- Known issue: in mcp-server-git, the string "null" passed as base_branch or as a branch filter arrives as no value. The cause is a Python SDK bug, and it affects only a branch literally named null.
- MCP — The Model Context Protocol — an open standard that lets any AI assistant plug into any tool or data source without custom integration code.
Checking sign-in…
Loading comments…


