项目简介

'cli-mcp' 是一个 MCP 服务器实现,它允许大型语言模型(LLM)客户端与本地命令行工具进行交互。该服务器通过分析命令行工具的帮助菜单,将其结构化信息作为资源提供,并提供工具来添加、查看和运行这些命令行工具。

主要功能点

  • 资源管理: 将本地命令行工具的结构(命令、参数、子命令)以 'cli://' URI 格式的资源暴露给 MCP 客户端。
  • 工具注册与执行: 提供 'add' 工具用于注册新的命令行工具,'help' 工具用于查看已注册命令行工具的结构信息,'run' 工具用于执行已注册的命令行工具。
  • 标准 MCP 协议: 使用 JSON-RPC over stdio 与 MCP 客户端通信。

安装步骤

无需安装步骤,该仓库可以直接运行。您需要确保您的系统已安装 Python 环境,并根据项目 'README.md' 中的说明,可能需要 'uv' 包管理器来运行。

服务器配置

以下 JSON 配置信息可以添加到支持 MCP 协议的客户端(例如 Claude Desktop)的配置文件中,以便客户端连接到 'cli-mcp' 服务器。请将 '<path to repo folder>' 替换为 'cli-mcp' 仓库在您本地文件系统中的绝对路径。

{
  "mcpServers": {
    "cli": {
      "serverName": "cli",
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<path to repo folder>",
        "cli"
      ]
    }
  }
}

参数注释:

  • 'serverName': 服务器名称,这里设置为 "cli"。
  • 'command': 启动服务器的命令,这里使用 'uv' (根据 'README.md' 建议)。请确保您的环境中安装了 'uv',或者根据实际情况修改为 'python' 或 'python3' 等命令,并调整 'args' 相应地指向 'server.py' 文件。
  • 'args': 传递给 'command' 的参数列表。
    • '"run"': 'uv run' 子命令用于运行 Python 脚本。
    • '"--directory"': 指定运行目录为仓库根目录。
    • '"<path to repo folder>"': 请替换为实际的仓库根目录的绝对路径。
    • '"cli"': 运行 'cli' 模块,即执行 'src/cli/init.py' 中的 'main' 函数,进而启动 'server.py' 中的 MCP 服务器。

基本使用方法

  1. 启动服务器: 配置好 MCP 客户端后,客户端会自动尝试启动 'cli-mcp' 服务器。
  2. 注册命令行工具: 在 MCP 客户端中,使用 'add' 工具注册您想要探索和使用的命令行工具。例如,如果您想使用 'git' 命令,可以调用 'add' 工具,并设置参数 'cmd: git'。服务器会分析 'git' 命令的帮助信息,并将其结构注册为资源。
  3. 查看工具结构: 使用 'help' 工具查看已注册的命令行工具的结构信息。例如,调用 'help' 工具并设置参数 'cmd: git',服务器会返回 'git' 命令的结构化信息。
  4. 运行命令行工具: 使用 'run' 工具执行已注册的命令行工具。例如,要执行 'git status' 命令,可以调用 'run' 工具,并设置参数 'cmd: git, cmd_args: status'。服务器会在本地执行 'git status' 命令,并将结果返回给客户端。

信息

分类

桌面与硬件