3.9 KiB
MCP TypeScript SDK
Table of Contents
Overview
The Model Context Protocol (MCP) allows applications to provide context for LLMs in a standardized way, separating the concerns of providing context from the actual LLM interaction.
This repository contains the TypeScript SDK implementation of the MCP specification and ships:
- MCP server libraries (tools/resources/prompts, Streamable HTTP, stdio, auth helpers)
- MCP client libraries (transports, high-level helpers, OAuth helpers)
- Runnable examples (under
examples/)
Packages
This monorepo publishes split packages:
@modelcontextprotocol/server: build MCP servers@modelcontextprotocol/client: build MCP clients
Both packages have a required peer dependency on zod for schema validation. The SDK internally imports from zod/v4, but remains compatible with projects using Zod v3.25+.
Installation
Server
npm install @modelcontextprotocol/server zod
Client
npm install @modelcontextprotocol/client zod
Quick Start (runnable examples)
The runnable examples live under examples/ and are kept in sync with the docs.
- Install dependencies (from repo root):
pnpm install
- Run a Streamable HTTP example server:
pnpm --filter @modelcontextprotocol/examples-server exec tsx src/simpleStreamableHttp.ts
Alternatively, from within the example package:
cd examples/server
pnpm tsx src/simpleStreamableHttp.ts
- Run the interactive client in another terminal:
pnpm --filter @modelcontextprotocol/examples-client exec tsx src/simpleStreamableHttp.ts
Alternatively, from within the example package:
cd examples/client
pnpm tsx src/simpleStreamableHttp.ts
Next steps:
- Server examples index:
examples/server/README.md - Client examples index:
examples/client/README.md - Guided walkthroughs:
docs/server.mdanddocs/client.md
Documentation
- Local SDK docs:
- docs/server.md – building MCP servers, transports, tools/resources/prompts, CORS, DNS rebinding, and deployment patterns.
- docs/client.md – using the high-level client, transports, backwards compatibility, and OAuth helpers.
- docs/capabilities.md – sampling, elicitation (form and URL), and experimental task-based execution.
- docs/faq.md – environment and troubleshooting FAQs (including Node.js Web Crypto support).
- External references:
v1 (legacy) documentation and fixes
If you are using the v1 generation of the SDK, the v1 documentation (and any v1-specific fixes) live on the long-lived v1.x branch. See:
https://github.com/modelcontextprotocol/typescript-sdk/tree/v1.x.
Contributing
Issues and pull requests are welcome on GitHub at https://github.com/modelcontextprotocol/typescript-sdk.
License
This project is licensed under the MIT License—see the LICENSE file for details.