Turn any MCP server into an authenticated remote HTTPS endpoint - run it on your own box or deploy it to AWS Lambda.
README
Turn any MCP server into a remote HTTPS endpoint your AI clients can reach.
Most MCP servers are npm packages that run as a local subprocess over stdio. That works on one machine, for one client. The moment you want the same server in Claude Desktop and VS Code and on your phone, you need it to be a remote server speaking Streamable HTTP — with TLS, authentication, and somewhere to keep the API keys.
rmcp is the small control plane that does that. You paste an mcp.json-style definition into a web UI, click Deploy, and get back a URL and a config snippet for your client. It handles the packaging, the credentials, and the transport.
flowchart LR
UI["Web UI<br/>(define + deploy)"] --> API["Control plane<br/>Hono + SQLite"]
API -->|"target: local"| GW["Local gateway<br/>:8788"]
API -->|"target: lambda"| LAM["AWS Lambda<br/>+ Function URL"]
GW --> B1["bridge"]
LAM --> B2["bridge"]
B1 --> S1["stdio subprocess<br/><i>or</i> upstream HTTP"]
B2 --> S2["stdio subprocess<br/><i>or</i> upstream HTTP"]
C["VS Code · Cursor · Claude"] -.->|"Streamable HTTP<br/>+ bearer or OAuth"| GW
C -.-> LAM
Two server types. A stdio server is any npm-published MCP server — the
kind you'd normally run with npx. rmcp installs it and runs it behind a
Streamable HTTP bridge. An http server is one that's already remote; rmcp
proxies it and injects the auth headers server-side, so your clients never hold
the upstream credential.
Two deploy targets, chosen per server at deploy time:
| | local | lambda |
|---|---|---|
| Runs on | your machine or your own box | AWS Lambda behind a Function URL |
| Reachable at | http://<host>:8788/<id> (LAN), or a public HTTPS URL if you front it with a reverse proxy | the Function URL |
| Auth | bearer token or OAuth | b