MCP(多点控制单元)和代理样本
此存储库包含模型上下文协议(MCP)的示例实现。
示例HTTP MCP服务器
一个使用(某技术/框架,原文中未指明)实现的可流式传输的HTTP MCP服务器示例 TypeScript SDK(软件开发工具包)。
特点/特性
这个示例服务器展示了:
- 可流式传输的HTTP传输基于现代HTTP的MCP通信传输协议
- 工具多个示例工具,包括计算器和回显功能
- 资源使用URI模板的动态和静态资源
- 快速集成易于与Express.js集成以处理HTTP请求
安装
npm install运行服务器
开发模式 (支持热重载):
npm run dev构建并运行:
npm run build
npm start服务器将在 http://localhost:3000 默认情况下。您可以通过设置来更改端口 PORT 环境变量:
PORT=8080 npm run dev可用的终端节点
POST /mcp- 客户端连接的主要MCP端点GET /health- 健康检查端点GET /- 服务器信息
工具
服务器提供以下工具:
- 添加 - 将两个数字相加
- 输入: { a: number, b: number } - 输出: { result: number }
- 乘以 - 将两个数相乘
- 输入: { a: number, b: number } - 输出: { result: number }
- 回声 - 回复一条消息
- 输入: { message: string } - 输出: { echo: string }
资源
服务器提供了以下资源:
- 问候语://{name} - 动态问候资源
- 示例: greeting://Alice 返回“你好,爱丽丝!欢迎来到MCP服务器。”
- info://server 翻译为中文是:“信息://服务器”。不过,通常在实际应用中,“info://server”这样的格式可能是一个特定应用或系统的内部协议或路径,直接翻译可能无法完全传达其在特定上下文中的含义。但基于字面意思,翻译如上 - 静态服务器信息
- 返回有关MCP服务器的信息
连接到服务器
您可以使用任何支持流式HTTP的MCP客户端连接到此服务器:
MCP 检查员
npx @modelcontextprotocol/inspector然后连接到: http://localhost:3000/mcp
克劳德·科德
claude mcp add --transport http my-server http://localhost:3000/mcpVS Code(Visual Studio Code,简称VS Code)
code --add-mcp "{\"name\":\"my-server\",\"type\":\"http\",\"url\":\"http://localhost:3000/mcp\"}"光标
测试服务器
一旦服务器运行起来,你可以手动进行测试:
- 健康检查:
curl http://localhost:3000/health- 服务器信息:
curl http://localhost:3000/- MCP终端节点 (需要合适的MCP客户端或手动发送JSON-RPC请求):
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'建筑学
此实现遵循MCP规范,采用:
- McpServer(可译为“MCP服务器”)核心MCP服务器实例处理协议合规性
- StreamableHTTPServerTransport 可以翻译为“可流式传输的HTTP服务器传输”或“支持流式处理的HTTP服务器传输”,具体翻译取决于上下文和使用场景。在这里,“Streamable”表示该传输方式支持流式处理或流式传输,“HTTPServerTransport”则指的是基于HTTP协议的服务器端传输方式用于请求/响应处理的HTTP传输层
- 快递用于HTTP服务器的Web框架
- 佐德工具输入和输出的模式验证
发展
类型检查:
npm run type-check构建:
npm run build参考文献
许可证
麻省理工学院(MIT)
