核心用法
Cherry MCP 是一个 HTTP 桥接服务,解决 MCP 服务器依赖持久 STDIO 连接、无法在无原生支持的环境中运行的问题。它通过子进程启动 MCP 服务器,维持连接保活,并将工具调用转换为 RESTful HTTP 端点。
主要功能
- 服务器管理:通过 CLI 添加/删除/列出 MCP 服务器,配置启动命令与环境变量
- HTTP 暴露:每个服务器映射到独立端点,支持工具列表查询和工具调用
- 自动保活:进程崩溃后自动重启,确保服务持续可用
- 安全控制:可选速率限制、IP 白名单、审计日志,默认仅绑定 localhost
架构特点
- 单文件架构,依赖极简(Node.js 原生模块)
- 配置持久化到 JSON 文件
- 支持 PM2 进程管理,适合生产部署
显著优点
- 填补生态空白:专为 OpenClaw 等无 MCP 原生支持的环境设计
- 零侵入改造:无需修改原 MCP 服务器代码
- 运维友好:自动重启、日志审计、PM2 集成
- 轻量部署:单文件实现,启动快速
潜在局限
- 环境变量安全风险:
set-env以明文存储于 config.json,需配合.gitignore或改用 shell 环境变量 - 单点故障:桥接器本身成为依赖,崩溃则所有 MCP 服务中断
- 性能瓶颈:所有请求经 Node.js 转发,高并发场景需评估
- 协议适配局限:仅支持 STDIO 转 HTTP,SSE 等传输模式未提及
- 网络隔离默认绑定 127.0.0.1,跨主机调用需额外配置(但文档明确不建议)
适合人群
- 使用 OpenClaw、Autogen 或其他无原生 MCP 支持的 Agent 框架的开发者
- 需要将现有 MCP 工具集成到已有 HTTP/REST 工作流的团队
- 希望快速验证 MCP 工具链、不愿投入复杂基础设施的实验者
常规风险
- 配置泄露:明文存储的 API 密钥可能意外提交到版本控制
- 本地权限提升:绑定 localhost 但仍需防范本地恶意进程访问
- 依赖注入:虽 HTTP 层不接受任意命令,但配置中的命令执行仍需谨慎审计
- 资源耗尽:自动重启机制在持续崩溃场景下可能消耗系统资源
使用建议
1. 优先使用 shell 环境变量注入敏感信息,避免 set-env
2. 配置 .gitignore 排除 config.json
3. 生产环境启用审计日志与速率限制
4. 监控桥接器进程健康状态,避免单点故障