mcpr vs other MCP proxies
Different MCP proxies solve different problems. This page is an honest breakdown of where mcpr wins and where it loses today, so you can pick the right tool.
Pick mcpr if you run an MCP server and you want per-tool observability, schema tracking, and CSP handling for MCP Apps in a single Rust binary.
Pick something else if you need:
- Multi-server aggregation from one port — TBXark/mcp-proxy or IBM mcp-context-forge.
- Client-side stdio → remote bridge — geelen/mcp-remote or sparfenyuk/mcp-proxy.
- Enterprise gateway with OAuth 2.1 shipping today — IBM mcp-context-forge.
Side by side
Section titled “Side by side”| mcpr | sparfenyuk/mcp-proxy | TBXark/mcp-proxy | geelen/mcp-remote | IBM mcp-context-forge | |
|---|---|---|---|---|---|
| Primary job | Server-side proxy with observability | Transport bridge (stdio ↔ HTTP) | Multi-server aggregation | Client-side stdio → remote bridge | Enterprise gateway & registry |
| Language | Rust | Python | Go | TypeScript | Python |
| Sits on | Server side | Either | Either | Client side | Server side |
| Per-tool metrics (p50/p95/max) | ✓ | — | — | — | Partial |
| Schema capture with change tracking | ✓ | — | — | — | — |
| Session & client capture | ✓ | — | — | — | Partial |
| CSP rewriting for MCP Apps | ✓ | — | — | — | — |
| Multi-upstream from one port | — (planned) | — | ✓ | — | ✓ |
| OAuth 2.1 auth | (in progress) | — | — | ✓ | ✓ |
| Tunnel to public URL | ✓ | — | — | — | — |
| Hosted dashboard option | ✓ (cloud.mcpr.app) | — | — | — | — |
| Single binary, zero deps | ✓ | — | ✓ | — | — |
| License | Apache-2.0 | MIT | MIT | MIT | Apache-2.0 |
Data reflects public READMEs as of April 2026. Competitors ship fast — check their repos before committing.
Where mcpr wins
Section titled “Where mcpr wins”Per-tool observability out of the box. Every JSON-RPC call is recorded to a local SQLite store with latency, status, payload size, and session ID. No app-side instrumentation, no external dependencies. Inspect with sqlite3 directly, or stream events to mcpr Cloud for a dashboard with per-tool tables, latency percentiles, and filterable logs. Other proxies in this list forward traffic but do not record it at tool granularity.
Schema capture with change tracking. mcpr intercepts tools/list, resources/list, and prompts/list as they pass through, stores them, and records diffs over time. The cloud dashboard surfaces added, modified, and removed tools, plus tools that are registered but never called. No other proxy in this list does this.
CSP rewriting for MCP Apps. ChatGPT Apps reads openai/widgetCSP; Claude connectors read ui.csp. Each platform interprets domain lists differently. mcpr rewrites CSP across three directives with per-directive extend / replace modes, plus glob-matched widget overrides. If you ship an MCP App with widgets, this work is non-trivial, and mcpr is the only option in this list that handles it.
Rust, single binary, minimal overhead. ~5 MiB binary, no runtime, benchmark report here.
Where mcpr loses
Section titled “Where mcpr loses”Single upstream per proxy instance. mcpr fronts one MCP app per process. If you need to aggregate many MCP servers behind one HTTP endpoint, TBXark/mcp-proxy and IBM mcp-context-forge do that today. Multi-upstream routing is on the mcpr roadmap but not shipped.
Authentication is not yet in the proxy. OAuth 2.1 and API key handling at the proxy layer are in progress. If you need OAuth 2.1 right now, geelen/mcp-remote (client-side) and IBM mcp-context-forge (server-side) are further along.
No client-side bridging. mcpr does not bridge stdio MCP servers to a remote HTTP URL for a single AI client. For that, sparfenyuk/mcp-proxy and geelen/mcp-remote are the right tools.
No enterprise registry or federation. IBM mcp-context-forge federates MCP, A2A, and REST services with a tool catalog and enterprise policy features. mcpr is scoped to the proxy layer; use context-forge if you need the registry layer.
What about Cloudflare Access MCP Portals, Smithery, Glama?
Section titled “What about Cloudflare Access MCP Portals, Smithery, Glama?”These are hosted platforms, not self-hostable proxies. They solve a different problem — managed hosting and discovery — and mcpr is complementary: you can run mcpr in front of your MCP app and still publish it to Smithery or Glama. The hosted dashboard at cloud.mcpr.app is mcpr’s managed story, and it ingests events from self-hosted proxies rather than replacing them.
Next steps
Section titled “Next steps”- Install mcpr — 30 seconds
- Why use mcpr — the three pillars in detail
- Observability guide — per-tool metrics, logs, schema capture
