mcp护栏
MCP工具调用护栏webhook 代理网关.扫描提示和响应以查找凭据泄漏,执行工具级RBAC,并阻止危险的内容模式。
专为 MCP_HACK//26 轨道2:保护和管理MCP。
它做什么
mcp-guardrails 作为与agentgateway集成的独立HTTP服务器运行 webhook护栏策略。当配置为护栏后端时,agentgateway会通过此服务器转发每个提示和响应,以便在到达MCP服务器或客户端之前进行验证。
凭证扫描 -在提示和响应中检测到15种以上的秘密模式(AWS密钥、GitHub令牌、Stripe密钥、JWT、私钥、Anthropic/OpenAI API密钥、Solana私钥等)。
工具级RBAC --MCP工具名称的allowlist/denylist。阻挡危险工具(shell_exec, rm_rf)或限制为已知的安全设置。
否认模式 --阻止包含SQL注入模式、危险shell命令或自定义字符串的内容。
结构化审计日志记录 --JSON格式的日志,对每个决策(通过/拒绝)进行跟踪,以确保合规性和调试。
快速开始
cargo build --release
# Run with default policy
./target/release/mcp-guardrails --policy policy.yaml --bind 0.0.0.0:8090代理网关集成
将webhook护栏策略添加到您的agentgateway配置中:
apiVersion: gateway.agentgateway.dev/v1
kind: LLMRoute
metadata:
name: my-route
spec:
rules:
- backendRefs:
- name: my-llm
guardrails:
- webhook:
url: http://mcp-guardrails:8090服务器公开了两个与agentgateway webhook协议匹配的端点:
POST /request--在提示到达LLM/MCP服务器之前对其进行验证POST /response--在响应到达客户端之前对其进行验证GET /health--健康检查
策略配置
编辑 policy.yaml:
# Only allow these tools (empty = allow all)
allowed_tools:
- read_file
- search
- list_directory
# Always block these tools
denied_tools:
- shell_exec
- delete_all
# Block content matching these patterns
deny_patterns:
- "DROP TABLE"
- "sudo rm -rf /"
# Scan for credential patterns
credential_scanning: true测试
cargo test
# 12 tests: policy RBAC (4) + credential scanner (8)建筑
Client → agentgateway → mcp-guardrails (webhook) → agentgateway → MCP Server
↓ ↑
forwards prompt forwards if passed
to /request blocks if rejected护栏服务器是无状态的,可横向扩展。在负载平衡器后部署多个副本,以实现高吞吐量MCP部署。
许可证
阿帕奇-2.0
