MCP · Model Context Protocol

A control plane
for every MCP server in your stack.

Discover, observe, govern, and rate-limit every tool your agents can reach. One catalog. One policy plane. Per-tool traces, cost, and SLAs.

Connect a server Read the spec
app.ollagraph.com / mcp / catalog 14 servers · 142 tools
142 tools + Connect
ServerToolsOwnerP50Errors
github/acme
acme.com/mcp
14 tools
Engineering · @platform
82ms 0.02% healthy
linear/issues
linear.app/mcp
8 tools
Product · @nick
112ms 0.00% healthy
slack/workspace
slack.com/api/mcp
12 tools
Comms · @grace
88ms 0.18% slow
postgres/analytics
internal/mcp
22 tools
Data · @jordan
204ms 0.04% healthy
stripe/billing
stripe.com/mcp
28 tools
Finance · @marin
132ms 0.01% healthy
vendor/legacy
api.legacy.com/mcp
6 tools
External · @ext
2.4s 12.4% errored
WHY MCP VISIBILITY

Tools are the new APIs.
Treat them like infra.

Every agent in production calls a half-dozen MCP servers — yours, partners', vendors'. Without visibility, you ship blind.

Discover & catalog

Auto-detect every MCP server your agents touch. Index their tools, schemas, and version history with zero config.

Observe every call

Per-tool latency, error rates, drift, and cost. Trace agent invocations end-to-end and replay any failure.

Govern & rate-limit

Per-agent quotas, allowlists, redaction, and policy-as-code. Block tool calls before they spend a dollar.

Version-aware

Schema drift detection across tool versions. Pin agents to known-good versions and canary new ones safely.

Failure-mode aware

Detect prompt-injection, malformed responses, runaway loops, and tool-of-last-resort patterns automatically.

Audit-ready

Tamper-evident logs of every tool call. Tie agent decisions back to data sources for regulators and customers.

FIVE MINUTES TO INSTRUMENTED

Drop the SDK in.
Or proxy the protocol.

1

Connect

Point Ollagraph at any MCP server. Stdio, SSE, or HTTPS — we proxy and instrument in flight.

# Mount our MCP-aware proxy
og mcp connect \
  --url "https://internal/mcp" \
  --name "postgres/analytics"
2

Observe

Every tool call now emits a trace, cost, and result hash. Stream to your existing observability or use ours.

og.mcp.on("invocation", ev => {
  log(ev.tool, ev.latencyMs, ev.costUsd);
});
3

Govern

Write policy-as-code: who can call what, when, with which redactions. Block before spend.

policy "prod-agents" {
  deny tool == "db.exec"
  limit "slack.send" = 50/min
}
SCHEMA DRIFT

Know the moment a tool changes shape.

Diff tool schemas across versions. We alert on breaking field removals, type changes, and required-parameter additions before they break agents in prod.

stripe/billing · tool customer.create
- email: string (removed in v3)
+ contact: { email: string }
currency: string
metadata: map[string,string]
~ amount: int → bigint (widening, compatible)
POLICY AS CODE

Block before you spend.

Define per-agent, per-tool policies. Versioned in git. Dry-run against history. Roll out by canary.

policy/prod-agents.og
policy "prod-agents" {
applies_to: env == "production"
deny tool == "db.exec"
deny tool.cost > 0.10
redact "email", "ssn"
limit "slack.send" = 50/min
audit all
}

Make every tool call legible.

Drop the SDK in and see your first MCP traces in under five minutes. No infra changes.

Start free Read MCP docs