MCP Inspector是开发调试MCP(Modular Computing Platform)服务器的重要工具,它能让你直观地查看和测试MCP服务器提供的工具、资源和提示。对于使用FastMCP框架开发的Python服务来说,Inspector提供了开箱即用的调试体验。
重要提示:从实际开发经验来看,90%的情况下你都不需要手动安装MCP Inspector服务,因为
mcp dev命令已经内置了完整的调试解决方案。
MCP Inspector主要提供以下调试能力:
在实际项目中,我发现Inspector特别适合以下场景:
这是最简便的调试方法,也是我日常开发的首选。只需要执行:
bash复制mcp dev your_server.py
这个命令会自动完成以下工作:
技术细节:这类似于Node.js中的npx机制,实现了"按需下载,用完即走"的轻量级体验。
在某些特殊情况下,你可能需要手动安装:
bash复制npm install -g @anthropic/mcp-inspector
适用场景包括:
不过根据我的经验,除非有明确需求,否则不建议手动安装,因为:
当运行mcp dev your_server.py时,底层实际执行以下步骤:
@anthropic/mcp-inspector执行命令后,控制台会显示类似输出:
code复制Starting MCP inspector...
⚙️ Proxy server listening on localhost:6277
🔑 Session token: 41ec7627d475a0005932bce0abb87f9bb4ea18646835d4301df4e538283e85c6
Use this token to authenticate requests or set DANGEROUSLY_OMIT_AUTH=true to disable auth
🚀 MCP Inspector is up and running at:
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=41ec7627d475a0005932bce0abb87f9bb4ea18646835d4301df4e538283e85c6
🌐 Opening browser...
各部分的含义:
我们以一个航班查询MCP服务器为例(CityFlightMCPServer.py),它提供了:
三个核心工具:
get_city_flight:查询指定城市出发航班list_all_cities:列出所有支持的城市search_flights_by_price:按价格筛选航班两类资源:
config://supported-cities:城市列表flights://{city}:指定城市航班数据bash复制# 安装FastMCP框架
pip install fastmcp
# 启动调试模式
mcp dev CityFlightMCPServer.py
成功启动后,浏览器会自动打开调试界面,你可以:
get_city_flightconfig://supported-citiesflights://北京的数据结构search_flights_by_price工具如果默认端口冲突,可以通过环境变量修改:
bash复制export MCP_INSPECTOR_PORT=8888
export MCP_PROXY_PORT=8889
mcp dev your_server.py
添加--no-open参数:
bash复制mcp dev your_server.py --no-open
启用调试模式查看更详细的信息:
bash复制export DEBUG=mcp:*
mcp dev your_server.py
mcp dev下载缓存~/.cache/mcp-inspector现象:卡在"Downloading MCP Inspector..."阶段
解决方案:
bash复制export MCP_INSPECTOR_REGISTRY=https://registry.npmjs.org
现象:显示"Connection timeout"错误
排查步骤:
bash复制export MCP_CONNECT_TIMEOUT=10000
现象:工具调用后一直loading
可能原因:
解决方法:
--no-update跳过版本检查:bash复制mcp dev your_server.py --no-update
json复制{
"name": "Debug MCP Server",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/your_server.py",
"args": ["--transport", "stdio"]
}
mcp devDANGEROUSLY_OMIT_AUTH=true在开发航班查询系统的过程中,我总结了以下几点经验:
工具设计:
资源管理:
调试技巧:
性能考量:
MCP Inspector不仅适用于基础调试,还可以用于:
虽然mcp dev是最便捷的方式,但了解其他调试方法也有价值:
| 方法 | 优点 | 缺点 |
|---|---|---|
| Postman手动构造请求 | 更灵活 | 需要了解MCP协议细节 |
| 直接调用Python函数 | 可以断点调试 | 无法测试完整流程 |
| 单元测试 | 适合回归测试 | 启动成本高 |
对于大多数日常开发,mcp dev+Inspector的组合仍然是最佳选择。