Skip to main content
Glama

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 Workflows

Keine 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 init

Dies 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 start

Cordon 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 init

cordon 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

approve-writes lässt Lesezugriffe automatisch durch

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 blocked

Versteckte 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

allow

Sofort durchlassen

block

Ablehnen – Agent erhält einen Fehler

approve

Anhalten, wartet auf menschliche Genehmigung im Terminal

approve-writes

Lesezugriffe werden durchgelassen; Schreibzugriffe erfordern Genehmigung

read-only

Alle Schreibvorgänge werden blockiert

log-only

Durchlassen, aber im Audit-Log markiert

hidden

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

terminal

Verfügbar – interaktive Eingabeaufforderung in Ihrem Terminal

slack

Verfügbar – Block Kit-Nachrichten, HMAC-verifizierte Interaktionen

web

Kommt in v0.3

webhook

Kommt in v0.3

Audit-Ausgaben

Ausgabe

Status

stdout

Verfügbar

file

Verfügbar – JSON-Zeilen, die in eine lokale Datei geschrieben werden

hosted

Verfügbar – sendet Ereignisse an das Cordon-Dashboard

otlp

Kommt in v0.3


Pakete

Paket

Beschreibung

cordon-cli

Das CLI – npx cordon-cli start

cordon-sdk

TypeScript-Konfigurations-SDK – defineConfig() und alle Typen

@getcordon/core

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 + onUnknownTool fü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 demo

Anwendungsfä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 dev

Lizenz

MIT – siehe LICENSE für Details.


Install Server
A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
4wRelease cycle
4Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    Policy 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.
    2
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Security 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.
    5
    469
    9
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A 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.
    23
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Governed 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

View all related MCP servers

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.

View all MCP Connectors

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