
MCP2HTTP

2025.03.01
2
JavaScript传输适配器协议桥接开发效率
MCP2HTTP是一个最小化的传输适配器,用于将使用stdio传输的MCP客户端连接到无状态的HTTP MCP服务器。它允许MCP客户端通过HTTP与服务器通信,而无需使用SSE(Server-Sent Events)传输,从而支持与无服务器平台和传统系统的无缝集成。
View on GitHub
Overview
基本能力
产品定位
MCP2HTTP是一个传输适配器,旨在桥接使用stdio传输的MCP客户端和无状态的HTTP MCP服务器,扩展MCP协议的集成可能性。
核心功能
- 传输层转换:将stdio传输转换为HTTP传输,保持协议语义不变。
- 会话跟踪:通过客户端生成的UUID
Session-Id
头提供可选的会话跟踪功能。 - 能力过滤:根据服务器的
initialize
响应过滤不支持的能力请求,减少不必要的负载。 - 通知处理:静默丢弃无ID的通知消息,与HTTP的请求/响应架构保持一致。
适用场景
- 无服务器平台集成:适用于需要在无服务器环境中使用MCP协议的场景。
- 传统系统兼容:帮助传统系统通过HTTP与MCP客户端交互。
- 开发与测试:在开发和测试环境中快速搭建MCP客户端与服务器的通信桥梁。
使用教程
使用依赖
- 确保已安装Node.js和npm。
- 确保有一个可用的MCP HTTP端点。
安装教程
- 通过npm全局安装或直接使用npx运行:
sh npx -y mcp2http <endpoint-url> ["Header: Value"...]
- 在MCP客户端配置文件中指定命令和参数,例如:
json { "mcpServers": { "my-mcp-server": { "command": "npx", "args": [ "-y", "mcp2http", "http://localhost:3000/mcp" ] } } }
调试方式
- 检查客户端配置是否正确。
- 确保HTTP端点可访问。
- 查看网络请求日志,确认
Session-Id
头是否正确传递。 - 验证服务器是否正确处理了能力过滤和通知丢弃。