Cherry Mcp
VerifiedHTTP bridge that keeps MCP servers alive and exposes them via REST. Built for OpenClaw agents that need MCP tools without native MCP support.
$ Add to .claude/skills/ About This Skill
# Cherry MCP 🍒
Origin Story
Built during a late-night session trying to use MCP servers with OpenClaw. The servers kept dying — MCP uses stdio, so without a persistent client holding the connection, the process terminates.
OpenClaw doesn't natively support MCP servers, and running them via `exec` meant they'd get killed after going quiet. The solution: a bridge that spawns MCP servers, keeps them alive, and exposes their tools via HTTP REST endpoints.
Named after my emoji. 🍒
*— EULOxGOS, Feb 2026*
Why
- MCP servers use stdio — they die without a persistent client. Cherry MCP:
- Spawns MCP servers as child processes
- Keeps them alive (auto-restart on crash)
- Exposes HTTP endpoints for each server
Quick Start
```bash # Add a server node cli.js add-server github npx @anthropic/mcp-github
# Set env vars for the server node cli.js set-env github GITHUB_TOKEN ghp_xxx
# Start pm2 start bridge.js --name cherry-mcp ```
CLI
```bash # Servers node cli.js add-server <name> <command> [args...] node cli.js remove-server <name> node cli.js list-servers
# Environment variables node cli.js set-env <server> <KEY> <value> node cli.js remove-env <server> <KEY>
# Security node cli.js set-rate-limit <rpm> # requests per minute node cli.js set-allowed-ips <ip>... # IP allowlist node cli.js enable-audit-log # log requests
# Other node cli.js show-config node cli.js restart ```
HTTP API
```bash # List servers curl http://localhost:3456/
# List tools curl http://localhost:3456/<server>/tools
# Call a tool curl -X POST http://localhost:3456/<server>/call \ -H "Content-Type: application/json" \ -d '{"tool": "search", "arguments": {"query": "test"}}'
# Restart server curl -X POST http://localhost:3456/<server>/restart ```
Security
- Binds to `127.0.0.1` only (not exposed to network)
- Optional rate limiting
- Optional IP allowlist
- Optional audit logging
- 1MB max payload
⚠️ Important Notes
Commands are user-configured only. The bridge executes commands specified in `config.json` — it does not accept arbitrary commands via HTTP. You control what runs.
Don't commit secrets. If you store API keys via `set-env`, they're saved in plain text in `config.json`. Add it to `.gitignore` or use environment variables instead:
```bash # Alternative: set env vars before starting export GITHUB_TOKEN=ghp_xxx pm2 start bridge.js --name cherry-mcp ```
Then reference in config without the value: ```json { "servers": { "github": { "command": "npx", "args": ["@anthropic/mcp-github"], "env": {} } } } ```
The server inherits your shell environment.
Running
```bash # pm2 (recommended) pm2 start bridge.js --name cherry-mcp pm2 save
# Auto-start on boot pm2 startup ```
Use Cases
- Keep MCP servers alive as persistent processes for OpenClaw agents that lack native MCP support
- Expose MCP server tools via HTTP REST endpoints for curl-based or non-stdio integrations
- Manage multiple MCP servers (GitHub, Slack, etc.) from a single bridge with per-server env vars
- Set up rate limiting and IP allowlisting to secure MCP tool access on shared machines
- Auto-restart crashed MCP servers without manual intervention using pm2 process management
Pros & Cons
Pros
- +Solves the fundamental MCP stdio lifecycle problem — servers stay alive without a persistent client
- +Built-in security: localhost-only binding, rate limiting, IP allowlist, and audit logging
- +Simple CLI for adding/removing servers and managing environment variables per server
Cons
- -Stores API keys in plaintext config.json — no encrypted secrets management
- -Adds a Node.js HTTP layer on top of MCP — introduces latency and an extra failure point
- -Requires pm2 for production use — one more global dependency to manage
FAQ
What does Cherry Mcp do?
What platforms support Cherry Mcp?
What are the use cases for Cherry Mcp?
100+ free AI tools
Writing, PDF, image, and developer tools — all in your browser.
Next Step
Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.