thewardn-mcp
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 控制台中,供管理员审核。
Related MCP server: mcp-boundary
安装
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_file,github__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 密钥 ( |
| 否 | 默认为 |
| 是 | 代表 Claude 的 WARDN 代理 ID |
| 是 | 需要治理的下游 MCP 服务器列表 |
| 否 | 特定工具的绕过规则(见下文) |
工具覆盖
无需往返 API 即可覆盖特定工具的治理规则:
"always_block"— 无论 WARDN 策略如何,永久拦截此工具"always_clear"— 绕过此工具的治理(用于只读或低风险工具)
覆盖规则匹配基础工具名称(不带服务器前缀)或完整的受治理名称 (server__tool)。
治理裁决
裁决 | 行为 |
| 工具调用被转发至真实的 MCP 服务器 |
| 工具调用被拦截,等待 WARDN 控制台中的管理员批准 |
| 工具调用被立即拒绝;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
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
AlicenseNot gradedqualityCmaintenancePolicy 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.2MIT- FlicenseNot gradedqualityDmaintenanceWraps 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-
- AlicenseAqualityBmaintenanceProvides advisory AI-governance checks for MCP hosts and coding agents, enabling policy verdicts, PII masking, and audit traces before executing tool calls.357 npmMIT
- AlicenseNot gradedqualityAmaintenanceProvides 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