Atlas / MCP servers / leizongmin / Server Proxy

Server ProxySAFE

mcp/leizongmin/server-proxy

Converts MCP protocol's SSE transport layer to a standard HTTP request/response.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
1 1r · 0w · 0d
Transport
—
License
MIT
Stars
22
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

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

为什么需要这个工具

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

  1. Stdio 传输协议:
  • 😫 需要在用户本地安装命令行工具,对运行环境有特定要求
  • 😫 用户需要进行相应的环境配置
  1. SSE(Server-Sent Events)传输协议:
  2. 👍 基于 HTTP 长连接实现,用户配置相对简单,主要是设置服务地址
  3. 😫 目前相关开发工具和示例相对较少

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

  1. 采用 SSE 传输协议与 MCP Client 交互,用户只需配置服务地址即可使用
  2. 将 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  

例如:

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

2. serve 命令

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

mcp-server-proxy serve  

例如:

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

示例

项目包含一个 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("*", 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", sessio
Read from source at commit cd672c7f7e6fOBSERVED · 2026-10-10
02

Exposed tools (1)

1 read · 0 write · 0 destructive.

ToolRiskDescription
echoreadEchoes back the input
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (4 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (3)

LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
example/inspect.log:1
go run . inspect http://127.0.0.1:3002 http://127.0.0.1:3001
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
example/inspect.log:14
Failed to send proxy request: Get "http://127.0.0.1:3001/sse": dial tcp 127.0.0.1:3001: connect: connection refused
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
example/js-echo/package.json
@hono/node-server, hono
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha cd672c7f7e6ffull audit observations/trust-audit/mcp-server/leizongmin__server-proxy.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-10cd672c7f7e6fSAFEB89first audit
05

Questions

What is the Server Proxy MCP server?

Converts MCP protocol's SSE transport layer to a standard HTTP request/response.

What tools does Server Proxy expose?

1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Server Proxy safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does Server Proxy need?

No credential environment variables were found in its source, so it appears to need none.

How current is this page?

The grade is for one exact copy of the source (cd672c7f7e6f), read on 2026-10-10. The repository is watched and re-audited when it changes.

Advertisement