使用说明
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/mcp
VS Code(Visual Studio Code,简称VS Code)
code --add-mcp "{\"name\":\"my-server\",\"type\":\"http\",\"url\":\"http://localhost:3000/mcp\"}"
光标
点击这个深度链接: cursor://anysphere.cursor-deeplink/mcp/install?name=my-server&config=eyJ1cmwiOiJodHRwOi8vbG9jYWxob3N0OjMwMDAvbWNwIn0%3D 翻译为中文是:“cursor://anysphere的深度链接/mcp/安装?名称=my-server&配置=eyJ1cmwiOiJodHRwOi8vbG9jYWxob3N0OjMwMDAvbWNpIn0%3D”。(注:这里的“eyJ1cmwiOiJodHRwOi8vbG9jYWxob3N0OjMwMDAvbWNpIn0%3D”是一个经过Base64编码的JSON字符串,解码后大致表示“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)