Skip to main content
Glama

npm version npm downloads License: MIT IETF Draft MCP Registry PyPI: protect-mcp-adk

protect-mcp

Unternehmens-Sicherheits-Gateway für MCP-Server und Claude Code Hooks. Signierte Belege, Cedar-Richtlinien und Schwarm-bewusste Audit-Trails.

Integriert in das Microsoft Agent Governance Toolkit | IETF Internet-Draft | Live-Demo: acta.today/wiki

Schnellstart — Claude Code

Zwei Befehle. Jeder Tool-Aufruf wird quittiert.

# 1. Generate hooks, keys, Cedar policy, and /verify-receipt skill
npx protect-mcp init-hooks

# 2. Start the hook server
npx protect-mcp serve

Öffnen Sie Claude Code im selben Projekt. Jeder Tool-Aufruf wird nun abgefangen, bewertet und signiert.

Was init-hooks erstellt

Datei

Zweck

.claude/settings.json

Hook-Konfiguration (PreToolUse, PostToolUse, + 9 Lebenszyklus-Ereignisse)

keys/gateway.json

Ed25519-Signaturschlüsselpaar (automatisch in .gitignore)

policies/agent.cedar

Starter-Cedar-Richtlinie – an Ihre Bedürfnisse anpassbar

protect-mcp.json

JSON-Richtlinie mit Signierung + Ratenbegrenzungen

.claude/skills/verify-receipt/SKILL.md

/verify-receipt Skill für Claude Code

Architektur

Claude Code  →  POST /hook  →  protect-mcp (Cedar + sign)  →  response
                                    ↓
                            .protect-mcp-log.jsonl
                            .protect-mcp-receipts.jsonl
  • PreToolUse: synchrone Cedar-Richtlinienprüfung → deny blockiert das Tool

  • PostToolUse: asynchrone Belegsignierung → keine Latenzauswirkungen

  • deny ist architektonisch endgültig — es kann nicht durch das Modell oder andere Hooks überschrieben werden

Endpunkte

Methode

Pfad

Beschreibung

POST

/hook

Claude Code Hook-Endpunkt

GET

/health

Serverstatus, Richtlinieninformationen, Signierer-Informationen

GET

/receipts

Kürzlich signierte Belege

GET

/receipts/latest

Zuletzt erstellter Beleg

GET

/suggestions

Automatisch generierte Vorschläge für Cedar-Richtlinienkorrekturen

GET

/alerts

Warnungen bei Konfigurationsmanipulation

Belege verifizieren

# Inside Claude Code:
/verify-receipt

# From terminal:
curl http://127.0.0.1:9377/receipts/latest | jq .
npx protect-mcp receipts

# Check policy suggestions:
curl http://127.0.0.1:9377/suggestions | jq .

Related MCP server: verify-mcp

Schnellstart — MCP-Server-Wrapper

Umhüllen Sie jeden stdio-MCP-Server als transparenten Proxy:

# Shadow mode — log every tool call, enforce nothing
npx protect-mcp -- node my-server.js

# Enforce mode with policy
npx protect-mcp --policy protect-mcp.json --enforce -- node my-server.js

# Generate keys + config template
npx protect-mcp init

Funktionsweise

protect-mcp bewertet jeden Tool-Aufruf anhand einer Richtlinie (JSON, Cedar oder externer PDP), signiert die Entscheidung als Ed25519-Beleg und protokolliert das Ergebnis.

Zwei Integrationsmodi:

Modus

Transport

Anwendungsfall

Hook-Server

HTTP (npx protect-mcp serve)

Claude Code, Agenten-Schwärme

Stdio-Proxy

stdin/stdout (npx protect-mcp -- ...)

Claude Desktop, Cursor, jeder MCP-Client

Drei Richtlinien-Engines:

Engine

Konfiguration

Hinweise

JSON

--policy policy.json

Einfache Regeln pro Tool

Cedar

--cedar ./policies/

Lokale WASM-Auswertung via @cedar-policy/cedar-wasm

Externer PDP

policy_engine: "external"

OPA, Cerbos oder jeder HTTP-PDP

Schwarm-Tracking

In Multi-Agenten-Sitzungen verfolgt protect-mcp automatisch die Schwarm-Topologie.

11 behandelte Hook-Ereignisse:

Ereignis

Typ

Beschreibung

PreToolUse

Sync

Cedar/Richtlinienbewertung vor Tool-Ausführung

PostToolUse

Async

Belegsignierung nach Tool-Ausführung

SubagentStart / SubagentStop

Lebenszyklus

Start/Abschluss eines Worker-Agenten

TaskCreated / TaskCompleted

Lebenszyklus

Zuweisung einer Koordinator-Aufgabe

SessionStart / SessionEnd

Lebenszyklus

Sitzungslebenszyklus mit Sandbox-Erkennung

TeammateIdle

Lebenszyklus

Überwachung der Agentenauslastung

ConfigChange

Sicherheit

Manipulationserkennung für .claude/settings.json

Stop

Lebenszyklus

Finalisierung + Zusammenfassung der Richtlinienvorschläge

Jeder Beleg enthält:

  • swarm.agent_id, swarm.agent_type, swarm.team_name

  • timing.tool_duration_ms, timing.hook_latency_ms

  • payload_digest (SHA-256 Hash für Payloads >1KB)

  • deny_iteration (Wiederholungsanzahl nach Ablehnung)

  • sandbox_state (aktiviert/deaktiviert/nicht verfügbar)

  • OpenTelemetry otel_trace_id und otel_span_id

Richtliniendatei

{
  "default_tier": "unknown",
  "tools": {
    "dangerous_tool": { "block": true },
    "admin_tool": { "min_tier": "signed-known", "rate_limit": "5/hour" },
    "read_tool": { "require": "any", "rate_limit": "100/hour" },
    "*": { "rate_limit": "500/hour" }
  },
  "signing": {
    "key_path": "./keys/gateway.json",
    "issuer": "protect-mcp",
    "enabled": true
  }
}

Cedar-Richtlinien

Cedar-Ablehnungsentscheidungen sind autoritativ — sie können nicht überschrieben werden.

// Allow read-only tools
permit(
  principal,
  action == Action::"MCP::Tool::call",
  resource == Tool::"Read"
);

// Block destructive tools
forbid(
  principal,
  action == Action::"MCP::Tool::call",
  resource == Tool::"delete_file"
);

Wenn ein Tool abgelehnt wird, schlägt protect-mcp automatisch die minimale Cedar permit()-Regel via GET /suggestions vor.

CVE-verankerte Richtlinienpakete

Jedes verhindert einen realen Angriff:

Richtlinie

Vorfall

OWASP

clinejection.json

CVE-2025-6514: MCP OAuth-Proxy-Hijack (437K Umgebungen)

A01, A03

terraform-destroy.json

Autonomer Terraform-Agent zerstört Produktion

A05, A06

github-mcp-hijack.json

Prompt-Injection via manipuliertem GitHub-Issue

A01, A02, A03

data-exfiltration.json

Datendiebstahl durch Agenten via ausgehendem Tool-Missbrauch

A02, A04

financial-safe.json

Nicht autorisierte Finanztransaktion

A05, A06

Cedar-Äquivalente sind in policies/cedar/ verfügbar.

MCP-Client-Konfiguration

Claude Desktop

{
  "mcpServers": {
    "my-protected-server": {
      "command": "npx",
      "args": [
        "-y", "protect-mcp",
        "--policy", "/path/to/protect-mcp.json",
        "--enforce",
        "--", "node", "my-server.js"
      ]
    }
  }
}

Cursor / VS Code

Das gleiche Muster — ersetzen Sie den Server-Befehl durch protect-mcp, um ihn zu umhüllen.

CLI-Befehle

Commands:
  serve             Start HTTP hook server for Claude Code (port 9377)
  init-hooks        Generate Claude Code hook config + skill + sample Cedar policy
  quickstart        Zero-config onboarding: init + demo + show receipts
  init              Generate Ed25519 keypair + config template
  demo              Start a demo server wrapped with protect-mcp
  doctor            Check your setup: keys, policies, verifier, connectivity
  trace <id>        Visualize the receipt DAG from a given receipt_id
  status            Show tool call statistics from the decision log
  digest            Generate a human-readable summary of agent activity
  receipts          Show recent persisted signed receipts
  bundle            Export an offline-verifiable audit bundle
  simulate          Dry-run a policy against recorded tool calls
  report            Generate a compliance report from an audit bundle

Options:
  --policy <path>   Policy/config JSON file
  --cedar <dir>     Cedar policy directory
  --enforce         Enable enforcement mode (default: shadow)
  --port <port>     HTTP server port (default: 9377 for serve)
  --verbose         Enable debug logging

Entscheidungsprotokolle

Jeder Tool-Aufruf gibt strukturiertes JSON an stderr aus:

[PROTECT_MCP] {"v":2,"tool":"read_file","decision":"allow","reason_code":"cedar_allow","policy_digest":"a1b2c3...","mode":"enforce","hook_event":"PreToolUse","timing":{"hook_latency_ms":1},"otel_trace_id":"..."}

Wenn die Signierung konfiguriert ist, wird ein signierter Beleg in .protect-mcp-receipts.jsonl gespeichert.

Audit-Bundles

npx protect-mcp bundle --output audit.json

In sich geschlossenes, offline verifizierbares Bundle mit Belegen + Signaturschlüsseln. Verifizieren mit npx @veritasacta/verify.

Verifizierte Wissensdatenbank (acta.today/wiki)

Die Belegsignierung von protect-mcp unterstützt die weltweit erste verifizierte Multi-Modell-Wissensdatenbank unter acta.today/wiki.

Jede Wissenseinheit (Knowledge Unit) wird von 4 Spitzenmodellen in 3 gegnerischen Runden erstellt, mit Ed25519-Belegen für jede Modellantwort. Die aktuelle Liste:

Modell

Anbieter

Herkunft

Claude Opus 4.6

Anthropic

US

GPT-5.4

OpenAI

US

Grok 4.20

xAI

US

Gemini 3.1 Pro

Google

US

DeepSeek V3.2

DeepSeek

CN

MiniMax M2.7

MiniMax

CN

Kimi K2.5

Moonshot

CN

Qwen 2.5 72B

Alibaba

CN

Jede KU ist unabhängig verifizierbar: npx @veritasacta/verify receipt.json

Ökosystem-Integrationen

Projekt

Sterne

Integration

Status

Microsoft Agent Governance Toolkit

600+

Cedar-Richtlinienbrücke + Belegsignierung

Zusammengeführt (PR #667)

Mission Control

3.700+

Ed25519-Belegsignierung für MCP-Audit-Pipeline

PR #556 eingereicht

Assay

Signierte Belege als Beweisquelle

Aktive Diskussion (#1029)

Hermes Agent

24.500+

Kryptografischer Audit-Trail für Skill-Ausführung

Issue #5041

DeerFlow

57.600+

Kryptografische Integrität für Persistenzschicht

Diskussion #1855

Pro-Workflow

1.500+

MCP-Konfigurationsempfehlung

PR #41

Zeroshot

1.400+

Kryptografische Belege für Validator-Urteile

Issue #464

Standards & IP

  • IETF Internet-Drafts:

  • Patentstatus: 4 australische vorläufige Patente angemeldet (2025-2026), die Entscheidungsbelege mit konfigurierbarer Offenlegung, Tool-Calling-Gateway, Agenten-Manifeste und portable Identität abdecken

  • Verifizierung: Apache-2.0 — npx @veritasacta/verify --self-test

  • Microsoft AGT-Integration: PR #667 — Cedar-Richtlinienbrücke für das Agent Governance Toolkit

Verwandte Repositories

Repository

Beschreibung

VeritasActa/Acta

Offenes Protokoll für anfechtbare öffentliche Aufzeichnungen (Apache-2.0)

VeritasActa/drafts

IETF Internet-Draft Quelldateien

ScopeBlind/examples

Integrationsbeispiele: Claude Code Hooks, Express API, MCP-Server-Signierung

@veritasacta/verify

Offline-Belegverifizierer (Apache-2.0)

@scopeblind/passport

Agenten-Identitäts-SDK (Apache-2.0)

protect-mcp-adk

Google ADK Belegsignierungs-Plugin (MIT, Python)

Mitwirken

Issues und Pull Requests sind willkommen. Bitte eröffnen Sie bei wesentlichen Änderungen zuerst ein Issue.

  • Fehlerberichte: Geben Sie die protect-mcp-Version, Node.js-Version und Schritte zur Reproduktion an

  • Cedar-Richtlinien: Teilen Sie wiederverwendbare Richtlinien per PR im Verzeichnis policies/cedar/

  • Integrationsbeispiele: Fügen Sie diese zu ScopeBlind/examples hinzu

Lizenz

MIT — frei zu verwenden, zu ändern, zu verbreiten und ohne Einschränkungen darauf aufzubauen.

scopeblind.com · npm · veritasacta.com · IETF Drafts

-
security - not tested
A
license - permissive license
-
quality - not tested

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/ScopeBlind/scopeblind-gateway'

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