Release /
Model Context Protocol servers v1.0.0
Edit existing files while preserving their hard links, permissions, and line endings.
Before you upgrade to v1.0.0
6 to fixMake files writable before using `write_file` or `edit_file`; read-only files are now refused. Supply directories or client Roots support: startup without either exits with status 1.
Read the evidence
Create both endpoint entities before `create_relations`; keep `search_nodes` queries at most 2048 characters. Make the memory file writable before mutations.
Read the evidence
Add `--allow-private-ips` only when access to local or internal hosts is needed; Fetch now refuses non-public addresses, including redirects and robots.txt requests, by default.
Read the evidence
Pass a nonempty `files` array to `git_add`; stage changes before `git_commit` outside a merge. Empty commits are refused. Update parsers for `git_show`'s Git-style output.
Read the evidence
`git_add` reports unchanged indexes; checkout reports detached HEAD; invalid branch types and existing branch names yield errors. `--repository` resolves subdirectories to the enclosing repository root.
Use exact, case-sensitive IANA keys in tools and `--local-timezone`, including on macOS; e.g. replace `europe/warsaw` with `Europe/Warsaw`.
Read the evidence
`sequentialthinking` advertises `readOnlyHint: false` and `idempotentHint: false`, reflecting that calls append to thought history.
Dynamic blob resources use `application/octet-stream`; form elicitation tools are listed only for form-capable clients. Unknown HTTP sessions receive 404, missing SSE session IDs 400, duplicate SSE streams 409.
Read the evidence
Use `@modelcontextprotocol/sdk` 1.31.0 or later within 1.x for these legacy releases; the minimum was raised from 1.30.0.
Read the evidence
What changed in v1.0.0
Filesystem overwrites existing files in place and waits for roots refreshes. Memory locks shared storage, Fetch supports SOCKS proxies, Git completes merges, and Time validates exact timezone names and nonexistent local times.
Also: Shared memory writes retain both clients' changes; Fetch blocks private addresses by default; Git and Time reject misleading results.
TypeScript packages 1.0.0 on npm; Fetch, Git and Time 2026.10.10 on PyPI. Python servers require Python 3.10+ and MCP SDK 1.x.
Fixed and improved
`edit_file` preserves CRLF and multiline indentation; overwrites retain inode, hard links and permissions, including files held open on Windows. UNC share-root allow-lists admit descendants.
Read the evidence
Tool calls wait for initial and refreshed roots; stale refresh answers cannot restore revoked access. JSON Schema 2020-12 clients can accept the advertised tool schemas.
Read the evidence
Processes sharing a memory file serialize writes with a lock; saves preserve permission bits and retain unreadable lines unchanged outside the graph.
Read the evidence
`create_entities` reports skipped names in `skipped`; use `add_observations` to extend them. Deletions report missing names or actual deletion counts.
Read the evidence
Fetch through HTTP(S) or SOCKS5 proxies; `socks://` is accepted as `socks5://`. Unusable proxy settings return tool errors.
Read the evidence
`max_length` advertises inclusive integer bounds for schema compatibility; an empty simplified page is reported as a simplification failure even without Node.
`git_show` accepts `<revision>:<path>` for file contents or directory listings, formats commits like Git, and decodes non-UTF-8 patches with replacement characters.
`git_commit` concludes an in-progress merge with all parents, clears merge state, and reapplies the merge autostash; conflicts preserve the stash and are reported.
`convert_time` rejects wall-clock times skipped by a clock change; an invalid `--local-timezone` exits with one explanatory line instead of a traceback.
Branch IDs such as `constructor` and `__proto__` work; failed calls leave thought history unchanged. Thought-log headers no longer contain unintended `undefined` values.
Session resources no longer evict another session's same-named resource; async elicitation respects task TTL, and async tools report already-finished task status messages.
Read the evidence
Streamable HTTP replays only the resumed stream's events, rejects unknown event IDs, and closes sessions on shutdown; occupied ports produce an error and nonzero exit.
Read the evidence
Seeded by @iluxav with Codex, from the release's public sources. Each change links to its evidence.