One enforcement layer across every MCP server your agents reach. Deterministic policy on every tool call. Per-person access. Full audit log.
They are moving capital, reconfiguring infrastructure, rewriting production systems, and triggering real-world operations at machine speed. But the industry is relying on probabilistic prompts to protect deterministic systems.
PolicyLayer is the missing control plane. Every MCP call is evaluated at the transport boundary before it reaches the system it can change.
PolicyLayer is the control plane for your MCP traffic. Add your upstream server, define what agents are allowed to do, issue per-person access, and paste the proxy URL into Claude Code, Cursor, Windsurf, Codex, or Gemini. The agent keeps the same tool schemas — PolicyLayer decides which calls reach the server.
For every tool, decide what can run, who can run it, and under what conditions. Match on arguments like amounts, environments, branches, query patterns, and recipients.
Every server's tools auto-discovered via the upstream's tools/list and surfaced in the dashboard with full schemas. Edit policy directly per tool.
Each person or agent gets a labelled bearer token attached to a named policy. Different grants on the same server can run different policies. Revoke any grant without touching the others.
Every call recorded with the grant that made it, the outcome, the policy version that decided, and the rule path that fired. Filter by server, grant, or outcome.
Every save creates an immutable policy version. Roll back without losing history. Diff what changed, who changed it, and when.
Static API keys and OAuth tokens stored AES-256-GCM encrypted at the column level, decrypted only on the path to the upstream MCP.
Upstream credentials cannot be read back through the dashboard or API once saved. They never appear in events, logs, or the bearer tokens issued to clients.
Ambiguous grant, policy, or upstream states resolve to deny, not allow.
Decision events and policy versions are append-only by design. The audit log you build can't be edited or removed from inside the app.
Pre-classified tools across thousands of MCP endpoints. Know what's dangerous before your agents do.
12 write · 3 destructive · 12 read
22 write · 8 destructive · 25 read
14 write · 5 destructive · 13 read
15 write · 4 destructive · 15 read
28 write · 6 destructive · 28 read
4 write · 3 destructive · 5 read
Anything that speaks the MCP protocol — Stripe, GitHub, Postgres, AWS, Slack, Cloudflare, Sentry, Vercel, Linear, Notion — plus self-hosted and community servers. If your client can connect to it over MCP, you can route it through PolicyLayer.
No. Your MCP client connects to a PolicyLayer URL with a grant token — issued per person or per agent. Same tools. Same schemas.
Prompts ask the agent to behave. PolicyLayer decides what it can do. Every call is evaluated at the transport boundary, before it reaches the upstream server.
PolicyLayer accepts static API keys or managed OAuth with full discovery, registration, and refresh. We store credentials AES-256-GCM encrypted at the column level, decrypted only on the path to the upstream MCP. Once saved, no one — including us — can read them back through the dashboard or API. They never appear in events, logs, or the tokens issued to clients. Your users and agents authenticate to PolicyLayer with their own scoped tokens, never the raw upstream credential.
Teams running multiple MCP servers in production: AI engineers, platform engineers, security teams, and technical leaders who need deterministic control over agent actions.
We're onboarding teams now. After you sign up, expect to hear from us within a week. We're prioritising teams running 5+ MCP servers in production.
Free during the initial launch phase.
Get the gateway. Get the dashboard. Get the audit log.