MCP服务器检查工具

一个用于检查和交互Model Context Protocol (MCP)服务器的Rust命令行工具,提供交互式终端用户界面和完整的MCP协议支持。

  • by subpop
  • Rust
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 subpop/mcpeek

使用说明

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 🤖.