Wraps any MCP server and checks every tool call before it runs.
Works with Claude Desktop, Cursor, Windsurf, and custom agents. No code changes.
The agent auto-approved a batch of refunds. No per-transaction cap. No daily limit.
A reporting agent exported the full users table to a public S3 bucket. Front-page news.
A cleanup agent decided idle instances were unused. They were the primary API cluster.
An agent updated the A record. Customer traffic redirected to an unknown IP.
A CI agent toggled repo visibility. Source code, API keys, internal docs exposed.
A migration agent dropped the users collection to "start fresh." Recovery took 3 days.
Every one of these is one YAML rule.
Wrap any MCP server. Agent sees the same tools. Intercept decides what runs.
version: "1" tools: write_file: rules: - name: "restrict paths" conditions: - path: "args.path" op: "regex" value: "^/app/src/" on_deny: "Writes restricted to /app/src" edit_file: rules: - name: "throttle edits" rate_limit: 20/minute move_file: rules: - name: "block moves" action: "deny" on_deny: "File moves not permitted"
Pre-built policy files listing every tool, categorised. Copy one, add your rules, run.
100+ servers. Thousands of tools. All open source.
Browse all policies on GitHub →If the proxy can't evaluate a call, the call is denied. Safety is the default, not the exception.
Edit policies live. Valid changes swap in instantly, invalid ones are rejected. Counters persist across reloads.
Policy checks run in-process before forwarding. No network round-trips, no added latency to your agent.
Every decision logged as structured JSONL. Tool name, result, matched rule. Arguments hashed so logs stay safe to share.
Rate limits and counters work out of the box. Switch to Redis when you need shared state across instances.
One Go binary. No runtime, no dependencies, no sidecar. Install and run in seconds on any platform.
An open-source proxy that wraps any MCP server. One line change in .mcp.json.
Point your agent at intercept -c policy.yaml -- followed by the original server command. Intercept launches the upstream server as a subprocess, proxies stdio, and evaluates every tools/call against your YAML policies before forwarding. The agent sees the same tools, same schemas — it doesn't know Intercept is there.
Anything expressible as a condition on tool name, arguments, or state.
delete_repository, drop_collection)args.amount lte 50000, args.region in ["us-east-1"])state.create_charge.daily_spend lt 1000000)*Yes. Any client that speaks MCP over stdio.
Claude Desktop, Cursor, Windsurf, custom agents — if it connects to MCP servers, Intercept can sit in front of them. No client-side changes required.
Negligible. Policy evaluation runs in-process.
No network round-trips for policy checks. The added latency is sub-millisecond. The only network dependency is if you use Redis for shared state, which adds a single round-trip per stateful rule.
Open source. One binary. Zero dependencies.
Then run intercept scan -o policy.yaml -- your-server to generate a policy for any MCP server.
Have a question or want to learn more? Send us a message.
✓ MESSAGE SENT!
We'll get back to you soon.