使用说明

项目简介

Windows CLI MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM客户端提供安全可控的Windows命令行和远程系统(通过SSH)交互能力。它允许授权的LLM应用执行预设的命令、访问系统资源,并管理SSH连接,从而实现更强大的自动化和系统管理功能。该服务器强调安全性,提供了多项配置选项来限制和监控LLM客户端的操作,保护系统安全。

主要功能点

  • 多Shell支持: 支持 PowerShell, Command Prompt (CMD), 和 Git Bash 三种命令行环境。
  • SSH远程执行: 允许通过配置的SSH连接在远程系统上执行命令。
  • 资源暴露: 将SSH连接配置、当前工作目录和服务器配置作为MCP资源暴露给客户端,方便LLM获取环境信息。
  • 安全控制:
    • 命令和SSH命令黑名单 (支持全路径和大小写不敏感匹配)。
    • 工作目录验证,限制命令执行路径。
    • 最大命令长度限制。
    • 命令日志记录和历史追踪。
    • 智能参数验证,阻止危险参数。
  • 高度可配置:
    • 自定义安全规则。
    • Shell特定设置。
    • SSH连接 profiles 配置。
    • 路径限制和命令黑名单自定义。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node Package Manager)。
  2. 安装 Server: 通过 npm 安装 '@simonb97/server-win-cli' 包。打开命令行工具并执行:
    npm install -g @simonb97/server-win-cli

服务器配置

MCP客户端需要配置MCP服务器的启动命令及其参数才能连接。以下是 'claude_desktop_config.json' 的配置示例,用于配置 Claude Desktop 连接到 Windows CLI MCP Server。

{
  "mcpServers": {
    "windows-cli": {
      "command": "npx",
      "args": ["-y", "@simonb97/server-win-cli"]
    }
  }
}

参数说明:

  • 'server name': 'windows-cli' (用户自定义,在客户端中用于标识该服务器)
  • 'command': 'npx' (Node.js 包执行器,用于运行 npm 包)
  • 'args': '["-y", "@simonb97/server-win-cli"]' (传递给 'npx' 的参数,'-y' 表示自动确认安装包,'@simonb97/server-win-cli' 是要执行的 MCP 服务器包名)

可选配置:指定配置文件

如果需要使用自定义的配置文件,可以通过 '--config' 参数指定配置文件路径。

{
  "mcpServers": {
    "windows-cli": {
      "command": "npx",
      "args": [
        "-y",
        "@simonb97/server-win-cli",
        "--config",
        "path/to/your/config.json"  // 将 "path/to/your/config.json" 替换为你的配置文件实际路径
      ]
    }
  }
}

创建配置文件:

服务器会自动查找配置文件,你也可以手动创建和修改配置文件 'config.json' 以自定义服务器行为。

  1. 创建默认配置文件: 你可以复制 'config.json.example' 文件并重命名为 'config.json',或者使用命令快速生成默认配置文件:
    npx @simonb97/server-win-cli --init-config ./config.json
  2. 配置服务器: 编辑 'config.json' 文件,根据需要修改安全设置、Shell 配置和 SSH 连接等。配置文件中包含了详细的配置项说明。

基本使用方法

  1. 启动服务器: 当 MCP 客户端(如 Claude Desktop)连接配置正确后,服务器会在后台自动启动。你通常不需要手动启动服务器。
  2. 客户端交互: 在 MCP 客户端中,你可以使用服务器提供的 Tools 和 Resources 与 Windows 系统进行交互。例如:
    • 使用 'execute_command' 工具在 PowerShell 或 CMD 中执行命令。
    • 使用 'ssh_execute' 工具在配置的远程 SSH 服务器上执行命令。
    • 通过 Resources 查看 SSH 连接配置和当前目录等信息。
  3. 安全性注意: 请务必仔细配置 'config.json' 文件中的安全设置,特别是 'blockedCommands', 'blockedArguments' 和 'allowedPaths',以确保系统安全。

信息

分类

桌面与硬件