模型上下文协议服务器

一个基于TypeScript的模型上下文协议服务器,用于测试本地工具、VS Code Copilot Chat和LLM代理之间的互操作性。

  • by strick
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 strick/mcp-quick-start

使用说明

🧩 模型上下文协议(MCP)服务器 —— TypeScript 示例

基于TypeScript的 模型上下文协议(MCP) 用于测试本地工具、VS Code Copilot Chat 与大型语言模型(LLM)代理之间互操作性的服务器。
这个仓库用于追踪构建(某项目/系统)的进度 符合规范、安全、可观测且可投入生产的 MCP服务器实现。


🚀 概述

这个项目展示了:


🧰 快速入门

# 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)

  1. 创建 .vscode/mcp.json
    {
      "servers": {
        "my-server": {
          "type": "http",
          "url": "http://localhost:3000/mcp"
        }
      },
      "defaultContexts": [
        { "server": "my-server" }
      ]
    }
    
  2. 重新加载窗口
    你会看到的 my-server(MCP 服务器) 自动列在Copilot聊天中。
  3. 在聊天中测试
    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)