thewardn-mcp
thewardn-mcp
MCP 서버를 위한 WARDN 거버넌스 래퍼 — 모든 Claude 도구 호출을 관리합니다.
Claude Desktop이 MCP 서버(Google Drive, GitHub, Slack, 파일 시스템 등)에 연결되면, 감독 없이 자율적으로 모든 도구를 호출할 수 있습니다. thewardn-mcp는 Claude와 실제 MCP 서버 사이에 위치합니다. 모든 도구 호출은 실제 서비스에 도달하기 전에 TheWARDN의 거버넌스 엔진을 거칩니다. BLOCKED 호출은 절대 실행되지 않습니다. HELD 호출은 인간의 검토를 위해 에스크로(escrow) 상태가 됩니다. 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(Contextual Harm Assessment Module, 문맥적 유해성 평가 모듈) 정책 엔진을 거칩니다. 판정 결과는 봉인되고 변경 불가능하며, WARDN 감사 체인에 기록됩니다. 에스크로 보류 항목은 관리자 검토를 위해 console.thewardn.ai의 WARDN 콘솔에 표시됩니다.
설치
pip install thewardn-mcpPython 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 서버의 모든 도구가 서버 이름이 접두사로 붙은 상태로(예: google-drive__create_file, github__create_repository) Claude에 나타납니다. 모든 호출은 거버넌스의 통제를 받습니다.
설정
설정 파일 위치: ~/.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 서버 목록 |
| 아니오 | 도구별 우회 규칙 (아래 참조) |
도구 재정의(Overrides)
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_messageClaude에게 표시되는 도구 설명에는 [WARDN GOVERNED] 접두사가 포함되어 거버넌스가 활성화되어 있음을 명확히 합니다.
Fail-open 동작
WARDN API에 연결할 수 없는 경우(네트워크 오류, 시간 초과, 200이 아닌 응답), 거버넌스 클라이언트는 경고를 기록하고 fail-open(개방형 실패)합니다. 즉, 도구 호출은 CLEARED로 처리됩니다. 이는 거버넌스 인프라 장애로 인해 모든 Claude 활동이 차단되는 것을 방지합니다.
이를 fail-closed(폐쇄형 실패)로 변경하려면 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 installed
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