MCP命令行工具

MCP-CLI是一个命令行工具,用于与模型上下文协议(MCP)服务器交互和测试,提供用户友好的终端用户界面(TUI)来选择和执行MCP服务器提供的工具。

  • by OpenSystemsLab
  • Go
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 OpenSystemsLab/mcp-cli

使用说明

MCP-CLI

MCP-CLI是一个用于与模型上下文协议(MCP)服务器交互和测试MCP服务器的命令行工具。它提供了一个用户友好的终端用户界面(TUI),用于选择和执行MCP服务器提供的工具。

特性

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

安装

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

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`: Exit the application.