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.


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

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/gtrotter13/thewardn-mcp'

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