- mcp-server-proxy
mcp-server-proxy
Converts MCP protocol's SSE transport layer to a standard HTTP request/response.
Content
mcp-server-proxy
将 MCP 协议的 SSE 传输层转换为标准 HTTP 请求/响应的代理服务器,简化 MCP Server 的开发和使用。
为什么需要这个工具
MCP(Model Context Protocol)是一个开放协议,为 AI 应用提供了标准化的数据源和工具集成方案。目前 MCP 支持两种主要的传输协议:
-
Stdio 传输协议:
- 😫 需要在用户本地安装命令行工具,对运行环境有特定要求
- 😫 用户需要进行相应的环境配置
-
SSE(Server-Sent Events)传输协议:
- 👍 基于 HTTP 长连接实现,用户配置相对简单,主要是设置服务地址
- 😫 目前相关开发工具和示例相对较少
本工具通过以下方式简化 MCP Server 的开发和使用:
- 采用 SSE 传输协议与 MCP Client 交互,用户只需配置服务地址即可使用
- 将 MCP 工具调用转换为标准的 HTTP 请求/响应,开发者可以使用任意编程语言实现,无需关注 SSE 协议细节
功能特点
- 支持将 MCP 协议的 SSE 传输层转换为标准 HTTP 请求/响应
- 提供请求和响应的检查功能,主要用于研究 MCP Client 和 Server 的交互过程
- 目前已支持
initialize、tools/list、tools/call三个方法
安装
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
示例
项目包含一个 JavaScript 示例(位于 example/js-echo 目录),实现了简单的 echo 功能,不需要依赖 MCP 相关的 SDK,只需要处理几个简单的 HTTP 请求即可:
- 进入示例目录:
cd example/js-echo
本示例使用 Hono 框架实现,核心代码如下:
import { Hono } from "hono";
import { logger } from "hono/logger";
const app = new Hono();
app.use("*", logger());
app.post("/initialize", async (c) => {
const sessionId = c.req.query("sessionId");
const params = await c.req.json();
console.log("initialize: sessionId=%s, params=%j", sessionId, params);
return c.json({
protocolVersion: "2024-11-05",
capabilities: {
tools: {},
},
serverInfo: { name: "example-mcp-server", version: "1.0.0" },
});
});
app.post("/tools/list", async (c) => {
const sessionId = c.req.query("sessionId");
const params = await c.req.json();
console.log("tools/list: sessionId=%s, params=%j", sessionId, params);
return c.json({
tools: [
{
name: "echo",
description: "Echoes back the input",
inputSchema: {
type: "object",
properties: {
message: { type: "string", description: "Message to echo" },
},
required: ["message"],
additionalProperties: false,
$schema: "http://json-schema.org/draft-07/schema#",
},
},
],
});
});
app.post("/tools/call/:name", async (c) => {
const sessionId = c.req.query("sessionId");
const name = c.req.param("name");
const params = await c.req.json();
console.log(
"tools/call: sessionId=%s, name=%s, params=%j",
sessionId,
name,
params
);
return c.json({
content: [
{ type: "text", text: `SESSION ID: ${sessionId}` },
{ type: "text", text: `ECHO: ${params.arguments?.message}` },
],
});
});
export default app;
- 安装依赖:
npm install
- 启动服务器:
node server.js
- 启动代理服务器:
# 代理服务器监听 http://localhost:3002
# 代理服务器将请求转发到 http://localhost:3001
mcp-server-proxy serve http://localhost:3002 http://localhost:3001
- 配置 MCP Client:
- Type:
sse - Server URL:
http://localhost:3002/sse
- 调用工具:
以 Cursor 为例,提交内容echo message "hello"后,它会识别出来需要调用 echo 工具,此时会出现【Call Tool】按钮,点击次按钮确认后即可看到工具调用结果。

许可证
MIT
贡献
欢迎提交问题和 Pull Request!
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Serper MCP ServerA Serper MCP Server
CursorThe AI Code Editor
DeepChatYour AI Partner on Desktop
Amap Maps高德地图官方 MCP Server
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题;
Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Tavily Mcp
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
WindsurfThe new purpose-built IDE to harness magic
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Playwright McpPlaywright MCP server
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
ChatWiseThe second fastest AI chatbot™