modelcontextprotocol/typescript-sdk
Last release:
The MCP TypeScript SDK is the official TypeScript implementation for building Model Context Protocol servers and clients for Node.js, Bun, and Deno. It provides server and client libraries plus optional middleware adapters to wire MCP into runtimes like Node.js HTTP, Express, and Hono. It is useful if you want to expose or consume MCP tools, resources, and prompts from a TypeScript app.
Project status
- Actively maintained: The source has very recent GitHub activity (last upstream push on 2026-07-15), and multiple package updates were published within a short window in mid-July 2026 (not a long quiet period), indicating ongoing development.
- Update cadence: Recent changes include several related updates across core and ecosystem packages on 2026-07-13 (server, client, core, and multiple adapters), followed by an upstream push the next day (2026-07-15). This suggests an active, fast-moving beta cycle rather than occasional maintenance.
AI summary generated
Recent updates
@modelcontextprotocol/node@2.0.0-beta.5
This beta release (@modelcontextprotocol/node@2.0.0-beta.5) contains only dependency updates, with no new functionality or behavioral changes documented in the release notes. It bumps the bundled/related @modelcontextprotocol/server dependency to the corresponding @2.0.0-beta.5 version.
@modelcontextprotocol/core@2.0.0-beta.5
This beta release aligns the TypeScript MCP wire behavior with the final 2026 spec revision. It changes where server identity information is carried in discovery results and makes the request envelope clientInfo optional, which fixes prior handshake and validation mismatches.
BreakingFeatures@modelcontextprotocol/server@2.0.0-beta.5
This beta aligns the TypeScript MCP wire format with the final 2026 spec revision, moving server identity information into the discover result `_meta` and making `clientInfo` in the request envelope optional. It also restores v1-compatible imports by exporting `Protocol` and `mergeCapabilities` from the `@modelcontextprotocol/client` and `@modelcontextprotocol/server` package roots, with codemod updates to rewrite affected imports.
BreakingFeatures@modelcontextprotocol/fastify@2.0.0-beta.5
This is a patch release of @modelcontextprotocol/fastify beta.5 that primarily updates its dependency on @modelcontextprotocol/server to version 2.0.0-beta.5. No user-facing API, behavior changes, or fixes are explicitly called out in the release notes.
@modelcontextprotocol/express@2.0.0-beta.5
This is a beta.5 patch release of @modelcontextprotocol/express. The release notes only mention dependency updates, specifically aligning with @modelcontextprotocol/server@2.0.0-beta.5.
@modelcontextprotocol/hono@2.0.0-beta.5
modelcontextprotocol/hono@2.0.0-beta.5 is a dependency-only patch release. It updates the underlying @modelcontextprotocol/server dependency to version 2.0.0-beta.5, without any new features or behavioral changes explicitly documented in the release notes.
@modelcontextprotocol/server-legacy@2.0.0-beta.5
This beta patch release updates the server-legacy package to depend on @modelcontextprotocol/core version 2.0.0-beta.5. No direct behavioral or API changes are described in the release notes beyond the dependency bump.
@modelcontextprotocol/client@2.0.0-beta.5
This beta release updates the client to align fully with the 2026-07-28 wire revision, including moving server identity to result `_meta` and demoting per-request `clientInfo` to SHOULD. It also adds support for cached era verdicts via `ConnectOptions.prior`, improves stdio version negotiation by probing on a disposable sibling process, and restores v1 compatibility by exporting `Protocol` and `mergeCapabilities` from the package roots.
BreakingFeatures@modelcontextprotocol/codemod@2.0.0-beta.5
This codemod release restores v1-compatible imports for MCP consumers by exporting the `Protocol` base class and `mergeCapabilities` from the `@modelcontextprotocol/client` and `@modelcontextprotocol/server` package roots. It also updates codemod rewriting so `Protocol` and `mergeCapabilities` imports are rewritten to the appropriate client or server root (instead of being dropped with an action-required marker).
@modelcontextprotocol/express@2.0.0-beta.4
This beta patch release updates the express package dependency on @modelcontextprotocol/server to version 2.0.0-beta.4. Release notes do not list any express-specific API, behavior, or bug fix changes beyond the dependency bump.
@modelcontextprotocol/codemod@2.0.0-beta.4
This beta patch release updates how the codemod package is versioned, aligning its version with the core SDK packages. The change is intended to match the shared-version guarantee referenced in the migration guide.
@modelcontextprotocol/node@2.0.0-beta.4
This beta.4 release of @modelcontextprotocol/node is a patch update focused on dependency alignment. The release notes indicate it updated @modelcontextprotocol/server to version 2.0.0-beta.4, with no additional behavioral or API changes documented.
@modelcontextprotocol/core@2.0.0-beta.4
This beta release changes how schema sources are provided to the SDK by moving the spec schemas, OAuth schemas, and protocol constants into @modelcontextprotocol/core and resolving them as a shared runtime dependency. As a result, applications importing multiple MCP packages now evaluate a single shared schema graph with shared object identity, which can change behavior for code that relies on object identity. It also adds an @modelcontextprotocol/core internal subpath (not a stable contract).
BreakingFeatures@modelcontextprotocol/server-legacy@2.0.0-beta.4
In @modelcontextprotocol/server-legacy@2.0.0-beta.4, the package now resolves its schema source modules from @modelcontextprotocol/core as a regular runtime dependency, so apps importing multiple MCP packages share a single schema graph with shared object identity. It also changes protocol-revision wire schema construction to be lazy (built on first validation) to avoid upfront import-time cost. Package versions are aligned with @modelcontextprotocol/core (beta.4).
BreakingFeatures@modelcontextprotocol/client@2.0.0-beta.4
This release (client 2.0.0-beta.4) introduces schema warm-up controls and shifts substantial runtime cost from module import time to first use (with optional eager warm-up for isolate-based platforms). It also changes the response cache implementation to store JSON-serialized documents as strings rather than relying on `structuredClone` and live object graphs, and it relocates shared schema sources to `@modelcontextprotocol/core`.
BreakingFeatures@modelcontextprotocol/fastify@2.0.0-beta.4
This beta patch release primarily updates dependencies, specifically bumping @modelcontextprotocol/server to 2.0.0-beta.4. No direct Fastify API or behavioral changes are described in the release notes.
@modelcontextprotocol/server@2.0.0-beta.4
This beta updates the TypeScript SDK server behavior to reduce startup and import-time costs by constructing validation and wire-schema resources lazily. It also introduces an explicit schema preloading API for environments where CPU billing during module evaluation makes lazy construction disadvantageous, and it centralizes schema sources in @modelcontextprotocol/core to share a single schema graph across packages.
BreakingFeatures@modelcontextprotocol/hono@2.0.0-beta.4
This beta patch release updates the @modelcontextprotocol/server dependency to version 2.0.0-beta.4. No other user-facing changes are described in the release notes.
@modelcontextprotocol/codemod@2.0.0-beta.3
This beta release focuses on making the codemod-generated output more accurate and interoperable. It updates how the codemod determines v2 package versions during migrations (avoiding stale generated version metadata), and it also includes related changes around Bearer authentication support and RFC 7235 quoting behavior.
SecurityFeatures@modelcontextprotocol/core@2.0.0-beta.3
This release restores backward-compatible parsing tolerance for legacy inbound tool call results that omit CallToolResult.content. Previously, such requests could fail validation and surface as INVALID_RESULT errors before application code ran.