| Package | Version |
|---|---|
@modelcontextprotocol/client
| 2.4.0 |
@modelcontextprotocol/server
| 2.4.0 |
@modelcontextprotocol/core
| 2.4.0 |
@modelcontextprotocol/server-legacy
| 2.4.0 |
@modelcontextprotocol/codemod
| 2.4.0 |
@modelcontextprotocol/node
| 2.1.2 |
@modelcontextprotocol/express, hono, fastify
| unchanged |
Upgrade notes
x-mcp-headeron anumberparameter is rejected, as the 2026-07-28 spec requires: the client does not list such a tool, and the server answers a call to it with-32020. Usez.int()or remove the annotation. (#2762, #2960)outputSchemafromz.object(...).meta({ id }). On a 2025-11-25 connection the result is no longer wrapped in{ result }: readstructuredContent, notstructuredContent.result. (#3081)- The bundled Ajv validator uses fast-uri 3.1.8. It rejects a
$idor$refwith an invalid URI scheme, such asmy_tool:output. (#3083)
New
- Skills over MCP (SEP-2640). A server publishes a folder of skills with
loadSkills(folder)andskills.attach(server); a client lists, reads and verifies them withSkillsClient. It works on 2025-11-25 and 2026-07-28.attachis experimental and may change in a minor release. (#3047, #3080) - Opt-in
scopeon token refresh. ImplementscopeForRefresh(tokens)on yourOAuthClientProviderfor an authorization server that rejects a refresh withoutscope(Microsoft Entra ID,AADSTS90009). The default request does not change. (#3085) ServerEventtakes optionalparams, so a gateway can forward change notifications with their_meta. (#3057)- The v1 to v2 upgrade guide is also an installable agent skill. (#2968)
Fixes
update({ title })on a resource or resource template shows up in list responses. (#3005)- A
Serverconnected to a per-request transport at a modern revision binds that revision instead of answering-32022. (#3057) createMcpHandlersendsAllow: POSTon every405. (#3002)@modelcontextprotocol/nodeaccepts@hono/node-server1.x or 2.x; a new install resolves 2.x. (#3084)