typescript-sdk README

The project's README from github.com/modelcontextprotocol/typescript-sdk. As one markdown file: README.md.

MCP TypeScript SDK

[!IMPORTANT] This is the main branch — v2 of the SDK (@modelcontextprotocol/server, @modelcontextprotocol/client), implementing the 2026-07-28 MCP spec.

Have feedback? Please open a v2 issue — it is the most useful thing you can do for the SDK right now. The v2 documentation starts with a ten-minute server tutorial.

v2 is the stable release line, released alongside the 2026-07-28 spec. v1.x continues to receive bug fixes and security updates for at least 6 months after v2's release. v1 documentation: ts.sdk.modelcontextprotocol.io · v2: /v2/.

[!WARNING] We're limiting pull requests to 1 per new contributor while v2 settles after the 2026-07-28 spec release.

Issues are the most useful feedback right now — we'll reopen PRs as v2 stabilizes.

NPM Version - Server NPM Version - Client MIT licensed

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. It runs on Node.js, Bun, and Deno, and ships:

Packages

This monorepo publishes split packages:

Tool and prompt schemas use Standard Schema — bring Zod v4, Valibot, ArkType, or any compatible library.

Middleware packages (optional)

The SDK also publishes small "middleware" packages under packages/middleware/ that help you wire MCP into a specific runtime or web framework.

They are intentionally thin adapters: they should not introduce new MCP functionality or business logic. See packages/middleware/README.md for details.

Installation

Server

npm install @modelcontextprotocol/server
# or
bun add @modelcontextprotocol/server
# or
deno add npm:@modelcontextprotocol/server

Client

npm install @modelcontextprotocol/client
# or
bun add @modelcontextprotocol/client
# or
deno add npm:@modelcontextprotocol/client

Optional middleware packages

The SDK also publishes optional “middleware” packages that help you wire MCP into a specific runtime or web framework (for example Express, Fastify, Hono, or Node.js http).

These packages are intentionally thin adapters and should not introduce additional MCP features or business logic. See packages/middleware/README.md for details.

# Node.js HTTP (IncomingMessage/ServerResponse) Streamable HTTP transport:
npm install @modelcontextprotocol/node

# Express integration:
npm install @modelcontextprotocol/express express

# Fastify integration:
npm install @modelcontextprotocol/fastify fastify

# Hono integration:
npm install @modelcontextprotocol/hono hono

Getting Started

Here is what an MCP server looks like. This minimal example exposes a single greet tool over stdio:

import { McpServer } from '@modelcontextprotocol/server';
import { StdioServerTransport } from '@modelcontextprotocol/server/stdio';
import * as z from 'zod/v4';

const server = new McpServer({ name: 'greeting-server', version: '1.0.0' });

server.registerTool(
    'greet',
    {
        description: 'Greet someone by name',
        inputSchema: z.object({ name: z.string() })
    },
    async ({ name }) => ({
        content: [{ type: 'text', text: `Hello, ${name}!` }]
    })
);

async function main() {
    const transport = new StdioServerTransport();
    await server.connect(transport);
}

main();

Ready to build something real? Follow the step-by-step tutorials:

For runnable, end-to-end examples beyond the tutorials, see:

Documentation

Building docs locally

To work on the documentation site locally:

pnpm docs:api      # Generate the API reference markdown (output: docs/api/)
pnpm docs:dev      # Start the VitePress dev server for the V2 site
pnpm docs:build    # Build the V2 site (output: docs/.vitepress/dist/)
pnpm docs:multi    # Build the combined V1 + V2 site (output: tmp/docs-combined/)

The docs:multi script builds the V2 site from the current checkout, checks out the v1.x branch via a git worktree to build the V1 site, and produces a combined site with V1 docs at the root and V2 docs under /v2/.

v1 (legacy) documentation and fixes

If you are using the v1 generation of the SDK, the v1 API documentation is available at https://ts.sdk.modelcontextprotocol.io/. The v1 source code and any v1-specific fixes live on the long-lived v1.x branch. V2 API docs are at /v2/.

Contributing

Issues and pull requests are welcome on GitHub at https://github.com/modelcontextprotocol/typescript-sdk.

License

This project is licensed under the Apache License 2.0 for new contributions, with existing code under MIT. See the LICENSE file for details.

typescript-sdk (modelcontextprotocol/typescript-sdk)

Searching Database…

这是什么?这是 Model Context Protocol(MCP)的官方 TypeScript SDK,让应用通过构建 MCP 服务器和客户端,为大语言模型(LLM)提供标准化的上下文。
这是一个 SDK,还是拆分成了多个独立的包?它是一个单一代码仓库(monorepo),分别发布 @modelcontextprotocol/server 和 @modelcontextprotocol/client 两个独立的包,另外还提供可选的轻量中间件适配器,支持 Express、Fastify、Hono 以及 Node 的 http 模块。
我该怎么用它搭建第一个 MCP 服务器?按照官方的分步教程操作:安装服务器包,然后运行一个最简示例,比如通过 stdio 提供一个 greet 工具,大约十分钟即可完成。
它支持哪些 JavaScript 运行时?它可以在 Node.js、Bun 和 Deno 上运行。如果选择 Node.js,package.json 要求 Node >=20,除此之外没有其他运行时依赖。
v2 现在可以直接用吗?v2 是与 2026-07-28 规范相匹配的新稳定版本线,但仍在完善中:维护者目前将每位新贡献者的外部拉取请求(PR)限制为一个,并更希望收到 issue 反馈。v2 发布后,v1.x 至少还会持续获得 6 个月的 bug 和安全修复。
这个 SDK 支持哪些 MCP 通信传输方式?内置 stdio 和 Streamable HTTP 两种传输方式,另外还提供 OAuth 辅助工具,用于保护客户端与服务器之间的连接。
Express 或 Hono 这类中间件包会额外添加 MCP 功能吗?不会。它们被刻意设计成轻量适配器,只负责 Host 请求头校验和请求体解析等工作,不应引入新的 MCP 功能或业务逻辑。
工具和提示词可以使用任意 Schema 库吗?可以。Schema 采用 Standard Schema 接口,因此 Zod v4、Valibot、ArkType 或任何兼容的库都能使用,不会被锁定在某一种校验器上。
除了教程之外,在哪里能找到可以直接运行的示例?examples/ 目录中有可自我验证的客户端/服务器示例对,每个目录对应一个完整场景,说明文档见 examples/README.md。
Size
19.8 MB
Stars
13.6K
Age
2y
Commits · 90 Days