Skip to main content
Glama
gtrotter13

thewardn-mcp

by gtrotter13

thewardn-mcp

WARDN Governance-Wrapper für MCP-Server — jeder Claude-Tool-Aufruf, kontrolliert.

Wenn Claude Desktop eine Verbindung zu einem MCP-Server (Google Drive, GitHub, Slack, Dateisystem usw.) herstellt, kann es jedes Tool autonom und ohne Aufsicht aufrufen. thewardn-mcp schaltet sich zwischen Claude und Ihre echten MCP-Server. Jeder Tool-Aufruf durchläuft die Governance-Engine von TheWARDN, bevor er den eigentlichen Dienst erreicht. BLOCKED-Aufrufe werden niemals ausgeführt. HELD-Aufrufe gelangen zur menschlichen Überprüfung in die Treuhandverwaltung (Escrow). CLEARED-Aufrufe werden transparent weitergeleitet.


Funktionsweise

Claude Desktop
      |
      | (MCP protocol over stdio)
      v
wardn-mcp governance server    <-- this package
      |
      | POST /tool/govern  →  api.thewardn.ai
      |     verdict: CLEARED / HELD / BLOCKED
      |
      | (if CLEARED)
      v
Real MCP server (Google Drive, GitHub, etc.)

Jeder Tool-Aufruf durchläuft die CHAM-Richtlinien-Engine (Contextual Harm Assessment Module) von TheWARDN. Die Urteile werden versiegelt, unveränderlich gespeichert und in der WARDN-Audit-Chain protokolliert. Treuhand-Fälle (Escrow) erscheinen zur Überprüfung durch Administratoren in der WARDN-Konsole unter console.thewardn.ai.


Related MCP server: mcp-boundary

Installation

pip install thewardn-mcp

Erfordert Python 3.10+.


Schnellstart

Schritt 1: Konfiguration initialisieren

wardn-mcp init

Dies führt Sie durch die Eingabe Ihres WARDN-API-Schlüssels, der Agenten-ID und der nachgelagerten MCP-Server, die Sie steuern möchten. Die Konfiguration wird unter ~/.wardn/mcp-config.json gespeichert.

Erhalten Sie Ihren API-Schlüssel und Ihre Agenten-ID unter console.thewardn.ai/settings.

Schritt 2: Zu Claude Desktop hinzufügen

Bearbeiten Sie ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "wardn-governed": {
      "command": "wardn-mcp",
      "args": ["start"],
      "env": {
        "WARDN_MCP_CONFIG": "~/.wardn/mcp-config.json"
      }
    }
  }
}

Schritt 3: Claude Desktop neu starten

Alle Tools Ihrer gesteuerten MCP-Server erscheinen nun in Claude mit dem Präfix ihres Servernamens (z. B. google-drive__create_file, github__create_repository). Jeder Aufruf wird kontrolliert.


Konfiguration

Speicherort der Konfigurationsdatei: ~/.wardn/mcp-config.json (kann mit der Umgebungsvariablen WARDN_MCP_CONFIG oder dem Flag --config überschrieben werden).

{
  "wardn_api_key": "wdn_live_...",
  "wardn_base_url": "https://api.thewardn.ai",
  "agent_id": "agt_...",
  "servers": [
    {
      "name": "google-drive",
      "command": ["npx", "-y", "@modelcontextprotocol/server-gdrive"],
      "args": [],
      "env": {
        "GDRIVE_CREDENTIALS_FILE": "~/.wardn/gdrive-credentials.json"
      }
    },
    {
      "name": "github",
      "command": ["npx", "-y", "@modelcontextprotocol/server-github"],
      "args": [],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
      }
    }
  ],
  "tool_overrides": {
    "delete_repository": "always_block",
    "list_files": "always_clear"
  }
}

Felder

Feld

Erforderlich

Beschreibung

wardn_api_key

Ja

Ihr WARDN-API-Schlüssel (wdn_live_...)

wardn_base_url

Nein

Standardmäßig https://api.thewardn.ai

agent_id

Ja

Die WARDN-Agenten-ID, die Claude repräsentiert

servers

Ja

Liste der nachgelagerten MCP-Server, die gesteuert werden sollen

tool_overrides

Nein

Bypass-Regeln pro Tool (siehe unten)

Tool-Overrides

Governance für bestimmte Tools umgehen, ohne einen Round-Trip zur API durchzuführen:

  • "always_block" — dieses Tool dauerhaft blockieren, unabhängig von der WARDN-Richtlinie

  • "always_clear" — Governance für dieses Tool umgehen (für schreibgeschützte oder risikoarme Tools verwenden)

Overrides gleichen den Basis-Toolnamen (ohne Server-Präfix) oder den vollständigen Namen (server__tool) ab.


Governance-Urteile

Urteil

Verhalten

CLEARED

Tool-Aufruf wird an den echten MCP-Server weitergeleitet

HELD

Tool-Aufruf blockiert, wartet auf Genehmigung durch Administrator in der WARDN-Konsole

BLOCKED

Tool-Aufruf sofort abgelehnt; Claude erhält eine Blockierungsnachricht

Wenn ein Tool den Status HELD hat, erhält Claude eine Escrow-ID und einen Link zur WARDN-Konsole. Ein Administrator kann die Aktion unter console.thewardn.ai genehmigen oder ablehnen.


CLI-Referenz

# Start the governance server
wardn-mcp start [--config PATH]

# Initialize config interactively
wardn-mcp init [--config PATH]

# Show current config and downstream server status
wardn-mcp status [--config PATH]

Tool-Benennung

Tools von nachgelagerten Servern erhalten einen Namespace, um Kollisionen zu vermeiden:

{server_name}__{original_tool_name}

# Examples:
google-drive__list_files
google-drive__create_file
github__create_repository
github__search_code
slack__send_message

Tool-Beschreibungen, die Claude angezeigt werden, enthalten ein Präfix [WARDN GOVERNED], damit klar ist, dass die Governance aktiv ist.


Fail-Open-Verhalten

Wenn die WARDN-API nicht erreichbar ist (Netzwerkfehler, Timeout, Nicht-200-Antwort), protokolliert der Governance-Client eine Warnung und schaltet auf Fail-Open — der Tool-Aufruf wird als CLEARED behandelt. Dies verhindert, dass Ausfälle der Governance-Infrastruktur alle Claude-Aktivitäten blockieren.

Um dies auf Fail-Closed umzustellen, überschreiben Sie govern_tool in einer Unterklasse von WARDNGovernClient.


Programmatische Verwendung

import asyncio
from wardn_mcp import WARDNGovernanceMCPServer, WARDNMCPConfig, MCPServerConfig

config = WARDNMCPConfig(
    wardn_api_key="wdn_live_...",
    agent_id="agt_...",
    servers=[
        MCPServerConfig(
            name="github",
            command=["npx", "-y", "@modelcontextprotocol/server-github"],
            env={"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."},
        )
    ],
)

server = WARDNGovernanceMCPServer(config)
asyncio.run(server.run())

Governance-Ablaufdiagramm

Claude calls tool: google-drive__delete_file(path="/budget.xlsx")
          |
          v
wardn_mcp intercepts call
          |
          v
Check tool_overrides: no override for delete_file
          |
          v
POST api.thewardn.ai/tool/govern
  {
    agent_id: "agt_...",
    tool_name: "delete_file",
    tool_input: {path: "/budget.xlsx"},
    integration: "google-drive"
  }
          |
          v
  WARDN CHAM evaluates:
  - Policy rules for this agent
  - Risk tier of delete_file
  - Context: what files have been accessed this session
  - Integration-level rules for google-drive
          |
       -------
      |       |
   CLEARED   BLOCKED / HELD
      |            |
      v            v
Forward to    Return verdict message to Claude
Google Drive  (+ escrow ID if HELD)
MCP server

Dokumentation

Vollständige Dokumentation: docs.thewardn.ai

WARDN-Konsole (Richtlinien verwalten, Treuhand-Fälle prüfen, Audit-Logs einsehen): console.thewardn.ai


Lizenz

MIT

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Wraps your existing MCP servers and checks each tool call against policy and live state before it runs. Allow, block, or require a refresh, with a reason the agent can act on.
    5
    -
  • A
    license
    A
    quality
    B
    maintenance
    Provides advisory AI-governance checks for MCP hosts and coding agents, enabling policy verdicts, PII masking, and audit traces before executing tool calls.
    3
    57 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides a governance proxy layer for MCP servers, enforcing per-tool allowlists, human approval for write operations, quotas, secret redaction, and a hash-chained audit log of all calls.
    MIT