Skip to main content
Glama
gtrotter13

thewardn-mcp

by gtrotter13

thewardn-mcp

WARDN MCP 服务器治理包装器 — 每一个 Claude 工具调用,皆受治理。

当 Claude Desktop 连接到 MCP 服务器(如 Google Drive、GitHub、Slack、文件系统等)时,它可以自主调用任何工具而无需监管。thewardn-mcp 位于 Claude 和您真实的 MCP 服务器之间。每一个工具调用在到达实际服务之前,都会先通过 TheWARDN 的治理引擎。BLOCKED(已拦截)的调用永远不会执行。HELD(已暂扣)的调用将进入托管状态,等待人工审核。CLEARED(已清除)的调用将被透明地转发。


工作原理

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.)

每一个工具调用都会通过 TheWARDN 的 CHAM(上下文危害评估模块)策略引擎。裁决结果会被密封、不可篡改,并记录在 WARDN 审计链中。托管的暂扣请求会出现在 console.thewardn.ai 的 WARDN 控制台中,供管理员审核。


安装

pip install thewardn-mcp

需要 Python 3.10+。


快速入门

第 1 步:初始化您的配置

wardn-mcp init

此步骤将引导您输入 WARDN API 密钥、代理 ID 以及您想要治理的下游 MCP 服务器。配置将保存至 ~/.wardn/mcp-config.json

请从 console.thewardn.ai/settings 获取您的 API 密钥和代理 ID。

第 2 步:添加到 Claude Desktop

编辑 ~/.claude/claude_desktop_config.json

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

第 3 步:重启 Claude Desktop

来自您受治理的 MCP 服务器的所有工具现在都会出现在 Claude 中,并带有服务器名称前缀(例如 google-drive__create_filegithub__create_repository)。每一个调用都受到治理。


配置

配置文件位置:~/.wardn/mcp-config.json(可通过 WARDN_MCP_CONFIG 环境变量或 --config 标志覆盖)。

{
  "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"
  }
}

字段

字段

必填

描述

wardn_api_key

您的 WARDN API 密钥 (wdn_live_...)

wardn_base_url

默认为 https://api.thewardn.ai

agent_id

代表 Claude 的 WARDN 代理 ID

servers

需要治理的下游 MCP 服务器列表

tool_overrides

特定工具的绕过规则(见下文)

工具覆盖

无需往返 API 即可覆盖特定工具的治理规则:

  • "always_block" — 无论 WARDN 策略如何,永久拦截此工具

  • "always_clear" — 绕过此工具的治理(用于只读或低风险工具)

覆盖规则匹配基础工具名称(不带服务器前缀)或完整的受治理名称 (server__tool)。


治理裁决

裁决

行为

CLEARED

工具调用被转发至真实的 MCP 服务器

HELD

工具调用被拦截,等待 WARDN 控制台中的管理员批准

BLOCKED

工具调用被立即拒绝;Claude 收到拦截消息

当工具处于 HELD 状态时,Claude 会收到一个托管 ID 和一个指向 WARDN 控制台的链接。管理员可以在 console.thewardn.ai 批准或拒绝该操作。


CLI 参考

# 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]

工具命名

来自下游服务器的工具会被命名空间化以避免冲突:

{server_name}__{original_tool_name}

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

向 Claude 展示的工具描述包含 [WARDN GOVERNED] 前缀,以便明确治理功能已激活。


故障开放行为

如果 WARDN API 无法访问(网络错误、超时、非 200 响应),治理客户端会记录警告并采取“故障开放”策略——即工具调用被视为 CLEARED。这可以防止治理基础设施中断导致所有 Claude 活动被阻塞。

若要将其更改为“故障关闭”,请在 WARDNGovernClient 的子类中覆盖 govern_tool


以编程方式使用

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())

治理流程图

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

文档

完整文档:docs.thewardn.ai

WARDN 控制台(管理策略、审核托管请求、查看审计日志):console.thewardn.ai


许可证

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