使用说明

项目简介

'mcptools' 是一个用于与 Model Context Protocol (MCP) 服务器进行交互的命令行工具。它支持 Stdio 和 HTTP 传输协议,并提供了一系列命令来发现和调用 MCP 服务器提供的功能。此外,'mcptools' 还包含了一个模拟 MCP 服务器用于测试目的,以及一个可以将 shell 脚本代理为 MCP 工具的代理服务器。

主要功能点

  • MCP 客户端功能:
    • 通过命令行界面与 MCP 服务器进行交互。
    • 支持 Stdio 和 HTTP 两种传输协议。
    • 可以列出服务器提供的工具 (Tools)、资源 (Resources) 和 Prompt 模板 (Prompts)。
    • 可以调用工具、读取资源和获取 Prompt 模板。
    • 提供交互式 Shell 模式,方便用户探索和测试 MCP 服务。
  • MCP 模拟服务器:
    • 能够模拟一个基础的 MCP 服务器,用于客户端开发和测试,无需依赖真实的 MCP 服务器环境。
    • 支持定义和管理模拟的工具、Prompt 模板和资源。
  • MCP 工具代理服务器:
    • 允许将本地的 Shell 脚本或命令注册为 MCP 工具,并通过代理服务器对外提供 MCP 服务。
    • 使得用户可以使用 MCP 协议来调用和执行 Shell 脚本,扩展了 MCP 服务器的功能。

安装步骤

  1. 访问 Releases 页面,下载最新版本的 'mcptools' 压缩包。
  2. 解压下载的压缩包到本地目录。
  3. 将解压后的 'mcp' 可执行文件所在目录添加到系统的 PATH 环境变量中,以便在命令行中直接使用 'mcp' 命令。

服务器配置

'mcptools' 主要作为 MCP 客户端工具使用,当需要与 MCP 服务器建立连接时,客户端需要配置 MCP 服务器的启动命令及其参数。以下是两种 'mcptools' 提供的服务器 (模拟服务器和代理服务器) 的客户端配置示例,假设您使用 'mcptools' 客户端连接到它们:

1. 连接到 MCP 代理服务器 (Proxy Server):

{
  "serverName": "MCP Proxy Server",
  "command": "mcp",
  "args": ["proxy", "start"]
}
  • 'serverName': 服务器名称,可以自定义,例如 "MCP Proxy Server"。
  • 'command': 启动 MCP 服务器的命令,这里是 'mcp',假设 'mcp' 命令已添加到 PATH 环境变量。
  • 'args': 传递给 'mcp' 命令的参数,'["proxy", "start"]' 表示启动 'mcptools' 的代理服务器功能。

2. 连接到 MCP 模拟服务器 (Mock Server):

{
  "serverName": "MCP Mock Server",
  "command": "mcp",
  "args": ["mock", "tool", "example_tool", "这是一个示例工具"]
}
  • 'serverName': 服务器名称,可以自定义,例如 "MCP Mock Server"。
  • 'command': 启动 MCP 服务器的命令,同样是 'mcp'。
  • 'args': 传递给 'mcp' 命令的参数,'["mock", "tool", "example_tool", "这是一个示例工具"]' 表示启动 'mcptools' 的模拟服务器,并预先注册一个名为 'example_tool' 的工具。您可以根据需要添加更多的模拟工具、Prompt 或资源。

注意: 以上配置为示例,实际使用时,您需要根据您的 MCP 客户端工具的要求进行配置,并确保 'mcp' 命令在客户端环境中可执行。MCP 客户端工具会根据您提供的 'command' 和 'args' 来启动 MCP 服务器进程并与之通信。

基本使用方法

  1. 列出工具 (Tools):

    mcp tools <服务器启动命令> [服务器命令参数...]

    例如:'mcp tools npx -y @modelcontextprotocol/server-filesystem ~'

  2. 调用工具 (Call Tool):

    mcp call <工具名称> <服务器启动命令> [服务器命令参数...] --params '{"参数名": "参数值"}'

    例如:'mcp call read_file npx -y @modelcontextprotocol/server-filesystem ~ --params '{"path": "文件路径"}''

  3. 启动交互式 Shell:

    mcp shell <服务器启动命令> [服务器命令参数...]

    例如:'mcp shell npx -y @modelcontextprotocol/server-filesystem ~'

  4. 运行模拟服务器 (Mock Server):

    mcp mock tool <工具名称> "<工具描述>" prompt <Prompt 名称> "<Prompt 描述>" "<Prompt 模板>" resource <资源 URI> "<资源描述>" "<资源内容>"

    例如:'mcp mock tool hello_world "一个示例工具" prompt welcome "欢迎 Prompt" "你好 {{name}}!" resource doc:readme "文档" "# README 文件内容"'

  5. 运行代理服务器 (Proxy Server):

    • 注册代理工具:
      mcp proxy tool <工具名称> "<工具描述>" "<参数定义>" <脚本路径或 -e '内联命令'>
      例如:'mcp proxy tool add_operation "加法运算" "a:int,b:int" ./add.sh'
    • 启动代理服务器:
      mcp proxy start

更多详细用法,请参考 'mcptools' 的文档或使用 'mcp help' 命令查看帮助信息。

信息

分类

开发者工具