mcp-policy-gateway
mcp-policy-gateway
Eine Policy-first-MCP-Server-Referenzimplementierung. Sie zeigt, wie man einem Agenten nützliche Werkzeuge bereitstellt, ohne dem Modell zu erlauben, Autorisierungen zu entscheiden, Mandantengrenzen zu überschreiten, direkte personenbezogene Daten (PII) preiszugeben oder eigenständig risikoreiche Mutationen auszuführen.
Dies ist eine Portfolio-/Referenzimplementierung. Alle Datensätze sind synthetisch; es ist keine Produktionssoftware und erhebt nicht den Anspruch, in ein Bank-, Zahlungsabwicklungs- oder Kundensystem integriert zu sein.
Warum dieses Projekt existiert
Ein übliches MCP-Demo stellt einem Modell eine rohe API zur Verfügung und behandelt einen erfolgreichen Tool-Aufruf als Sicherheitsmodell. Dieses Projekt vertritt die gegenteilige Position:
Policy ist deterministisch. Das Modell kann sich nicht selbst autorisieren.
Die Mandantengrenze wird serverseitig durchgesetzt. Ein Tool-Argument kann den Mandanten nicht wechseln.
Die Tool-Ausgabe ist minimiert. Die Kontozusammenfassung schließt Eigentümername und E-Mail bewusst aus.
Risikoreiche Aktionen enden an einem Genehmigungs-Gate. Eine Sperranfrage erzeugt keine Zustandsänderung.
Jede Entscheidung ist auditierbar. Allow-, Deny- und Genehmigungsergebnisse erzeugen strukturierte Audit-Ereignisse.
Mutationsanfragen erfordern einen Grund und einen Idempotenzschlüssel.
Related MCP server: scopeguard-mcp
Architektur
MCP client / agent
│ tool call
▼
FastMCP stdio adapter
│ verified principal (demo fixture here)
▼
GatewayService ──► PolicyEngine ──► allow / deny / require approval
│ │
▼ ▼
synthetic domain data structured audit eventIn einer Produktionsumgebung würde der Principal aus einer verifizierten Identität/Sitzung außerhalb des Modellkontexts abgeleitet. Akzeptieren Sie tenant_id, Rollen oder Scopes niemals aus einem Tool-Argument oder einer Modellausgabe.
Tools
Tool | Risiko | Verhalten |
| Lesen | Erlaubt nur Fälle im Mandanten des Aufrufers mit dem richtigen Scope. |
| Lesen | Gibt eine minimierte Zusammenfassung zurück; niemals direkte personenbezogene Daten (PII). |
| Mutation | Erfordert einen Scope, einen Grund und einen Idempotenzschlüssel und erfordert dann immer eine menschliche Genehmigung. |
Schnellstart
Erfordert Python 3.11+.
python -m venv .venv
.venv/bin/pip install -e '.[dev]'
.venv/bin/pytest
.venv/bin/ruff check .Als MCP-stdio-Server ausführen:
.venv/bin/mcp-policy-gatewayDer Adapter verwendet für die lokale Erkundung bewusst einen festen Demo-Principal. Die echte Identitätsweitergabe wird absichtlich als Produktionsintegrationsaspekt dokumentiert und hier nicht simuliert.
Demonstrierte Missbrauchskontrollen
Die Tests beweisen, dass das Gateway:
einem Agenten aus
tenant_redden Zugriff auf Daten vontenant_blueverweigert;einen Tool-Aufruf ohne den erforderlichen Scope verweigert;
Eigentümername oder E-Mail nicht über das Zusammenfassungs-Tool zurückgibt;
require_approvalzurückgibt, anstatt den Kontostatus zu mutieren; undzustandsändernde Anfragen ablehnt, die einen Grund oder Idempotenzschlüssel auslassen.
Bedrohungsmodell und Nicht-Ziele
Siehe THREAT_MODEL.md. Das Design ist bewusst eng gefasst: Es demonstriert eine Policy-Grenze um MCP-Tools, nicht eine vollständige Identitätsinfrastruktur, dauerhafte Audit-Speicherung, Secrets-Management oder ein Zahlungs-/Hauptbuchsystem.
Interview-Durchlauf
Eine prägnante Möglichkeit, das Projekt zu erklären:
Ich habe die MCP-Grenze so gestaltet, dass das Modell über sichere, scoped Daten nachdenken kann, aber keinen Zugriff entscheiden oder risikoreiche Aktionen ausführen kann. Die Autorisierung ist deterministisch, die Mandantenisolierung wird serverseitig durchgesetzt, die Tool-Oberfläche minimiert personenbezogene Daten (PII), und sensible Mutationen enden in einem auditierbaren menschlichen Genehmigungs-Gate.
Entwicklung
.venv/bin/pytest
.venv/bin/ruff check .CI führt beide Prüfungen bei Pushes und Pull Requests aus.
Lizenz
MIT. Siehe LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceA governance and policy enforcement gateway for MCP servers that provides hard guardrails, dynamic parameter bounds, human-in-the-loop approvals, and audit telemetry.211MIT
- AlicenseAqualityCmaintenanceEnables policy-first defensive security operations for MCP, providing repository and web-security analysis with controlled authorization, scoped execution, and auditability.9MIT
- FlicenseNot gradedqualityCmaintenanceEnables approval-gated incident response workflows that gather evidence through read-only MCP tools, perform idempotent writes, and preserve a durable audit trail.1
- AlicenseNot gradedqualityCmaintenanceEnforces fine-grained, context-aware access control on MCP tool calls, with a tamper-evident, replayable audit log that records denials and verifies every decision.MIT
Related MCP Connectors
Remote MCP for A2A caller identity, scope policy, verdict receipts, and audit history.
Paid remote MCP for AI Studio Workspace approval gate MCP, structured receipts, audit logs, and revi
Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jcorrego/mcp-policy-gateway'
If you have feedback or need assistance with the MCP directory API, please join our Discord server