你是否曾经希望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 |
| 开源状态 | 公开状态(已弃用) |
| Languages | TypeScript |
| 支持平台 | 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.js | JavaScript运行环境 | [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用户提供了安全、可控的命令行访问能力。虽然该项目已弃用,但其设计思路和安全机制仍有参考价值。
这个项目的最大价值在于:
- 安全设计:多层安全控制,防止危险操作
- 多Shell支持:适应不同的命令行需求
- SSH集成:支持远程服务器管理
- 可配置性:灵活的安全规则设置
- 资源暴露:方便查看配置和状态
重要提醒:由于项目已弃用,建议使用 DesktopCommanderMCP 作为替代方案。
密码在资源中自动屏蔽,安全。
建议使用--config指定配置文件。
默认配置足够安全,适合初学者。
SSH支持密码和密钥两种认证方式。
execute_command的workingDir参数很实用。