MCP2HTTP

MCP2HTTP

site icon
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协议的集成可能性。

核心功能

  1. 传输层转换:将stdio传输转换为HTTP传输,保持协议语义不变。
  2. 会话跟踪:通过客户端生成的UUID Session-Id 头提供可选的会话跟踪功能。
  3. 能力过滤:根据服务器的initialize响应过滤不支持的能力请求,减少不必要的负载。
  4. 通知处理:静默丢弃无ID的通知消息,与HTTP的请求/响应架构保持一致。

适用场景

  1. 无服务器平台集成:适用于需要在无服务器环境中使用MCP协议的场景。
  2. 传统系统兼容:帮助传统系统通过HTTP与MCP客户端交互。
  3. 开发与测试:在开发和测试环境中快速搭建MCP客户端与服务器的通信桥梁。

使用教程

使用依赖

  1. 确保已安装Node.js和npm。
  2. 确保有一个可用的MCP HTTP端点。

安装教程

  1. 通过npm全局安装或直接使用npx运行: sh npx -y mcp2http <endpoint-url> ["Header: Value"...]
  2. 在MCP客户端配置文件中指定命令和参数,例如: json { "mcpServers": { "my-mcp-server": { "command": "npx", "args": [ "-y", "mcp2http", "http://localhost:3000/mcp" ] } } }

调试方式

  1. 检查客户端配置是否正确。
  2. 确保HTTP端点可访问。
  3. 查看网络请求日志,确认Session-Id头是否正确传递。
  4. 验证服务器是否正确处理了能力过滤和通知丢弃。

许可证

该项目遵循 MIT 开源许可条款。