cptrodgers/mcpr
The proxy layer for MCP apps. Develop, debug, and monitor your MCP server and widgets locally — then connect to ChatGPT, Claude, or any AI client through a single URL.
Platform-specific configuration:
{
"mcpServers": {
"mcpr": {
"command": "npx",
"args": [
"-y",
"mcpr"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
The proxy layer for MCP apps that serve widgets outside the MCP server. mcpr bundles your MCP backend and widget frontend into a single HTTPS endpoint — ready to test with ChatGPT, Claude, or any AI client.
curl -fsSL https://raw.githubusercontent.com/cptrodgers/mcpr/main/scripts/install.sh | shOr build from source:
cargo install --path .Your MCP server and widget frontend run as separate processes. mcpr merges them behind one URL — /mcp routes to your backend, everything else serves your widgets. AI clients only need one endpoint.
Your machine AI client (ChatGPT / Claude)
┌─────────────────┐
│ MCP backend │◄──┐
│ (localhost:9000) │ │
└─────────────────┘ │
│ mcpr tunnel
┌─────────────────┐ ├──────────── ◄──────────── https://abc123.tunnel.example.com
│ Widget frontend │◄──┘
│ (localhost:4444) │
└─────────────────┘AI clients enforce Content Security Policy on widgets — your MCP server has to return the right CSP domains, widget domains, and OAuth URLs for each environment. Without a proxy, you'd hardcode these per deployment or redeploy every time the domain changes.
mcpr handles this at the proxy layer. It rewrites CSP headers, widget domains, and OAuth discovery URLs automatically in MCP responses — for both OpenAI and Claude formats. Your MCP server stays environment-agnostic. Zero config changes, zero redeploys.
Built-in widget debugger at /studio/. Preview widgets, inject mock toolInput/toolOutput, switch between OpenAI and Claude platform simulation, and inspect every action your widget fires — all without connecting to a real AI client.
See docs/STUDIO.md for details.
One command gives you a public HTTPS endpoint. Paste it into ChatGPT or Claude and start testing immedi
Loading reviews...