cherry-mcp

🍒 MCP 服务器的 HTTP 持久化桥接

OpenClaw 出品的 MCP HTTP 桥接器,通过进程保活机制让 stdio MCP 工具以 REST API 稳定运行,解决无原生 MCP 支持环境的集成难题。

收藏
10.1k
安装
2.6k
版本
127.0.0
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

Cherry MCP 是一款专为解决 Model Context Protocol (MCP) 服务器生命周期管理而设计的 HTTP 桥接工具。由于 MCP 协议基于 stdio 传输,缺乏持久化客户端连接时进程会自动终止,这给 OpenClaw 等不支持原生 MCP 的环境带来集成障碍。该工具通过创建常驻的 HTTP 网关,将 stdio 通信转换为 REST API 调用,实现了 MCP 工具的持久化托管与跨平台兼容。

核心用法围绕 CLI 与 HTTP API 展开。用户通过 cli.js 添加服务器配置、设置环境变量并启动守护进程。Bridge 服务默认监听 3456 端口,提供服务器列表查询、工具发现及远程调用能力。支持通过 POST 请求触发工具执行,并内置服务器重启管理功能,形成完整的生命周期管理闭环。

显著优点体现在稳定性与安全性设计。进程保活机制能自动重启崩溃的 MCP 服务,避免连接中断;默认绑定 127.0.0.1 确保仅限本机访问,配合可选的 IP 白名单、速率限制(RPM)和审计日志功能,构建了多层防护体系。纯 Node.js 内置模块实现,零外部 npm 依赖,极大降低了供应链攻击风险。

潜在局限性包括来源可信度与配置管理。作为 T3 级社区项目,其长期维护稳定性不及官方方案。环境变量以明文形式存储于 config.json,虽有明确警告但仍存在误提交风险。此外,该工具主要面向本地开发场景,若需公网暴露必须配合反向代理与额外认证,直接使用提供的安全功能可能不足以应对高威胁环境。

适合目标群体主要为 OpenClaw 生态用户及需要将 MCP 能力集成到无原生支持平台的开发者。对于本地 AI 工具链构建、自动化工作流编排以及微服务架构中的 MCP 能力下沉场景尤为适用。同时也适合希望统一纳管多个 MCP 服务器、避免手动维护多个 stdio 进程的系统管理员。

使用风险集中于配置安全与进程隔离。尽管命令执行仅限于配置文件预设值,但 config.json 的明文存储特性要求用户必须严格管理文件权限,避免敏感密钥泄露。子进程 spawn 机制虽无注入漏洞,但 MCP 服务器本身的漏洞可能影响宿主机安全。建议生产环境启用审计日志监控异常调用,并定期审查 MCP 服务器来源的可信度。

安全解读

Cherry MCP 综合评估

核心用法

Cherry MCP 是一个 HTTP 桥接层,核心解决 MCP(Model Context Protocol)服务器原生使用 stdio 通信导致的进程生命周期问题。当客户端断开时,stdio 模式的 MCP 服务器会立即终止,而 OpenClaw 等环境缺乏原生 MCP 支持。

使用流程:
1. 注册服务器node cli.js add-server <name> <command> 将 MCP 服务器添加到配置

2. 配置环境变量:通过 set-env 或 shell 环境变量注入 API 密钥

3. 启动桥接:使用 PM2 持久化运行 bridge.js,保持所有子进程存活

4. HTTP 调用:通过 localhost:3456/<server>/call 端点以 REST 方式调用工具

关键设计:桥接层作为持久父进程持有 stdio 连接,同时对外暴露 HTTP 接口,实现"双协议适配"。

显著优点

架构简洁可靠:仅 320 行代码、零外部依赖,完全基于 Node.js 内置模块(http、child_process、fs),排除了供应链攻击面。

安全设计到位:默认绑定 127.0.0.1 拒绝外部访问,支持速率限制、IP 白名单、审计日志多层防护。1MB 请求体限制防止资源耗尽。

运维友好:PM2 集成实现进程守护、自动重启、开机自启,CLI 工具提供完整生命周期管理。

来源可信:OpenClaw 官方维护(T2 级别),MIT 开源可审计。

潜在缺点与局限

敏感信息存储风险set-env 命令将 API 密钥以明文写入 config.json,虽文档明确警告并提供环境变量替代方案,但默认路径仍存在误用可能。建议用户严格遵循环境变量方案。

命令注入面add-server 直接存储用户输入的命令和参数,虽需本地 CLI 权限执行,但缺乏命令白名单验证。建议仅添加可信来源的 MCP 服务器。

功能边界清晰但有限:仅为桥接层,不含认证、HTTPS、多租户等企业级特性。如需对外开放需自行配置反向代理和 TLS。

进程管理单点:所有 MCP 服务器共享同一 Node 进程空间,单个服务器异常虽可自动重启,但极端情况下可能影响桥接层稳定性。

适合人群

  • OpenClaw 用户:原生不支持 MCP,通过此桥接获得工具调用能力
  • 自动化工作流开发者:需要以 HTTP/REST 方式集成 MCP 工具到现有系统
  • 本地 AI 开发环境:在隔离网络中统一托管多个 MCP 服务器
  • 快速原型验证:零依赖、轻量部署,适合概念验证阶段

常规风险

| 风险类型 | 等级 | 说明 |
|---------|------|------|
| 敏感信息泄露 | 中 | config.json 明文存储,需使用环境变量规避 |
| 本地命令执行 | 中 | 子进程 spawn 为核心功能,需控制配置权限 |
| 配置篡改 | 低 | 本地文件系统访问权限决定安全边界 |
| 网络暴露 | 低 | 默认本地绑定,手动改配需谨慎 |

关键建议:生产环境务必使用 export KEY=xxx 环境变量方式注入凭证,彻底避免 set-env;配置目录建议设置 600 权限并纳入 .gitignore;如需公网访问必须前置 Nginx/Traefik 等反向代理提供 HTTPS 和认证层。

cherry-mcp 内容

手动下载zip · 6.4 kB
bridge.jstext/javascript
请选择文件