返回 MCP 目录
public公开dns本地运行

mcp-server-proxy-op5

该项目是一个MCP协议的SSE传输层代理工具,将复杂的SSE协议转换为标准HTTP请求/响应,简化MCP服务器的开发和调试过程。

article

README

🚀 mcp-server-proxy 代理服务器

本代理服务器可将 MCP 协议的 SSE 传输层转换为标准 HTTP 请求/响应,极大简化了 MCP Server 的开发与使用。

🚀 快速开始

安装

go install github.com/leizongmin/mcp-server-proxy@latest

使用

该工具提供两个主要命令:

1. inspect 命令

用于检查请求和响应的内容,主要用于研究 MCP Client 和 Server 的交互过程:

mcp-server-proxy inspect <local_url> <target_url>

例如:

mcp-server-proxy inspect http://localhost:8080 http://example.com

2. serve 命令

启动代理服务器,将 MCP Client 的调用转换为标准 HTTP 请求/响应:

mcp-server-proxy serve <local_url> <target_url>

例如:

mcp-server-proxy serve http://localhost:8080 http://example.com

✨ 主要特性

  • 支持将 MCP 协议的 SSE 传输层转换为标准 HTTP 请求/响应。
  • 提供请求和响应的检查功能,主要用于研究 MCP Client 和 Server 的交互过程。
  • 目前已支持 initializetools/listtools/call 三个方法。

📦 安装指南

go install github.com/leizongmin/mcp-server-proxy@latest

💻 使用示例

基础用法

项目包含一个 JavaScript 示例(位于 example/js-echo 目录),实现了简单的 echo 功能,不需要依赖 MCP 相关的 SDK,只需要处理几个简单的 HTTP 请求即可:

  1. 进入示例目录:
cd example/js-echo

本示例使用 Hono 框架实现,核心代码如下:

import { Hono } from "hono";
import { logger } from "hono/logger";

const app = new Hono();

// 定义一个中间件来处理请求和响应
app.use((req, res) => {
    // 在这里可以添加自定义的逻辑
});

// 定义路由来处理具体的请求
app.get('/hello', (req, res) => {
    res.status(200).json({ message: 'Hello from Hono!' });
});

app.listen(3001);
  1. 启动服务器:
node index.js
  1. 启动代理服务器:
# 代理服务器监听 http://localhost:3002
# 代理服务器将请求转发到 http://localhost:3001
mcp-server-proxy serve http://localhost:3002 http://localhost:3001
  1. 配置 MCP Client:
  • Type: sse
  • Server URL: http://localhost:3002/sse
  1. 调用工具: 以 Cursor 为例,提交内容echo message "hello"后,它会识别出来需要调用 echo 工具,此时会出现【Call Tool】按钮,点击此按钮确认后即可看到工具调用结果。

cursor-call-echo-tool

📚 详细文档

为什么需要这个工具

MCP(Model Context Protocol)是一个开放协议,为 AI 应用提供了标准化的数据源和工具集成方案。目前 MCP 支持两种主要的传输协议:

  1. Stdio 传输协议:

    • 😫 需要在用户本地安装命令行工具,对运行环境有特定要求。
    • 😫 用户需要进行相应的环境配置。
  2. SSE(Server-Sent Events)传输协议:

    • 👍 基于 HTTP 长连接实现,用户配置相对简单,主要是设置服务地址。
    • 😫 相关开发工具和示例相对较少。

本工具通过以下方式简化 MCP Server 的开发和使用:

  1. 采用 SSE 传输协议与 MCP Client 交互,用户只需配置服务地址即可使用。
  2. 将 MCP 工具调用转换为标准的 HTTP 请求/响应,开发者可以使用任意编程语言实现,无需关注 SSE 协议细节。

📄 许可证

MIT

贡献

欢迎提交问题和 Pull Request!

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端