Permit MCP Gateway
Control what AI agents can do with your MCP tools, without rewriting the tools.
Permit MCP Gateway is a proxy between MCP clients (Cursor, Claude, VS Code, and other AI tools) and the MCP servers they connect to. It authenticates the human behind each agent, checks every tool call against policy, records the human's consent, and logs each decision.
You don't add an SDK, rewrite agents, or change your MCP servers. The diagram shows the path of one tool call.
The path of one MCP tool call
- MCP clientCursor, Claude, or VS Code, acting for a human who signed in and set a trust level.
- Permit MCP GatewayVerifies the session and binds every tool call to that human and that agent.
- permit.check()Runs on every tool call: agent trust level, human trust ceiling, and the tool's risk.
- Upstream MCP serverReceives only allowed calls. Upstream OAuth tokens stay with the gateway, and the server is unchanged.
- Audit logEvery allowed or denied tool call, with the human, the agent, and the reason.
For Developers and Platform Teams
- Three setup steps: create a host, import an MCP server, and share the gateway URL
- Works with existing MCP servers: GitHub, Linear, Slack, Jira, and any server that speaks MCP
- Client configs to copy: snippets for Cursor, Claude Desktop, VS Code, and Claude Code
- Predictable runtime: allowed calls pass through unchanged, and denied calls return a clear error
For Security, IAM, and Governance Teams
- Identity-aware access control: every tool call is bound to a specific human and a specific agent
- Least privilege: tools are classified by risk, and admins set a trust ceiling per user
- Consent-based delegation: humans explicitly authorize agent access, within the boundaries admins define
- Audit trail: every decision is logged with who, what, where, when, and the allow or deny result
- Deny by default: no user or agent can use a tool until they are granted permission
Read the Overview for how the gateway works, its security and trust model, and how it compares to existing tools.
Built on Permit.io
Permit MCP Gateway runs on Permit.io, which is the control plane and default data plane for every gateway instance.
- Every gateway host maps 1:1 to a Permit environment. All policies, users, and audit data for that host live in the linked environment.
- Your gateway policies can use every Permit policy model and feature: RBAC, ABAC, ReBAC, real-time updates, and policy as code.
- You work in two dashboards: app.permit.io for policy management and audit analysis, and app.agent.security for gateway and MCP server management.
See Permit.io Integration for the detailed policy model.
Start Here
- Follow the Quick Start to get a secured gateway URL for any MCP server in under 5 minutes
- Read the Overview to understand what the gateway enforces and when to use it
- Follow the Getting Started Guide for the full walkthrough including trust levels, user management, and audit logs
Go Deeper
- Platform Reference: the admin UI for managing hosts, servers, and users
- Humans & Agents: manage users and the AI agents acting on their behalf
- Host Setup Guide: multi-host patterns, onboarding at scale, and rollout guidance
- HTTP Egress Proxy: govern an agent's outbound HTTP and HTTPS API calls, not only its MCP tools
- Authentication Methods: SSO, OAuth, and sign-in configuration
- Consent Service: the user consent journey in detail
- Audit Logs: read, filter, and investigate activity logs
- Architecture: technical architecture, data flows, and sequence diagrams
- Permit.io Integration: policy engine internals and the authorization model
- Advanced Features: enterprise capabilities and roadmap
- Enterprise Deployment: customer-controlled and on-premises deployment for regulated environments and data residency
Prerequisites
- A Permit.io account (free tier available)
- Access to the Permit MCP Gateway admin dashboard where you create hosts, import MCP servers, manage users, and monitor activity
Support
- Ask in the Slack Community
- Use the Permit.io API Reference for the underlying authorization API
- Email support@permit.io