写 MCP 服务,光会调 API 不够,还要把工具、资源、提示词的 schema、参数校验、传输层都做对。官方 TypeScript SDK 把这套地基铺好了:服务端、客户端双端齐全,stdio、Streamable HTTP、SSE 全支持,类型完备,和 MCP 规范同步。无论你是要造轮子还是用轮子,它都是 TypeScript 世界的「标准件」。
对已经熟悉 TypeScript 的团队来说,这个 SDK 意味着你不必再从零理解协议细节,就能把任意内部能力封装成 MCP 工具或资源。它也是 FastMCP 等上层框架的底座,理解它就理解了生态的根。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | typescript-sdk |
| GitHub地址 | https://github.com/modelcontextprotocol/typescript-sdk |
| 项目描述 | The official TypeScript SDK for Model Context Protocol servers and clients |
| 作者 | modelcontextprotocol |
| 开源协议 | MIT / Apache-2.0 |
| 开源状态 | 公开 |
| Languages | TypeScript |
| Stars | 13,659 |
| Forks | 2,342 |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-10-27 |
一、项目介绍
modelcontextprotocol/typescript-sdk 是 MCP 协议的官方 TypeScript 实现,由协议方直接维护。它提供 servers 与 clients 两端能力,支持 stdio、Streamable HTTP、SSE 三种标准传输,让你既能把工具、资源、提示词暴露给任意 MCP 主机,也能连接任意 MCP 服务。当前 v2 实现 2026-07-28 规范,配套文档含入门、迁移与 API 参考。
二、核心优势
- 官方正统:协议方维护,与规范同步。
- 双端齐全:既能建服务端,也能建客户端。
- 全传输:stdio、Streamable HTTP、SSE 全覆盖。
- 文档完善:含入门、v2 新特性、API 参考与迁移指南。
- 生态枢纽:FastMCP 等上层框架都基于它。
三、适用场景
- 需要深度控制 MCP 行为或自定义传输时。
- 教学、研究 MCP 协议机制。
- 构建企业级、强类型约束的 MCP 服务。
- 作为其他 Python/TS MCP 框架的底层依赖。
四、安装教程
需要 Node.js 18+,安装服务端或客户端包:
npm install @modelcontextprotocol/server
npm install @modelcontextprotocol/client若要用框架中间件(Express/Fastify/Hono/Node HTTP),按需另装对应包。常见报错:Node 版本过低——升级到 18+;@scope 包装不上——确认 npm registry 可达;类型报错——对齐 v2 与 v1 的 API 差异。
五、使用示例
用服务端包定义一个工具:
import { McpServer } from "@modelcontextprotocol/server";
const server = new McpServer({ name: "demo", version: "1.0.0" });
server.tool("add", { a: z.number(), b: z.number() }, async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }]
}));
server.start();客户端侧可建立连接、枚举工具并调用,完成「AI 应用 ↔ MCP 服务」的标准握手。
六、常见问题
- 2.x 和 1.x 区别大吗?有较大改进,官方提供迁移指南。
- 支持异步吗?支持 async/await。
- 和 FastMCP 框架重复吗?SDK 是底层,FastMCP 是上层封装,二者互补。
- 能同时开多个传输吗?按部署需求选择其一即可。
七、总结
官方 TypeScript SDK 是 MCP 在 TS 世界的「标准件」。框架可以换,但协议与边界由它定义。无论你是造轮子还是用轮子,先摸清这个 SDK,都会少走很多弯路。
评论 0
还没有评论,来说两句吧。