MCP检查器CLI
作者:卢多(马克·阿利尔)@granludo
一个用于检查、测试和调试MCP(模型上下文协议)服务器的综合命令行工具。该工具提供了一个交互式界面,用于探索和测试所有MCP功能,包括工具、资源和提示。
适用于STDIO传输协议
特性
- 交互式服务器测试:通过直观的菜单驱动界面连接到MCP服务器并测试其功能
- 多服务器支持:在多个MCP服务器之间进行配置和切换
- 全面的MCP协议支持:
- 工具:列出可用的工具并使用自定义参数执行它们 - 资源:浏览和阅读服务器提供的资源 - 提示:列出并检索带有参数的提示
- 高级日志记录:带有时间戳和彩色输出的自动会话日志记录
- 灵活的配置:支持各种配置文件格式和位置
- 实时I/O监控:实时查看服务器stdout/stderr输出
- 超时处理:具有用户扩展选项的智能超时管理
先决条件
- Python 3.11+
- uv(Python包管理器)
- 要测试的MCP服务器
安装
- 克隆存储库:
git clone git@github.com:granludo/mcp-inspector-cli.git>
cd mcp-inspector-cli- 创建venv
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt- 直接用紫外线跑步 :
uv run mcp-inspector-cli.py配置
该工具支持多种配置方法,按优先级顺序检查:
1.命令行参数
python mcp-inspector-cli.py /path/to/config.json2.本地配置文件
创建 mcp.json 在与脚本相同的目录中:
{
"mcpServers": {
"my-server": {
"command": "python",
"args": ["my_server.py"]
}
}
}3.光标样式配置
将配置放置在 ~/.cursor/mcp.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
},
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/path/to/repo"]
}
}
}4.单服务器配置
对于单台服务器,您可以使用更简单的格式:
{
"command": "uv",
"args": ["run", "main.py"],
"name": "my-custom-server"
}用法
基本用法
如果安装了紫外线:
mcp-inspector-cli如果直接用紫外线运行:
uv run mcp-inspector-cli.py使用配置文件:
uv run mcp-inspector-cli.py /path/to/config.json如果您配置了多个服务器,系统将提示您选择一个。对于单服务器配置,它将自动连接。
交互菜单
连接后,您将看到主菜单:
=== MCP Tester Menu ===
[t] List and call tools
[r] List and read resources
[p] List and get prompts
[o] Show recent stdout/stderr
[l] Show session log path
[s] Switch server
[q] Quit测试工具
- 选择
[t]进入“工具”子菜单 - 查看可用工具及其说明
- 通过输入工具的索引号来选择工具
- 根据工具的输入模式提供参数
- 查看结果,然后选择调用其他工具或返回主菜单
测试资源
- 选择
[r]列出可用资源 - 按索引选择资源以读取其内容
- 该工具将显示资源内容
测试提示
- 选择
[p]列出可用提示 - 按索引选择提示
- 如果提示要求,请提供参数
- 查看生成的提示内容
附加功能
- 输出监控 (
[o]):查看最近的服务器stdout/stderr输出 - 会话日志记录 (
[l]):显示当前会话日志文件的路径 - 服务器切换 (
[s]):停止当前服务器并连接到其他服务器
配置示例
文件系统服务器
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]
}
}
}Git存储库服务器
{
"mcpServers": {
"git-repo": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/path/to/git/repo"]
}
}
}SQLite数据库服务器
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "/path/to/database.db"]
}
}
}自定义Python服务器
{
"mcpServers": {
"custom-server": {
"command": "python",
"args": ["-m", "my_mcp_server"]
}
}
}日志记录
该工具自动以以下格式创建会话日志 session-YYYYMMDD-HHMMSS.txt 在工作目录中。这些日志包含:
- 所有JSON-RPC请求和响应
- 服务器stdout/stderr输出
- 用户交互和菜单选择
- 所有操作的时间戳
- 错误消息和调试信息
故障排除
常见问题
- “找不到命令”错误
- 确保MCP服务器命令已安装且可访问 - 检查是否安装了所有必需的依赖项 - 验证配置中的命令路径
- 连接超时
- 某些服务器可能需要更长时间才能初始化 - 如果需要,该工具将提示您延长超时时间 - 检查服务器日志是否存在初始化问题
- JSON响应无效
- 确保您的MCP服务器正确实施了协议 - 检查服务器stderr输出以了解错误详细信息 - 验证服务器是否与MCP协议版本2024-11-05兼容
- 权限错误
- 确保您有运行服务器命令的适当权限 - 检查服务器工作目录的文件/目录权限
调试模式
有关其他调试信息:
- 使用
[o]查看实时服务器输出的选项 - 检查会话日志文件以获取详细的请求/响应信息
- 监视服务器stderr以获取错误消息
MCP协议支持
此工具实现了MCP(模型上下文协议)规范,并支持:
- 协议版本: 2024-11-05
- 初始化握手:正确的初始化/初始化顺序
- 工具:完整的工具/列表和工具/呼叫支持
- 资源:完整的资源/列表和资源/读取功能
- 提示:全面的提示/列表和提示/获取功能
- 错误处理:正确的JSON-RPC错误响应处理
发展
该工具是用Python编写的,由一个包含以下主要组件的脚本组成:
MCPTester类:主应用逻辑- 服务器管理和进程处理
- JSON-RPC通信层
- 交互式菜单系统
- 日志记录和输出格式
扩展工具
代码的结构易于扩展。您可以通过以下方式添加对新MCP功能的支持:
- 在协议助手部分添加新的请求方法
- 扩展交互式菜单系统
- 添加新的配置选项
许可证
有关详细信息,请参阅LICENSE文件。
贡献
欢迎投稿!请随时提交问题和拉取请求。
支持
如有疑问、问题或功能请求:
- 检查上面的故障排除部分
- 查看会话日志以了解错误详细信息
- 打开一个包含相关日志摘录和配置详细信息的问题
