Skip to content

Quickstart

mcpr.toml declares how the proxy behaves: where to route traffic, CSP settings, tunnel config. It’s the single source of truth for proxy behavior.

mcpr proxy run runs the proxy in the foreground. The launched PID is the proxy itself, so your process supervisor (terminal, systemd, Docker, your Node app) owns the lifecycle. SIGTERM drains gracefully.

Use the weather example (or your own MCP server):

9001/mcp
git clone https://github.com/pragmalabs-tech/mcpr.git
cd mcpr/examples/weather-app
npm install && npm run dev

Create mcpr.toml:

mcp = "http://localhost:9001/mcp"
port = 3000
Terminal window
mcpr proxy run mcpr.toml

Your proxy is live at http://localhost:3000. Point any MCP client (Claude Desktop, VS Code, Cursor) at this URL. Ctrl-C drains and exits.

Every request lands in the local SQLite store at ~/.mcpr/store.db. Inspect it directly with sqlite3, or run:

Terminal window
mcpr store stats # row counts, oldest/newest events, db size

For a hosted dashboard with per-tool latency, session timelines, and schema tracking, run mcpr proxy setup to connect to cloud.mcpr.app.