你是否曾经希望AI能够直接在Windows系统上执行命令行操作,帮助你自动化管理任务、执行脚本或进行系统维护?今天要介绍的开源项目Windows命令行MCP服务器,正是为了实现这个目标而设计的。它提供了对Windows系统的安全命令行访问,允许MCP客户端在PowerShell、CMD和Git Bash shell中安全地执行命令,并带有可配置的安全控制。

重要通知:该项目已弃用,不再维护。建议使用 DesktopCommanderMCP 以获得类似功能。

项目基本信息

信息项详情
项目名称Windows命令行MCP服务器
GitHub地址https://github.com/SimonB97/win-cli-mcp
项目描述一种模型上下文协议(MCP)服务器,提供对Windows系统的安全命令行访问,允许像Claude Desktop这样的MCP客户端在PowerShell、CMD和Git Bash shell中安全地执行命令,并带有可配置的安全控制。
作者SimonB97
开源协议MIT License
开源状态公开状态(已弃用)
LanguagesTypeScript
支持平台Windows
最后更新2026-04-23

一、项目介绍

Windows命令行MCP服务器是一个让AI能够安全执行Windows命令行操作的MCP工具。它支持PowerShell、CMD和Git Bash三种Shell环境,并通过SSH支持远程系统访问。

这个服务器提供了以下功能:

  • 多Shell支持:在PowerShell、CMD和Git Bash中执行命令
  • SSH支持:通过SSH在远程系统上执行命令
  • 安全控制:命令阻止、工作目录验证、命令长度限制、命令日志记录
  • 资源暴露:查看SSH连接、当前目录和配置作为MCP资源
  • 可配置:自定义安全规则、Shell特定设置、SSH连接配置文件

安全警告:此MCP服务器提供对系统命令行界面的直接访问。启用后,它将授予对您的文件、环境变量和命令执行能力的访问权限。请仔细配置安全设置。

二、核心优势

多Shell支持

支持PowerShell、CMD和Git Bash三种Shell环境,适应不同的命令行需求。

SSH远程访问

支持通过SSH在远程系统上执行命令,可以管理多台服务器。

全面的安全控制

提供多层安全防护:

  • 命令阻止(完整路径、大小写变化)
  • 工作目录验证
  • 最大命令长度限制
  • 命令日志记录和历史跟踪
  • 智能参数验证
  • 命令注入保护

可配置性

支持自定义安全规则、Shell设置和SSH连接配置。

资源暴露

将SSH连接、当前目录和配置作为MCP资源暴露,方便查看和管理。

三、适用场景

Windows系统自动化

让AI执行PowerShell脚本、管理系统服务、自动化维护任务。

远程服务器管理

通过SSH连接管理Linux服务器,执行命令和脚本。

开发环境管理

AI可以自动配置开发环境、安装依赖、运行构建脚本。

文件系统操作

在受控目录内执行文件操作,如批量重命名、文件搜索等。

四、安装教程

系统要求

工具用途下载/安装方式
Node.jsJavaScript运行环境[https://nodejs.org/] (版本要求:18.0 或以上)
Windows系统运行环境Windows 10/11
MCP客户端如Claude Desktop、Cursor等根据客户端官网下载

安装步骤

注意:该项目已弃用,以下安装步骤仅供参考。建议使用替代方案。

第一步:配置Claude Desktop

找到配置文件:

  • %APPDATA%\Claude\claude_desktop_config.json

添加配置:

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

使用自定义配置文件:

{
  "mcpServers": {
    "windows-cli": {
      "command": "npx",
      "args": [
        "-y",
        "@simonb97/server-win-cli",
        "--config",
        "C:\\path\\to\\config.json"
      ]
    }
  }
}

第二步:生成默认配置文件

npx @simonb97/server-win-cli --init-config ./config.json

第三步:重启Claude Desktop

保存配置后,重启Claude Desktop。

五、使用示例

示例1:执行PowerShell命令

用户指令:“获取当前目录下的所有文件列表”

AI会调用execute_command工具:

{
  "shell": "powershell",
  "command": "Get-ChildItem"
}

示例2:执行CMD命令

用户指令:“显示系统信息”

{
  "shell": "cmd",
  "command": "systeminfo"
}

示例3:指定工作目录

用户指令:“在C:\Projects目录下执行dir命令”

{
  "shell": "powershell",
  "command": "dir",
  "workingDir": "C:\\Projects"
}

示例4:SSH远程执行

首先配置SSH连接,然后:

{
  "connectionId": "raspberry-pi",
  "command": "ls -la"
}

示例5:查看命令历史

{
  "limit": 10
}

示例6:管理SSH连接

创建连接

{
  "connectionId": "my-server",
  "connectionConfig": {
    "host": "192.168.1.100",
    "port": 22,
    "username": "admin",
    "password": "password"
  }
}

读取连接:调用read_ssh_connections

更新连接:调用update_ssh_connection

删除连接:调用delete_ssh_connection

示例7:获取资源

AI可以访问以下资源:

  • ssh://{connectionId}:SSH连接详细信息
  • ssh://config:整体SSH配置
  • cli://currentdir:当前工作目录
  • cli://config:CLI服务器配置

六、安全配置

默认安全设置

默认配置设计为严格且安全:

{
  "security": {
    "maxCommandLength": 2000,
    "blockedCommands": ["rm", "del", "format", "shutdown", "reg", "net"],
    "blockedArguments": ["--exec", "-e", "-enc", "-command"],
    "allowedPaths": ["用户主目录", "当前工作目录"],
    "restrictWorkingDirectory": true,
    "commandTimeout": 30,
    "enableInjectionProtection": true
  }
}

自定义允许路径

{
  "security": {
    "allowedPaths": ["C:\\Projects", "D:\\Work"],
    "restrictWorkingDirectory": true
  }
}

自定义阻止命令

{
  "security": {
    "blockedCommands": ["rm", "del", "format", "shutdown", "dangerous-cmd"]
  }
}

七、总结

Windows命令行MCP服务器为Windows用户提供了安全、可控的命令行访问能力。虽然该项目已弃用,但其设计思路和安全机制仍有参考价值。

这个项目的最大价值在于:

  1. 安全设计:多层安全控制,防止危险操作
  2. 多Shell支持:适应不同的命令行需求
  3. SSH集成:支持远程服务器管理
  4. 可配置性:灵活的安全规则设置
  5. 资源暴露:方便查看配置和状态

重要提醒:由于项目已弃用,建议使用 DesktopCommanderMCP 作为替代方案。

标签: 开发者工具

已有 34 条评论

    1. FionaFind FionaFind

      命令阻止列表包含format、shutdown等危险命令。

    2. GeorgeGet GeorgeGet

      工作目录限制可以防止访问敏感文件。

    3. HannahHelp HannahHelp

      命令注入保护默认开启,安全。

    4. IrisIdea IrisIdea

      配置文件中allowedPaths要仔细设置。

    5. JackJump JackJump

      blockedCommands不区分大小写,防止绕过。