Skip to main content

MCPermit - User's Guide

Version 0.1.2


info

This pages describes an upcoming product; details are subject to change. To get early access to MCPermit, contact us via email or via Slack.


Introduction

MCPermit adds a drop-in permissions layer to any Model Context Protocol (MCP) server.
Routing traffic through the gateway at https://mcp.permit.io

Using MCPermit ensures every AI-agent call is:

  1. Authenticated – ties together user & agent identities.
  2. Authorized – enforced with fine-grained ReBAC.
  3. Audited – full log plus anomaly alerts.
  4. Optionally approved – human-in-the-loop (HITL) for risky operations.

All surfaced through one console.


Core Concepts

TermMeaning in MCPermit
OriginatorHuman user delegating authority to an agent.
AgentMCP client acting on behalf of an originator.
MCP ServerTool endpoint that implements the MCP spec (e.g., Gmail-MCP).
GatewayMCPermit proxy enforcing policy at mcp.permit.io.
PDPEmbedded Permit.io policy engine (OPA + OPAL).
Project / EnvironmentConfig scope in the UI (e.g., My-App / Prod).
On-Behalf-OfRelationship linking originator ↔ agent ↔ server.

Persona-Based Quick Starts

3.1 Application Security - Initial Gateway Setup

StepActionWhere
1Create an Org – Sign in via company SSO → Create new org.Web console
2Select DeploymentHosted (default) or Self-hosted.Settings ▸ Gateway
3Connect SSO – OIDC/SAML wizard → map groups to roles.Settings ▸ Identity
4Define Org Policy – choose allowed agent-type ↔ server-type pairs (e.g., chat → personal).Policy Builder
5Invite Dev Team – assign the Developer role.Directory ▸ Originators
6Verify Logs – run the sample agent and confirm traffic under Audit ▸ Logs.Main pane

Hosted URL pattern


[https://mcp.permit.io/](https://mcp.permit.io/)<org>/<env>/<service>

(Self-hosted keeps the same path structure behind your own domain.)


3.2 Developers - Registering Servers and Agents

  1. Add Your MCP Server
    Dashboard ▸ MCP Servers ▸ ➕ Register

    • Choose Server Type (personal, corporate, sensitive, …).
    • Copy the Gateway URL (example: https://mcp.permit.io/acme/prod/gmail-mcp).
    • Point your reverse-proxy or server config to that path.
  2. Instrument the Agent

    # Minimal change – point to the gateway
    export MCP_BASE_URL=https://mcp.permit.io/acme/prod
    python run_my_agent.py

The gateway will redirect to identify_self if delegation is missing.

  1. Scopes & Functions MCP Servers ▸ server ▸ Functions

    • Toggle Requires identify_self (default ON).
    • Tag functions with clear labels (Read Email, Create Event).
  2. Local Testing Use Preview to replay calls and view JWT claims, Rego decision traces, and audit entries.


3.3 End-Users - Authorizing and Monitoring Agents

What You DoHow
Run the agent (first time)Agent shows an approval dialog hosted at mcp.permit.io.
Grant or deny scopesFor each MCP server, click Allow or Cancel.
View activityDetect ▸ Logs → filter by My Agents.
Step-Up approvalSlack/email prompt for sensitive ops → click to approve or block.
Revoke accessDirectory ▸ AgentsRevoke Delegation (calls blocked immediately).

Example Authorize Agent UI Flow

Example UI Flow

Note: Clicking Authorize Agent will authorize the agent to access the MCP server, and will redirect to the external tools' OAuth flow, and then back to the agent's configured callback URL.


Sidebar SectionWhat You'll Find
DirectoryOriginators, Agents, MCP Servers.
AuditLogs (search), Anomaly (risk scoring), Chains of Trust (graph).
DetectDLP findings, SCAN (scope drift).

Top-left Project / Environment selector scopes every view.


Global Policy Management Cheat-Sheet

GoalUI PathExample
Block all ambient agents from sensitive serversPolicy Builder ▸ Org Rulesdeny { agent_type == "ambient"; server_type == "sensitive" }
Allow Alice's bot to create_event only 09-18 localAgent Rules + time conditionallow { originator == "alice"; func == "create_event"; hour < 18 }
Require HITL for deletesIn the function row, toggle Requires Approvaldelete_message

Visual edits compile to Rego and hot-push to every gateway.


Troubleshooting

SymptomLikely CauseFix
403 – identify_self requiredAgent skipped identify_self.Ensure SDK auto-invokes or call manually.
No agents visibleDelegation incomplete.Resend approval link in Agents ▸ Pending.
TimeoutsSelf-hosted gateway cannot reach the PDP.Check OPAL side-car or switch to embedded PDP.
Missing logsLog sink offline.Settings ▸ Logging → test sink or use local store.

Glossary

TermDefinition
Agent TypeBehaviour class (chat, proactive, ambient).
Server TypeRisk tag (personal, financial, sensitive).
HITLHuman-in-the-loop approval.
ReBACRelationship-based access control.
OPA / OPALOpen Policy Agent / policy push layer.

Need help?

Support: support@permit.io Slack: Slack #agentic-ai

info

This pages describes an upcoming product; details are subject to change. To get early access to MCPermit, contact us via email or via Slack.

Secure your AI in minutes — route it through mcp.permit.io and relax.