cordon
Jedes Unternehmen möchte KI-Agenten einsetzen. Kein Unternehmen ist bereit, einem Agenten die Schlüssel zu seiner Datenbank zu geben.
Cordon schließt die Vertrauenslücke.
Demo
https://github.com/user-attachments/assets/153d978f-6303-443a-b49b-b4ec7ebf0452
Related MCP server: protect-mcp
Das Problem
Das Model Context Protocol (MCP) hat es trivial einfach gemacht, KI-Agenten Zugriff auf mächtige Werkzeuge zu geben – Datenbanken, Dateisysteme, APIs, Cloud-Infrastruktur.
Aber MCP hat kein eingebautes Sicherheitsmodell. Keine Audit-Logs. Keine Genehmigungsworkflows. Keine Ratenbegrenzungen. Heute ist ein KI-Agent entweder aus oder vollständiger Administrator. Es gibt nichts dazwischen.
Dies ist das größte Hindernis, das KI-Agenten daran hindert, die Produktion zu erreichen.
Die Lösung
Cordon ist das Sicherheits-Gateway, das zwischen dem LLM und Ihren MCP-Servern sitzt.
Es fungiert als Firewall, Prüfer und Fernbedienung – und gibt Ihnen vollständige Transparenz und Kontrolle darüber, was Ihre KI-Agenten tun können und was nicht.
┌─────────┐ ┌──────────┐ ┌──────────────┐
│ LLM / │ ──▶ │ Cordon │ ──▶ │ MCP Server │
│ Agent │ ◀── │ Gateway │ ◀── │ (database, │
└─────────┘ └──────────┘ │ fs, APIs) │
│ └──────────────┘
├── Policy Engine
├── Audit Logger
└── Approval WorkflowsKeine Infrastrukturänderungen. Kein Umschreiben. Eine Konfigurationsdatei.
Schnellstart
Schritt 1 — Initialisieren
Führen Sie dies in Ihrem Projekt aus (dort, wo Ihre claude_desktop_config.json existiert):
npx cordon-cli initDies liest Ihre bestehende Claude Desktop MCP-Konfiguration, generiert cordon.config.ts und patcht Claude Desktop, um alle Tool-Aufrufe über Cordon zu leiten.
Schritt 2 — Starten
npx cordon-cli startCordon startet, verbindet sich mit Ihren MCP-Servern und beginnt, Tool-Aufrufe abzufangen. Starten Sie Claude Desktop neu und jeder Tool-Aufruf fließt nun durch das Gateway.
Manuelle Einrichtung
Wenn Sie die Konfiguration lieber manuell vornehmen möchten, installieren Sie es global und erstellen Sie eine Konfiguration:
npm install -g cordon-cli
cordon initcordon init generiert eine cordon.config.ts:
import { defineConfig } from 'cordon-sdk';
export default defineConfig({
servers: [
{
name: 'database',
transport: 'stdio',
command: 'npx',
args: ['-y', '@my-org/db-mcp-server'],
policy: 'read-only', // Block all write operations
},
{
name: 'github',
transport: 'stdio',
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-github'],
policy: 'approve-writes', // Reads pass; writes require approval
tools: {
delete_branch: 'block', // Never, regardless of approval
},
},
],
audit: {
enabled: true,
output: 'stdout', // or 'file'
},
approvals: {
channel: 'terminal',
timeoutMs: 60_000, // auto-deny after 60s if no response
},
});Warum Cordon
Ohne Cordon | Mit Cordon |
Agent hat uneingeschränkten Tool-Zugriff | Granulare Richtlinien pro Tool |
Keine Sichtbarkeit, was Agenten getan haben | Strukturierter Audit-Trail jedes Aufrufs |
"Hat der Agent gerade eine Tabelle gelöscht?" | Echtzeit-Genehmigungen im Terminal |
Lese- und Schreibzugriffe werden gleich behandelt |
|
Compliance-Team lehnt KI ab | Audit-Logs bereit für den Export |
Funktionen
Richtlinien-Engine
Definieren Sie Regeln pro Tool, pro Server oder global. Richtlinien auf Tool-Ebene überschreiben Server-Richtlinien.
// Server-level default
policy: 'approve-writes',
// Per-tool overrides
tools: {
query: 'allow', // reads: pass through
execute: 'approve', // writes: pause for human approval
drop_table: 'block', // catastrophic: always reject
list_tables: 'log-only', // audit but don't interrupt
},Human-in-the-Loop-Genehmigungen
Wenn ein Tool-Aufruf eine Genehmigung erfordert, hält Cordon den Agenten an und fragt Sie direkt in Ihrem Terminal:
╔══════════════════════════════════════╗
║ ⚠ APPROVAL REQUIRED ║
╚══════════════════════════════════════╝
Server : database
Tool : execute_sql
Args :
{
"query": "DELETE FROM sessions WHERE expires_at < NOW()"
}
[A]pprove [D]eny
>Der Agent wartet. Sie entscheiden.
Audit-Protokollierung
Jeder Tool-Aufruf wird als strukturiertes JSON protokolliert – die Anfrage, die Richtlinienentscheidung, die Antwort und das Timing. Leiten Sie dies an stdout weiter oder schreiben Sie es in eine Datei für Ihr Compliance-Team.
{"event":"tool_call_received","callId":"...","serverName":"database","toolName":"execute_sql","timestamp":1773434469641}
{"event":"approval_requested","callId":"...","serverName":"database","toolName":"execute_sql","timestamp":1773434469641}
{"event":"tool_call_approved","callId":"...","serverName":"database","toolName":"execute_sql","timestamp":1773434471203}
{"event":"tool_call_completed","callId":"...","durationMs":34,"isError":false,"timestamp":1773434471237}Schreibgeschützter Modus
Eine Richtlinieneinstellung, um alle Schreibvorgänge auf einem Server zu blockieren. Kein Rätselraten darüber, was als Schreibvorgang zählt – Cordon erkennt dies am Tool-Namen.
policy: 'read-only' // any tool starting with write/create/update/delete/drop/execute/... is blockedVersteckte Tools
Für Tools, die das Modell niemals sehen sollte – nicht nur beim Aufruf abgelehnt, sondern vollständig aus der tools/list-Antwort gefiltert. Schließt eine Angriffsfläche für Prompt-Injection: Wenn das Modell nie erfährt, dass ein Tool existiert, kann es nicht dazu verleitet werden, es aufzurufen.
{
name: 'database',
policy: 'approve-writes',
tools: {
drop_table: 'block', // call attempts are rejected
internal_admin: 'hidden', // not advertised to the client at all
},
}Closed-World Tool-Kataloge
Deklarieren Sie genau die Tool-Oberfläche, die Ihr Upstream-Server ankündigen soll. Wenn der Upstream in einer zukünftigen Version ein neues Tool hinzufügt, blockiert Cordon es automatisch, bis Sie es explizit freigeben.
{
name: 'postgres',
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-postgres', process.env.POSTGRES_URL!],
policy: 'read-only',
knownTools: ['query', 'list_tables', 'describe_table'], // your approved surface
onUnknownTool: 'block', // default when knownTools is set
}Wenn die nächste Postgres MCP-Version truncate_table hinzufügt, blockiert Cordon es mit einer stderr-Warnung – keine Richtlinienaktualisierung erforderlich. Lassen Sie knownTools undefiniert für abwärtskompatibles Open-World-Verhalten.
Funktionsweise
Cordon läuft als einzelner aggregierender MCP-Proxy. Anstatt dass Claude Desktop sich direkt mit Ihren MCP-Servern verbindet, verbindet es sich mit Cordon. Cordon verwaltet dann Ihre Server intern.
Before: Claude ──▶ MCP Server A (full access)
Claude ──▶ MCP Server B (full access)
After: Claude ──▶ Cordon ──▶ MCP Server A (governed)
──▶ MCP Server B (governed)Ihr LLM-Client und Ihre MCP-Server ändern sich überhaupt nicht. cordon init übernimmt das Patchen der Konfiguration.
Konfiguration
Richtlinienaktionen
Richtlinie | Verhalten |
| Sofort durchlassen |
| Ablehnen – Agent erhält einen Fehler |
| Anhalten, wartet auf menschliche Genehmigung im Terminal |
| Lesezugriffe werden durchgelassen; Schreibzugriffe erfordern Genehmigung |
| Alle Schreibvorgänge werden blockiert |
| Durchlassen, aber im Audit-Log markiert |
| Aus tools/list gefiltert – das Modell sieht es nie |
Richtlinien können auf Server-Ebene (Standard für alle Tools) oder pro Tool (überschreibt den Server-Standard) festgelegt werden:
{
name: 'my-server',
policy: 'approve-writes', // server default
tools: {
safe_read: 'allow', // override: always allow
nuke_db: 'block', // override: always block
},
}Genehmigungskanäle
Kanal | Status |
| Verfügbar – interaktive Eingabeaufforderung in Ihrem Terminal |
| Verfügbar – Block Kit-Nachrichten, HMAC-verifizierte Interaktionen |
| Kommt in v0.3 |
| Kommt in v0.3 |
Audit-Ausgaben
Ausgabe | Status |
| Verfügbar |
| Verfügbar – JSON-Zeilen, die in eine lokale Datei geschrieben werden |
| Verfügbar – sendet Ereignisse an das Cordon-Dashboard |
| Kommt in v0.3 |
Pakete
Paket | Beschreibung |
| Das CLI – |
| TypeScript-Konfigurations-SDK – |
| Kern-Proxy-Engine – Richtlinien-Evaluator, Audit-Logger, Genehmigungs-Manager |
Roadmap
[x] MCP-Proxy mit Aggregator-Modell (mehrere Server, ein Gateway)
[x] Richtlinien-Engine – allow, block, approve, approve-writes, read-only, log-only, hidden
[x] Closed-World Tool-Kataloge –
knownTools+onUnknownToolfür zukunftssichere Upstream-Oberflächenkontrolle[x] Terminal-Genehmigungskanal mit TTY-sicherer Eingabeaufforderung
[x] Slack-Genehmigungskanal – Block Kit-Nachrichten, Umfragen für Antworten
[x] Strukturierte JSON-Audit-Protokollierung an stdout, Datei oder gehostetes Dashboard
[x]
cordon init– liest automatisch die Claude Desktop-Konfiguration und patcht sie[x] Ratenbegrenzung – gleitendes Fenster, global / pro Server / pro Tool
[x] Gehostetes Dashboard – Audit-Log-Historie, CSV/JSON-Export, GitHub OAuth
[x] Stripe-Abrechnung – Kostenlose und Pro-Tarife
[ ] OpenTelemetry-Export
[ ] Team-Konten und zentralisierte Governance
[ ] HTTP/SSE-Transportunterstützung
Beispiele
Siehe examples/security-showcase für eine funktionierende Demo von Cordon, das einen Agenten abfängt, der versucht, eine Produktionsdatenbanktabelle zu löschen.
cd examples/security-showcase
npm install
npm run demoAnwendungsfälle
Solo-Entwickler – Sichern Sie Ihr lokales Claude/Cursor-Setup. Sehen Sie genau, was Ihr Agent aufruft, und blockieren Sie alles Gefährliche, bevor es die Produktion erreicht.
Startup-Team – Setzen Sie Agenten mit Zuversicht ein. Jeder Tool-Aufruf wird protokolliert, Schreibvorgänge erfordern eine Genehmigung und Ihr Compliance-Team hat einen Nachweis.
Unternehmen – Zentralisierte Governance über alle KI-Agenten-Bereitstellungen hinweg. Policy-as-Code, strukturierte Protokolle und ein klarer Weg zu SOC2-konformen Audit-Trails.
Funktioniert hervorragend mit
Agent Toolbelt – ein typisiertes Toolkit mit fertigen MCP-Tools (Websuche, Fetch, Dateisystem und mehr). Binden Sie es in Claude Desktop ein und leiten Sie diese Tool-Aufrufe dann durch Cordon zur Richtliniendurchsetzung und Audit-Protokollierung. Agent Toolbelt gibt Ihren Agenten Macht; Cordon stellt sicher, dass sie fragen, bevor sie sie nutzen.
Build & Ship MCP Tools – der Begleitkurs, der Sie Schritt für Schritt durch den Aufbau Ihrer eigenen MCP-Server führt. Modul 6 behandelt die Sicherung Ihres Servers mit Cordon.
Mitwirken
Cordon ist Open Source und wir freuen uns über Beiträge.
git clone https://github.com/marras0914/cordon.git
cd cordon
npm install
npm run build
npm run devLizenz
MIT – siehe LICENSE für Details.
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
AlicenseNot gradedqualityCmaintenancePolicy enforcement gateway for MCP tool calls, evaluating every tool invocation against declarative YAML policies (allow/deny/escalate-to-human), generating cryptographic hash-chained audit receipts, and including built-in content safety scanning.2MIT- AlicenseBqualityCmaintenanceSecurity gateway that wraps any MCP server with per-tool policies, approval gates, and optional Ed25519-signed decision receipts. Shadow mode logs every tool call without blocking; enforce mode applies block, rate-limit, and minimum-tier rules. Receipts are independently verifiable offline with no accounts needed.54699MIT
- AlicenseNot gradedqualityBmaintenanceA policy-enforcing MCP gateway that intercepts all tool calls to downstream MCP servers, applying allow/deny/ask rules with human approval and audit logging for safe access to dangerous tools.23MIT

evav-gatewayofficial
AlicenseNot gradedqualityBmaintenanceGoverned MCP gateway that lets AI agents call tools with policy enforcement, prompt-injection screening, a kill-switch, and tamper-evident signed audit logs.Apache 2.0
Related MCP Connectors
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Runtime permission, approval, and audit layer for AI agent tool execution.
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
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/marras0914/cordon'
If you have feedback or need assistance with the MCP directory API, please join our Discord server