使用说明
mcpeek-MCP服务器检查器
用于检查模型上下文协议(MCP)服务器并与之交互的Rust CLI工具。
特性
-
交互式终端用户界面:
- MCP服务器的实时探索
- 不同功能之间的基于选项卡的导航
- 服务器输出的实时日志查看器
-
完全MCP支持:
- 列出并检查工具
- 基于表单的参数输入的交互式工具执行
- 浏览提示及其参数
- 查看可用资源
- 显示服务器功能和信息
- 使用自定义参数执行工具调用
安装
cargo build --release
二进制文件将在 target/release/mcpeek.
用法
启动交互式终端界面以探索MCP服务器:
mcpeek <server-command> [server-args...]
示例:
# Connect to a Node.js MCP server
mcpeek node /path/to/server.js
# Connect to a Python MCP server
mcpeek python -m my_mcp_server
# With uvx
mcpeek uvx mcp-server-git
TUI控制:
Tab/←/→:在选项卡之间切换(工具、提示、资源、服务器信息、日志)↑/↓:在列表中导航项目(或在“日志”选项卡中滚动日志)Enter:查看所选项目的详细信息C:调用/执行所选工具(在“工具”选项卡中)E:跳转到日志末尾(在“日志”选项卡中)R:刷新当前选项卡Esc:关闭详细视图或取消工具调用输入Q:退出应用程序
工具调用(在“工具”选项卡中):
当你按下 C 在选定的工具上:
- 出现一个显示所有工具参数的输入表单
- 使用以下命令在字段之间导航
Tab/Shift+Tab - 直接在每个字段中键入值
- 必填字段标记为“(必填)”
- 按
Enter执行工具调用 - 按
Esc取消 - 结果显示在详细视图中
选项卡:
- 工具:浏览和检查可用工具,使用交互式参数输入执行工具调用
- 提示:查看提示及其参数
- 资源:列出可用资源
- 察看连接信息:显示服务器功能和版本信息
- 日志:实时查看服务器stderr输出(自动捕获服务器日志)
调试模式
启用stderr的调试日志记录:
mcpeek --debug node server.js
建筑
src/
├── main.rs # CLI entry point and TUI event loop
├── mcp/
│ ├── mod.rs # Module exports
│ ├── client.rs # MCP client with JSON-RPC over stdio
│ └── protocol.rs # MCP protocol types and messages
└── tui/
├── mod.rs # TUI module exports
├── app.rs # Application state management
└── ui.rs # UI rendering logic
关键组件
MCP客户端(mcp/client.rs):
- 管理子流程生命周期
- 处理stdio上的JSON-RPC通信
- 使用tokio实现异步消息传递
- 为MCP操作提供高级方法
协议类型(mcp/protocol.rs):
- MCP协议的全面类型定义
- 使用serde进行JSON序列化/反序列化
- 支持初始化、工具、提示和资源功能
推(tui/):
- 使用ratatui构建,提供丰富的终端接口
- 不同MCP功能之间的基于选项卡的导航
- 用于深入项目检查的详细视图
- 实时错误处理和加载状态
- 捕获服务器stderr输出的实时日志查看器
MCP协议支持
此工具实现MCP协议版本 2024-11-05 并支持:
- ✅ 服务器初始化和能力协商
- ✅ 工具(列表、调用)
- ✅ 提示(列表、获取)
- ✅ 资源(列表,阅读)
- ✅ 服务器信息显示
需求
- Rust 2021版或更高版本
- 要连接的MCP兼容服务器
发展
在开发模式下运行:
# Run the TUI
cargo run -- <server-command> [args...]
# With debug logging
cargo run -- --debug <server-command> [args...]
许可证
MIT许可证-请参阅 许可证 了解详情。
贡献
欢迎投稿!需要改进的领域:
- 支持其他MCP协议功能
- 增强的错误恢复
- 资源订阅支持
- 采样能力
- 配置文件支持
- 工具调用表单中的高级输入类型(数组、嵌套对象)
由...制作❤️. 推动☕️ and 🤖.