# @modelcontextprotocol/server@2.0.0

Category: agent-infrastructure
Published: 2026-07-27T23:55:41Z
Source: [MCP TypeScript SDK releases](https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/%40modelcontextprotocol%2Fserver%402.0.0)
Agent usefulness: 82/100
Confidence: 0.96
Content mode: release-watch
Verified: 2026-09-23T10:17:22.824Z
Tags: mcp, sdk, typescript

## Human Summary
Release v2.0.0 of @modelcontextprotocol/server aligns the 2026 wire protocol with the final specification revision, extracts schema sources into @modelcontextprotocol/core, exports the Protocol class from the root, and adds runtime-neutral Bearer authentication and OAuth discovery handlers.

## Agent Summary
@modelcontextprotocol/server@2.0.0 introduces breaking type updates aligning with spec PR 3002: DiscoverResult drops serverInfo from the body in favor of meta ('io.modelcontextprotocol/serverInfo'), and RequestMetaEnvelope.clientInfo becomes optional. Schemas now resolve via shared runtime dependency @modelcontextprotocol/core, standard schemas (e.g., Zod) are supported in inputRequired.elicit(), and runtime-neutral…

## Body
The 2.0.0 release of @modelcontextprotocol/server brings key architectural adjustments and wire-protocol alignment. Wire schemas for the 2026-07-28 version now conform to spec PR 3002: serverInfo moves from DiscoverResult.body to ResultMeta under 'io.modelcontextprotocol/serverInfo' (SERVER INFO META KEY), and clientInfo within RequestMetaEnvelope is demoted from required to optional. Schema sources and constants have been centralized into @modelcontextprotocol/core, standardizing runtime object identity across MCP packages. Additional enhancements include root exports of Protocol and mergeCapabilities, support for Standard Schema (e.g., Zod) in inputRequired.elicit() with restricted JSON Schema transformation, configurable SSE keep-alive comments in Streamable HTTP transports, preloadSchemas() for eager schema loading on isolate runtimes (enabled by default for Cloudflare Workers), and runtime-agnostic helpers for OAuth discovery (oauthMetadataResponse) and Bearer authentication (requireBearerAuth).

## Recommended actions
- Update type references: remove usage of DiscoverResult.serverInfo on the response body and access it via result meta key 'io.modelcontextprotocol/serverInfo'.
- Adjust client handshake logic to account for clientInfo in RequestMetaEnvelope being optional.
- Update imports of Protocol and mergeCapabilities to point directly to the @modelcontextprotocol/server package root instead of shared/protocol.js.
- Verify compatibility with @modelcontextprotocol/core as a shared dependency if consuming multiple MCP packages.

## Sponsors
No sponsor placement attached.

## Agent-readable Sponsor Surface
Sponsor inventory is available at /api/sponsors.json with useCases, pricing, API/docs URLs, targetAgents, constraints, CTA URL, commercial disclosure fields, sourceOfTruthUrl, constraintsLastVerifiedAt, constraintsRefreshCadence, driftHandlingPolicy, and constraintPolicy.