使用说明

项目简介

MCP Command Server 是一个基于 Model Context Protocol (MCP) 构建的安全命令执行服务器。它旨在为大型语言模型 (LLM) 应用(如 Claude)提供安全可靠的系统命令执行能力。该服务器通过白名单机制、用户确认、输入验证和审计日志等多重安全措施,保护系统免受潜在的恶意命令攻击。

主要功能点

  • 安全命令执行: 仅执行预先配置在白名单中的命令,防止执行未授权的系统操作。
  • 用户确认: 所有命令执行都需要用户显式确认,增强安全性并防止意外操作。
  • 全面的审计日志: 详细记录所有命令的执行情况,包括命令内容、执行时间、执行结果等,便于安全审计和问题追踪。
  • 输入验证与清理: 对用户输入的命令和参数进行严格的验证和清理,防止命令注入攻击。
  • Claude Desktop 集成: 专门为与 Claude Desktop 等 LLM 应用集成而设计,提供无缝的用户体验。

安装步骤

  1. 安装软件包: 打开终端,运行以下命令安装 'mcp-command-server' 软件包:
    uv pip install mcp-command-server

服务器配置

MCP 服务器需要配置在 MCP 客户端中才能使用。对于 Claude Desktop 等客户端,您需要在其配置文件中添加 MCP 服务器的配置信息。以下是一个典型的配置示例,您需要根据实际情况进行调整。

{
  "mcpServers": {
    "command-server": {  // 服务器名称,客户端通过此名称引用
      "command": "uv",  // 启动服务器的命令
      "args": ["run", "python", "-m", "mcp_command_server"], // 启动服务器命令的参数
      "env": {
        "ALLOWED_COMMANDS": "ls,pwd,echo" // 环境变量,用于配置允许执行的命令,多个命令用逗号分隔
      }
    }
  }
}

配置参数说明:

  • 'server name': 'command-server' - 您为该服务器指定的名称。在客户端配置或调用时,将使用此名称。
  • 'command': 'uv' - 用于启动服务器进程的命令。这里使用 'uv run python -m' 来运行 Python 模块。请确保您的系统已安装 'uv' 和 Python。
  • 'args': '["run", "python", "-m", "mcp_command_server"]' - 传递给 'command' 的参数。这里指定运行 Python 模块 'mcp_command_server'。
  • 'env': 环境变量配置。
    • 'ALLOWED_COMMANDS': '"ls,pwd,echo"' - 重要参数,配置允许执行的系统命令白名单。请根据您的需求修改此列表,只添加必要的命令以确保安全。多个命令之间用逗号分隔。

注意: 请根据您的实际环境和安全需求配置 'ALLOWED_COMMANDS' 环境变量,限制允许执行的命令,以提高安全性。

基本使用方法

  1. 确保已安装 'mcp-command-server' 软件包。
  2. 根据上述 服务器配置 部分,在您的 MCP 客户端(如 Claude Desktop)中配置 'command-server'。
  3. 启动 MCP 客户端。客户端将根据配置信息连接到 MCP Command Server。
  4. 在 LLM 应用中,您可以通过调用注册的 'execute_command' 工具来执行系统命令。服务器会根据配置的白名单进行安全检查,并请求用户确认后执行命令,最终将结果返回给 LLM 应用。

示例使用场景: 在 Claude 中,您可以指示 Claude 使用 'command-server' 执行 'ls -l /home/user' 命令来列出用户目录的内容。Claude 会将命令请求发送到 MCP Command Server,服务器会进行安全验证和用户确认,并在获得确认后执行命令,最终将目录列表返回给 Claude。

信息

分类

桌面与硬件