1. MCP检查员使用指南 #
深入指南:使用MCP Inspector测试和调试Model Context Protocol服务器
2.MCP检查员概述 #
MCP检查员是一个用于测试和调试MCP服务器的交互式开发者工具。它提供了直观的图形界面,让您能够轻松地测试服务器的各种功能,包括工具调用、资源访问和提示生成等。
本指南将详细介绍MCP Inspector的安装、配置和使用方法,帮助您快速上手并有效调试MCP服务器。
3. 入门指南 #
3.1 安装与基础使用 #
MCP检查员可以直接通过npx运行,无需安装即可使用:
# 基本语法
npx @modelcontextprotocol/inspector <command> <arg1> <arg2>启动服务器包的常见方式是从NPM或PyPi安装:
NPM包示例:
# 使用-y参数自动确认安装
npx -y @modelcontextprotocol/inspector npx <package-name> <args>
# 实际示例:检查文件系统服务器
npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-filesystem /Users/username/DesktopPyPi包示例:
# Python包检查
npx @modelcontextprotocol/inspector python -m <package-name> <args>要检查本地开发或作为代码库下载的服务器,最常见的方法是:
TypeScript/Node.js服务器:
# 运行本地TypeScript服务器
npx @modelcontextprotocol/inspector node path/to/server/index.js args...Python服务器:
# 运行本地Python服务器
npx @modelcontextprotocol/inspector python path/to/server/main.py args...注意: 请仔细阅读附带的README文件以获取最准确的说明。
4. 功能概述 #
MCP Inspector提供了多种与您的MCP服务器交互的功能:
4.1 服务器连接面板 #
- 允许选择传输方式用于连接服务器
- 对于本地服务器,支持自定义命令行参数和环境变量
- 提供连接状态监控
4.2 资源选项卡 #
- 列出所有可用资源
- 显示资源元数据(MIME类型、描述信息)
- 允许资源内容检查
- 支持订阅测试
4.3 提示标签页 #
- 显示可用的提示模板
- 显示提示参数及其描述
- 支持使用自定义参数进行prompt测试
- 预览生成的消息
4.4 工具选项卡 #
- 列出可用工具
- 显示工具架构与描述
- 支持使用自定义输入进行工具测试
- 显示工具执行结果
4.5 通知面板 #
- 呈现服务器记录的所有日志
- 显示从服务器接收到的通知
- 实时监控服务器状态
5. 最佳实践 #
5.1 日志分析 #
# 启用详细日志
DEBUG=mcp:* npx @modelcontextprotocol/inspector node server.js5.2 网络调试 #
# 使用代理工具监控通信
npx @modelcontextprotocol/inspector --transport stdio node server.js5.3 性能监控 #
- 监控工具调用响应时间
- 分析资源加载性能
- 检查内存使用情况
6. 常见问题解决 #
6.1 连接问题 #
问题:无法连接到服务器
解决方案:
# 检查服务器是否正在运行
ps aux | grep node
# 验证端口是否被占用
netstat -tulpn | grep :3000
# 检查防火墙设置
sudo ufw status6.2 工具调用失败 #
问题:工具调用返回错误
解决方案:
- 检查工具参数格式
- 验证服务器权限设置
- 查看服务器日志
6.3 资源访问问题 #
问题:无法访问服务器资源
解决方案:
# 检查文件权限
ls -la /path/to/resource
# 验证资源路径
file /path/to/resource7. 高级功能 #
7.1 自定义传输 #
# 使用自定义传输协议
npx @modelcontextprotocol/inspector --transport tcp node server.js7.2 环境变量配置 #
# 设置环境变量
MCP_SERVER_DEBUG=true npx @modelcontextprotocol/inspector node server.js7.3 配置文件支持 #
创建.inspector-config.json文件:
{
"server": {
"command": "node",
"args": ["server.js"],
"env": {
"NODE_ENV": "development"
}
},
"transport": "stdio",
"debug": true
}