使用说明
MCP工具箱
MCP Toolbox是一个诊断MCP服务器,用于查看客户端或代理通过线路发送的内容。当您需要在将代理指向真实后端之前验证MCP连接、检查标头和令牌、确认路由行为以及测试网络或身份验证假设时,它非常有用。
默认情况下,该服务会关闭有风险的HTTP诊断:使用 /mcp 对于MCP流量和 /healthz 对于探测器,可以选择仪表板端点。
[!警告] 仅用于测试/故障排除。使用风险自负。 此服务可以捕获请求标头、Cookie、身份验证值、正文、环境数据和最近的调用历史。如果你将真实的流量指向它,你可能会暴露真实的令牌、秘密或敏感的有效载荷。将其保存在受信任的环境中,并假设发送到它的任何内容都可能被检查。
使用Docker在本地运行
cd /path/to/MCP-Toolbox
docker build -t mcp-toolbox:local .
docker run --rm -p 8080:8080 mcp-toolbox:local
本地MCP URL:
http://127.0.0.1:8080/mcp
快速入门:使用二头肌部署到Azure容器应用程序
使用自动二头肌流将其部署到Azure:
-
登录Azure CLI:
az login -
复制
.env.example到.env并设置你关心的值。至少,大多数用户只会触摸:APP_NAMERESOURCE_GROUPLOCATION
您还可以设置
ACR_NAME,CONTAINERAPPS_ENVIRONMENT,LOG_ANALYTICS_WORKSPACE_NAME,USER_ASSIGNED_IDENTITY_NAME,IMAGE_REPOSITORY,以及IMAGE_TAG如果你想要明确的控制。如果ACR_NAME如果留空,脚本将为您生成一个。 -
运行部署脚本:
./scripts/deploy_bicep.sh
该脚本创建了由二头肌支持的Azure资源,构建并推送容器映像,部署容器应用程序,运行冒烟测试,并打印最终的MCP URL。完成后,它使基础设施保持运行。
有关手动二头肌流、地形部署、清理、现有资源重用、额外配置旋钮和完整的操作指南,请参阅 README_advanced.md.
可用工具
| 工具 | 目的 |
|---|---|
debug_request_context |
完整的请求/MCP快照,包括标头、身份验证材料、查询参数和正文。 |
inspect_request_auth |
对标头、Cookie、查询参数和解码的JWT声明进行集中身份验证检查。 |
inspect_request_headers |
显示服务器接收到的请求标头。 |
inspect_request_body |
显示正文大小、解码文本、解析JSON和需要时的base64预览。 |
inspect_request_summary |
方法、路径、调用者和转发链的紧凑视图。 |
inspect_mcp_envelope |
显示解析的MCP/JSON-RPC信封。 |
inspect_recent_calls |
从内存中返回最近捕获的通话记录。 |
inspect_runtime |
返回运行时、进程、版本、正常运行时间和相关的服务器元数据。 |
inspect_routes |
列出当前公开的FastAPI路由和方法。 |
inspect_environment |
返回环境变量,可选择按前缀或名称进行筛选。 |
get_server_info |
返回高级服务器标识和配置详细信息。 |
echo_payload |
往返任意有效载荷,以便您可以比较发送和接收的内容。 |
http_probe |
从容器内部发出出站HTTP请求。 |
tls_probe |
执行TLS握手并报告证书和密码详细信息。 |
tcp_probe |
尝试TCP连接并报告延迟和套接字详细信息。 |
dns_resolve |
从正在运行的容器内部解析DNS。 |
decode_jwt |
将类似JWT的令牌解码为标头、有效载荷和签名段。 |
get_caller_ip |
返回服务器观察到的调用者IP。 |
utc_now |
从正在运行的容器返回当前UTC时间。 |
add_numbers |
MCP调用流的简单算术健全性检查。 |
使用MCP工具箱测试Foundry MCP身份验证模式
MCP工具箱有意最好用作 未经验证的诊断端点。其价值在于,Foundry仍然可以使用任何支持的MCP身份验证模式(未经身份验证、基于密钥、Microsoft Entra身份模式或OAuth身份传递)连接到它,并且此服务器会向您准确显示传入呼叫的样子。
换句话说:Foundry应用身份验证模式,MCP Toolbox使您可以查看结果请求(inspect_request_headers, inspect_request_auth, debug_request_context).
实际应用
- 生产前验证身份验证模式 --使用不同的Foundry身份验证设置连接同一代理,并确认到达MCP端点的确切标头/令牌形状。
- 车载故障分诊 --当工具设置失败时(超时、401/403、错误的标头格式),立即检查真正的入站请求,而不是猜测中断在哪里。
- 安全和策略验证 --在将代理切换到真正受保护的MCP后端之前,证明只有预期的身份验证/上下文数据从Foundry转发。
Foundry中的示例使用
有用参考: