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
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 Genehmigungs-Workflows. 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 Fernsteuerung — 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 |
Lesen und Schreiben werden gleich behandelt |
|
Compliance-Team sagt Nein zu KI | 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-Logging
Jeder Tool-Aufruf wird als strukturiertes JSON protokolliert — die Anfrage, die Richtlinienentscheidung, die Antwort und das Timing. Leiten Sie es 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, 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 blockedFunktionsweise
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
Richtlinien-Aktionen
Richtlinie | Verhalten |
| Sofort durchlassen |
| Ablehnen — Agent erhält einen Fehler |
| Anhalten bis zur menschlichen Genehmigung im Terminal |
| Lesezugriffe werden durchgelassen; Schreibzugriffe erfordern Genehmigung |
| Alle Schreibvorgänge werden blockiert |
| Durchlassen, aber im Audit-Log markieren |
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 werden in eine lokale Datei geschrieben |
| 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
[x] Terminal-Genehmigungskanal mit TTY-sicherer Eingabeaufforderung
[x] Slack-Genehmigungskanal — Block Kit-Nachrichten, Umfragen für Antworten
[x] Strukturiertes JSON-Audit-Logging 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-Verlauf, 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 die Erstellung 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.
Latest Blog Posts
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