Skip to content

mcpr Cloud

mcpr Cloud turns your MCP proxy into a fully observable production system. It ingests structured events from mcpr and gives you the tools to understand, debug, and optimize your MCP server — before your users report a problem.

Sign up at cloud.mcpr.app.

You’ve built an MCP server. AI clients are calling your tools. But you can’t answer basic questions:

  • “Is my server healthy right now?” — You have no dashboard, no error rate, no latency percentiles. You find out something’s broken when a user complains.
  • “Which tool is slow?” — Your server has 10 tools. One of them occasionally takes 5 seconds. You don’t know which one, or why.
  • “Is this a server problem or a client problem?” — ChatGPT shows 0.9% errors but VS Code shows 4.8%. Is that your server, the client, or the network?
  • “What happened in this user’s session?” — A user reports “the tool didn’t work.” You have no way to trace their specific conversation.
  • “When did the errors start?” — Your payment tool started failing. Was it 10 minutes ago? 3 hours ago? Did anything else break at the same time?

mcpr Cloud answers all of these.

Screenshot placeholder: Tool Health tab — multiple tools with healthy/degraded/inactive status, latency bars, error rates

Every tool your MCP server exposes gets its own health row: status, call count, error rate, p50/p95/p99 latency, and when it was last called. Sorted by p95 — the slowest tools float to the top.

Status isn’t just threshold math. mcpr detects actual failures — connection refused, DNS timeout, upstream unreachable — and only marks a tool as “Down” when there’s real evidence. An idle tool is “Inactive” (gray), not “Down” (red).

Full documentation →

Client Breakdown — “Who’s using my server?”

Section titled “Client Breakdown — “Who’s using my server?””
Client breakdown showing traffic proportion by AI client — ChatGPT, Claude, VS Code

mcpr reads the clientInfo from the MCP initialize handshake and breaks down traffic by client. You see how many calls, sessions, and errors each AI client generates.

Click a client to filter the entire dashboard to that client’s traffic. “VS Code has 4.8% errors but ChatGPT only 0.9%” — now you know where to look.

Sessions — “What happened in this conversation?”

Section titled “Sessions — “What happened in this conversation?””

Screenshot placeholder: Session expanded inline showing initialize → tools/list → tool calls with timing

A session is one MCP connection — from initialize through tool calls to disconnect. Click any session to expand it inline and see every event in chronological order.

Debug retry patterns (“create_payment failed twice, succeeded on third try”), trace errors back to their conversation context, and see exactly what the AI client did.

Full documentation →

Latency — “Is my server getting slower?”

Section titled “Latency — “Is my server getting slower?””

Screenshot placeholder: Overall latency area chart (p50/p95/p99) + per-tool line chart

Two views: an overall area chart showing p50/p95/p99 over time (spot the regression — “p95 jumped at 14:00”), and a per-tool line chart where each tool gets its own line. Toggle between p50, p95, p99. Click tools in the legend to show/hide.

Slow Calls — “Why was this specific request slow?”

Section titled “Slow Calls — “Why was this specific request slow?””

Screenshot placeholder: Individual slow calls with vs p50 badges (3.2x yellow, 10.6x red)

The slow tools overview ranks tools by p95 — “which tools should I optimize?” The individual slow calls table shows specific outliers with a vs p50 multiplier: “this call took 10.6x the normal time.”

Each call shows upstream latency vs proxy overhead, request/response sizes, and error details. A 2-second call with a 4MB response is a different problem than a 2-second call that timed out.

Errors — “What’s breaking and when did it start?”

Section titled “Errors — “What’s breaking and when did it start?””

Screenshot placeholder: Error rate timeline (per-tool lines) + grouped errors table

Errors are grouped by tool + message — one row for 287 “connection refused” events, not 287 rows. You see count, when it first appeared, and when it last happened. The timeline chart shows error rate per tool over time — correlate spikes across tools to find shared dependencies.

Screenshot placeholder: Live event log stream with expanded row showing error, timing, session

The escape hatch. Every MCP request with full detail — timestamp, method, tool name, upstream/proxy/total latency, status, error message. Live mode polls every 2 seconds. Click a session ID to jump to the Sessions view.

Full documentation →

Global Filters — “Filter everything at once”

Section titled “Global Filters — “Filter everything at once””

Screenshot placeholder: Filter bar — search, tools multi-select open with checkboxes, client dropdown, time range

One filter bar controls all views:

  • Tools — multi-select dropdown to focus on specific tools
  • Client — isolate one AI client’s traffic
  • Status — show only errors, or only successes
  • Search — text search across tool names, sessions, errors
  • Time range — presets (1h to 30d) or custom date/time picker

Click a client in the breakdown strip → filter applies. Click a tool → filter applies. Everything stays in sync.

You build the tools that AI clients call. You need to know if your tools are healthy, which ones are slow, and what errors look like. You want to debug a user’s specific session without asking them to reproduce the issue.

Your product integrates MCP tools for AI features. Multiple AI clients hit your server. You need client-level breakdown, SLA tracking, and the ability to answer “what changed?” when something breaks in production.

You run MCP infrastructure for multiple teams. You need per-server dashboards, multi-client visibility, and the ability to quickly isolate whether a problem is in a specific tool, client, or shared dependency.

Proxy (open source)Cloud
MCP routing + CSP
Structured events to stdout
Protocol debugging in terminal
Tunnel (random URL)
Event storage + 90-day retention
Server Dashboard (health, latency, errors)
Per-tool status classification
Client breakdown + per-client filtering
Session timeline + drill-down
Slow call detection (vs p50 outliers)
Error grouping + timeline
Studio (tool caller, widget preview)
CSP Debugger
Persistent tunnel URLs
Custom subdomains
AlertingComing soon

If you’re already running mcpr, add one line to your config:

[cloud]
token = "mcpr_xxxxxxxx"
server = "my-server"

Events sync automatically. No schema setup, no database, no code change. The proxy emits, the cloud computes.

Get your token from cloud.mcpr.app.

Studio is a browser-based testing environment for your MCP server:

  • Tool caller — discover tools from your live proxy, auto-generated input forms, execute and see responses with timing
  • Widget preview — render widgets with production-equivalent CSP enforcement, toggle between ChatGPT and Claude sandbox models
  • CSP debugger — visual breakdown of which CSP rules are blocking which resources, with suggested fixes
  • Request replay — pick any tool call from event history and re-execute it against your live proxy

Magic link login — enter your email, click the link, you’re in. No passwords, no OAuth flow.

  1. Sign up at cloud.mcpr.app
  2. Create a project and server
  3. Get your cloud token
  4. Add to mcpr.toml:
mcp = "http://localhost:9000"
[cloud]
token = "mcpr_xxxxxxxx"
server = "my-server"
  1. Run mcpr — events sync automatically
  2. Open the Dashboard

Event metadata only — tool parameters and response bodies are not included. Events are batched in memory and sent via HTTPS. If the cloud is unreachable, the proxy falls back to stdout — cloud connectivity never blocks proxy operation.