返回市场
麦克胖命令行界面

麦克胖命令行界面

作者:OpenSystemsLab2 星标更新:2025-09-21

项目介绍

MCP-CLI

MCP-CLI 是一个用于与 Model Context Protocol (MCP) 服务器交互和测试的命令行工具。它提供了一个用户友好的终端用户界面(TUI),用于选择并执行 MCP 服务器提供的工具。

功能

  • 多种传输方式: 使用 stdiosse(服务器发送事件)或 http(可流式传输的 HTTP)连接到 MCP 服务器。
  • 交互式 TUI: 使用 bubbletea 构建的终端用户界面,允许您:
    • 从可用工具列表中选择工具。
    • 浏览和查询 MCP 资源。
    • 在表单中输入所选工具的参数。
    • 查看工具执行的结果。
  • 资源浏览器: TUI 中的一个新标签页,用于列出和查询 MCP 资源。
  • 提示浏览器: TUI 中的一个新标签页,用于列出 MCP 提示。
  • 调试面板: TUI 右侧的一个可滚动调试面板,显示:
    • 信息日志(按键、状态变化)。
    • 发送到工具的参数,以漂亮的 JSON 格式呈现。
    • 工具调用的结果。
  • 详细日志记录: 使用 -v 标志启用详细日志记录到 debug.log 文件,以便于故障排除。

安装

您可以使用 go install 安装 mcp-cli

go install mcp-cli

或者,您可以从源代码构建它。

从源代码构建

  1. 克隆仓库:
    git clone <repository-url>
    cd mcp-cli
    
  2. 构建可执行文件:
    go build
    
    这将在当前目录创建一个 mcp-cli 可执行文件。

使用方法

mcp-cli 工具有三个主要命令,每个传输协议对应一个命令。

stdio

连接到通过标准输入/输出通信的 MCP 服务器。

mcp-cli stdio --env "VAR=value" --env "ANOTHER_VAR=another_value" "<command-to-start-server>"

--env(或 -e)标志可以多次使用,以传递环境变量给服务器进程。

示例:

mcp-cli stdio -e "API_KEY=12345" "python /path/to/mcp/server.py"

sse

连接到使用服务器发送事件(SSE)的 MCP 服务器。

mcp-cli sse --header "Header-Name: header-value" <server-url>

--header(或 -H)标志可以多次使用,以传递自定义 HTTP 头给服务器。

示例:

mcp-cli sse -H "Authorization: Bearer my-token" http://localhost:8080/mcp

http

连接到使用可流式传输的 HTTP 的 MCP 服务器。

mcp-cli http --header "Header-Name: header-value" <server-url>

--header(或 -H)标志可以多次使用,以传递自定义 HTTP 头给服务器。

示例:

mcp-cli http -H "Authorization: Bearer my-token" http://localhost:8080/mcp

全局标志

  • -v, --verbose: 启用详细日志记录到 debug.log

TUI 指南

当您连接到 MCP 服务器时,将出现一个终端用户界面。

  • 工具选择视图: 可用工具的列表。使用方向键导航,并按 Enter 选择工具。按 r 切换到资源浏览器或按 p 切换到提示浏览器。
  • 资源浏览器视图: 可用资源的列表。使用方向键导航,并按 Enter 查看资源详情。按 t 切换回工具选择视图或按 p 切换到提示浏览器。
  • 提示浏览器视图: 可用提示的列表。使用方向键导航。按 t 切换回工具选择视图或按 r 切换到资源浏览器。
  • 参数输入视图: 输入所选工具参数的表单。使用 Tab 键在字段之间切换,并按 Enter 提交工具调用。
  • 资源详情视图: 显示所选资源的内容。按 Esc 返回资源列表。
  • 调试面板: 右侧面板显示一个可滚动的日志,包括事件、工具调用和结果。使用上下方向键滚动日志。
  • 导航:
    • t: 切换到工具选择视图。
    • r: 切换到资源浏览器视图。
    • p: 切换到提示浏览器视图。
    • Esc: 返回上一个视图。
    • Ctrl+C: 退出应用程序。