使用说明
🧩 模型上下文协议(MCP)服务器 —— TypeScript 示例
基于TypeScript的 模型上下文协议(MCP) 用于测试本地工具、VS Code Copilot Chat 与大型语言模型(LLM)代理之间互操作性的服务器。
这个仓库用于追踪构建(某项目/系统)的进度 符合规范、安全、可观测且可投入生产的 MCP服务器实现。
🚀 概述
这个项目展示了:
- 一个最小的 MCP服务器 使用官方 @modelcontextprotocol/sdk 翻译为中文是:“@模型上下文协议/开发工具包”
- 两辆运输车:
stdio用于本地/编辑器集成Streamable HTTP用于ChatGPT/Copilot Chat连接
- 两个例子:
- 工具:
add– 执行加法运算 - 资源:
greeting– 返回一条问候消息
- 工具:
🧰 快速入门
# install dependencies
npm install
# run in dev mode
npm run dev
# build + start production
npm run build && npm start
验证服务器
curl -s http://localhost:3000/healthz
# → OK
curl -s http://localhost:3000/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
🧩 与 VS Code 的集成(Copilot Chat)
- 创建
.vscode/mcp.json{ "servers": { "my-server": { "type": "http", "url": "http://localhost:3000/mcp" } }, "defaultContexts": [ { "server": "my-server" } ] } - 重新加载窗口
你会看到的 my-server(MCP 服务器) 自动列在Copilot聊天中。 - 在聊天中测试→ 应该返回您计算的结果。
call add with { "a": 3, "b": 5 }
🧠 核心目标与追踪
| 类别 | 目标 | 描述 | 状态 |
|---|---|---|---|
| (无对应中文) | (无对应中文) | (无对应中文) | (无对应中文) |
| . | ☐ 计划中 | ** | |
| 为工具输入/输出定义Zod模式;使用符合规范的错误拒绝无效负载。 | ☐ 计划中 | ** | |
| 支持stdio和可流式HTTP;记录任何行为差异。 | ☐ 计划中 | ** | |
| 展示只读资源与可操作工具的清晰示例。 | ☐ 计划中 | ** | ** 安全与认证 ** |
| ), 返回401/403状态码,记录失败尝试,支持密钥轮换。 | ☐ 计划中 | ** | |
| 添加速率限制、超时设置和敏感数据遮蔽功能。 | ☐ 计划中 | ** | ** 可靠性与性能 ** |
| 尊重客户取消请求,并强制执行服务器端超时设置。 | ☐ 已计划 | ** | |
| 限制飞行中的请求;优雅地卸载负载。 | ☐ 已计划 | ** | |
| 结构化日志(请求ID、延迟、状态)和基本指标。 | ☐ 计划中 | ** | ** 开发者体验 ** |
| 将传输、认证、处理程序和适配器分开。 | ☐ 计划中 | ** | |
| . | ☐ 计划中 | ** | |
| ), 热加载,.env 支持,TS 客户端。 | ☐ 计划中 | ** | |
| 将每个目标映射到相关的MCP文档和服务器文件。 | ☐ 计划中 | ** | ** 兼容性 ** |
| 使用TS客户端+Copilot Chat验证流程;注意供应商的特殊性。 | ☐ 计划中 | ** | |
| )并优雅地弃用。 | ☐ 计划中 | ** | ** 生产化(或实现工业化生产) ** |
| 添加Dockerfile、健康/就绪检查、资源限制。 | ☐ 计划中 | ** | |
| 遵循12因素原则;无需重启即可轮换密钥。 | ☐ 计划中 | ** | |
| 记录每次通话的参与者/内容/时间。 | ☐ 计划中 | ** | |
| 定义可用性和延迟目标(99.9% / p95)。 | ☐ 计划中 | ** | ** 拉伸 ** |
| 对于长时间任务使用分块传输编码响应。 | ☐ 计划中 | ** | |
| 每个工具的配额/范围;开发/测试/生产环境配置文件。 | ☐ 计划中 | ** | |
| 抽象外部系统(如ServiceNow、Workday等)。 | ☐ 计划中 | ** |
根据Zod模式自动生成API/工具文档。| ☐ 计划中 |
- 🧩 参考文献 模型上下文协议规范:
- modelcontextprotocol.io/文档(或“modelcontextprotocol.io/文档指南”) TypeScript SDK(软件开发工具包):
- github.com/modelcontextprotocol/typescript-sdk 翻译为中文是:“github.com 上的 modelcontextprotocol/typescript-sdk 项目”。不过,通常我们不会直接翻译网址,而是直接使用原网址或在需要说明时简要提及。如果非要翻译整个表述,也可以是:“在 GitHub 上的 modelcontextprotocol 项目的 TypeScript SDK” Copilot Chat MCP 文档:
code.visualstudio.com/docs/copilot/customization/mcp-servers 的中文翻译是:“code.visualstudio.com 的文档:Copilot 自定义设置/多连接点服务器(MCP 服务器)”
🛠️ 当前状态
| 领域 | 备注 |
|---|---|
| 服务器 | ✅ HTTP 正常工作,已通过 VS Code Copilot Chat MCP 集成验证。 |
| 已注册。 | greeting |
| 。 | |
| 根据您的指示,以下是原文内容的翻译:。 |
| 日志记录 | ☐ 结构化日志记录和指标待处理。 |
🧾 许可证
麻省理工学院(MIT)
