使用说明

项目简介

Command Executor MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型 (LLM) 提供安全可控的命令执行能力。它允许LLM客户端通过标准化的 MCP 协议调用预先配置的系统命令,从而扩展 LLM 的功能,使其能够与外部环境进行交互,例如执行 Git 操作、文件系统操作等。该服务器强调安全性,只允许执行管理员预先批准的命令,并提供了详细的配置和错误处理机制。

主要功能点

  • 安全命令执行: 仅执行预先批准的命令,防止恶意代码注入。
  • 可配置命令列表: 通过环境变量灵活配置允许执行的命令。
  • 基于 MCP 协议: 使用标准 MCP 协议与 LLM 客户端通信。
  • 实时输出流: 实时返回命令执行的输出结果。
  • 详细错误处理: 提供清晰的错误信息,方便调试和问题排查。

安装步骤

  1. 安装依赖: 确保已安装 Node.js 和 npm,然后克隆仓库到本地,并在项目根目录下运行以下命令安装项目依赖:
    npm install
  2. 构建服务器: 运行以下命令构建服务器代码:
    npm run build
    构建成功后,编译后的 JavaScript 文件将位于 'build/index.js'。

服务器配置

MCP 服务器需要配置到 MCP 客户端中才能使用。以 Claude Desktop 为例,你需要编辑 Claude 的配置文件 'claude_desktop_config.json'(路径见仓库 README),添加 'command-executor' 服务器的配置。

配置信息('claude_desktop_config.json' 示例):

{
  "mcpServers": {
    "command-executor": {
      "command": "/path/to/command-executor/build/index.js"
    }
  }
}

配置参数说明:

  • 'command-executor': 服务器名称,客户端用于识别和调用。
  • 'command': 必填。指向 Command Executor MCP Server 启动脚本的路径。请将 '/path/to/command-executor/build/index.js' 替换为实际的 'build/index.js' 文件路径。

基本使用方法

配置完成后,在支持 MCP 协议的 LLM 客户端中,你就可以使用 'execute_command' 工具来执行预先批准的命令了。

调用 'execute_command' 工具的示例请求 (JSON-RPC request):

{
  "name": "execute_command",
  "arguments": {
    "command": "git status"
  }
}

请求参数说明:

  • 'name': 固定为 'execute_command',表示要调用的工具名称。
  • 'arguments': 工具参数。
    • 'command': 必填。要执行的系统命令,例如 'git status'、'ls -l' 等。请注意,只有预先配置在 'ALLOWED_COMMANDS' 环境变量中的命令才会被允许执行。

服务器响应示例 (JSON-RPC response):

{
  "content": [
    {
      "type": "text",
      "text": "On branch main\nNothing to commit, working tree clean"
    }
  ]
}

响应内容会包含命令执行的输出结果。如果命令执行失败或未被允许,则会返回包含错误信息的响应。

信息

分类

桌面与硬件