使用说明

项目简介

MCP Tools CLI 是一个强大的命令行界面工具,主要用于与 Model Context Protocol (MCP) 服务器进行交互。除了作为客户端,它还具备创建模拟 MCP 服务器(Mock Server)以及代理 MCP 请求到 shell 脚本(Proxy Server)的功能,方便开发者进行客户端测试和功能扩展。

主要功能点

  • MCP 客户端功能:
    • 发现和调用 MCP 服务器提供的工具 (Tools)。
    • 访问和利用 MCP 服务器暴露的资源 (Resources)。
    • 获取和使用 MCP 服务器定义的 Prompt 模板 (Prompts)。
    • 支持多种输出格式,如表格、JSON 和美化 JSON。
    • 支持 Stdio 和 HTTP SSE 等多种传输协议。
  • Mock Server 模式:
    • 无需搭建完整 MCP 服务器,即可模拟 MCP 服务器行为,用于客户端应用的测试和开发。
    • 支持定义和模拟工具、Prompt 模板和资源。
    • 提供详细的请求/响应日志,方便调试。
  • Proxy Server 模式:
    • 将 shell 脚本或命令行注册为 MCP 工具,轻松扩展 MCP 服务器的功能。
    • 通过环境变量将 MCP 工具的参数传递给 shell 脚本。
    • 支持多种参数类型,如字符串、整数、浮点数和布尔值。

安装步骤

使用 Homebrew (macOS 和 Linux)

brew tap f/mcptools
brew install mcp

从源码安装 (Go 环境)

go install github.com/f/mcptools/cmd/mcptools@latest

安装完成后,'mcp' 或 'mcpt' 命令即可在终端中使用。

服务器配置

MCP Tools CLI 本身可以作为 Mock Server 或 Proxy Server 运行,无需额外的服务器程序。配置主要集中在使用 'mcp mock' 和 'mcp proxy' 命令来定义 Mock Server 的内容或配置 Proxy Server 的工具代理。

Mock Server 配置示例

以下命令创建一个 Mock Server,包含一个名为 'hello_world' 的工具,一个名为 'welcome' 的 Prompt 模板和一个名为 'docs://readme' 的资源。

mcp mock tool hello_world "一个简单的问候工具" \
       prompt welcome "一个欢迎 Prompt 模板" "你好 {{name}},欢迎来到 {{location}}!" \
       resource docs://readme "文档" "## Mock MCP Server\n这是一个模拟服务器"

Proxy Server 配置示例

首先,注册一个名为 'add_numbers' 的工具,将 MCP 请求代理到一个名为 'add.sh' 的 shell 脚本。

mcp proxy tool add_numbers "将两个数字相加" "a:int,b:int" ./add.sh

然后,启动 Proxy Server。

mcp proxy start

基本使用方法

作为 MCP 客户端使用

连接到 MCP 服务器并列出可用的工具:

mcp tools npx -y @modelcontextprotocol/server-filesystem ~

调用名为 'read_file' 的工具:

mcp call read_file --params '{"path": "README.md"}' npx -y @modelcontextprotocol/server-filesystem ~

使用 Mock Server 模式

启动 Mock Server 后,在另一个终端窗口可以使用 'mcp' 命令连接到 Mock Server 进行测试。由于 Mock Server 直接在当前 'mcp' 进程中运行,客户端连接方式与标准 MCP 服务器有所不同,通常通过 Stdio 传输。 具体连接方式取决于 Mock Server 的启动命令及其输出。 实际上 Mock Server 主要用于测试目的,通常不需要客户端显式连接,而是通过其他测试框架或脚本直接与 Mock Server 交互。

使用 Proxy Server 模式

启动 Proxy Server 后,在另一个终端窗口可以使用 'mcp' 命令连接到 Proxy Server,并调用通过 'mcp proxy tool' 注册的工具。 Proxy Server 默认监听标准输入输出 (Stdio)。

mcp tools mcp proxy start  # 列出 Proxy Server 提供的工具 (注意:这里 'mcp proxy start'  仅仅是作为 command args 传递给 mcp tools 命令,用于指定连接到本地运行的 Proxy Server,实际的 Proxy Server 需要提前用 'mcp proxy start' 命令启动)
mcp call add_numbers --params '{"a": 5, "b": 3}' mcp proxy start # 调用 Proxy Server 上的 add_numbers 工具 (同样, 'mcp proxy start'  是 command args )

注意: 'mcp proxy start' 命令 不是 用于 MCP 客户端连接的服务器地址或命令,而是用于 启动 Proxy Server 本身。 在客户端命令中,'mcp proxy start' 作为 command args 指示 'mcp' 客户端连接到 本地 以 Stdio 方式运行的 MCP Proxy Server。 实际应用中,你需要先在一个终端窗口运行 'mcp proxy start' 启动 Proxy Server,然后在另一个终端窗口使用 'mcp tools mcp proxy start' 或 'mcp call ... mcp proxy start' 等命令与已启动的 Proxy Server 进行交互。

关键词

MCP客户端, Mock服务器, Proxy服务器, 命令行工具, Shell脚本集成

信息

分类

开发者工具