mcpField
S
Super Windows CLI MCP Server

Super Windows CLI MCP Server

本地服务
mcpmarket.com开发工具082 周前更新

关于 Super Windows CLI MCP Server

Super Windows CLI MCP Server 面向需要通过 MCP 操作 Windows Shell 和文件系统的用户,支持配置 PowerShell、CMD 和 Git Bash。它可按 SYSTEM 权限运行,存在显著安全风险。

主要功能

  1. 01访问 PowerShell、CMD 和 Git Bash
  2. 02配置命令执行
  3. 03配置文件系统访问
  4. 04可选 SSH 命令执行
  5. 05通过 NSSM 安装并恢复服务

适用场景

  1. 01在 Windows 机器上运行 Shell 命令
  2. 02通过配置的路径访问文件
  3. 03在配置的 SSH 主机上执行命令

MCP 相关

它向 MCP 客户端提供 Windows Shell、文件系统及可选的 SSH 命令执行能力。配置可限制命令和允许的路径;README 警告它可能以 SYSTEM 权限运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Super Windows CLI MCP Server

Windows CLI MCP Server 的增强分支,通过命令行界面(MCP)为 Windows 环境提供不受限制的系统访问权限。

基于: SimonB97 的 win-cli-mcp-server。


⚠️ 重大安全警告 ⚠️

此服务旨在以 Windows SYSTEM 级权限运行。这将赋予它对整个操作系统的完全且不受限制的访问权限,包括所有文件、进程和配置设置。

  • 除非你完全了解授予 SYSTEM 级访问权限的影响,否则不要安装或运行此服务。
  • 仅在你能完全控制网络访问的高度可信环境中使用此服务。
  • 网络安全至关重要: 由于应用层限制在设计上很少,因此应主要依靠防火墙、网络分段和严格的访问控制列表(ACL)来保护运行此服务的计算机。
  • 仔细检查配置: 密切关注 config.json 中的 allowedPaths、blockedCommands 和其他安全设置。配置错误很容易暴露你的系统。

请负责任地使用此软件,并自行承担风险。维护者不对因使用此软件而造成的滥用或安全漏洞承担任何责任。


功能

  • 完全访问 Windows shell 环境(PowerShell、CMD、Git Bash——可配置)。
  • 不受限制的命令执行(可通过 config.json 配置)。
  • 完整的文件系统访问权限(可通过 config.json 配置)。
  • 通过 NSSM 以 SYSTEM 级权限安装服务,实现持久运行和自动恢复。
  • NSSM 提供自动服务恢复功能。
  • 网络绑定控制(设计上支持,但主要通过网络/防火墙层管理)。
  • 禁用 PowerShell 遥测以增强隐私保护。
  • 通过进程复用提升性能(适用于 shell)。
  • 延长长时间运行操作的超时时间(可配置)。

前置条件

开始之前,请确保已安装以下内容:

  1. Node.js: 18.0.0 或更高版本。从 nodejs.org 下载。(包含 npm)。
  2. NSSM(Non-Sucking Service Manager): 可靠安装服务所必需。从 nssm.cc 下载最新版本。

安装(使用 NSSM - 推荐)

此方法会将服务安装为持久运行的 Windows 服务,以 SYSTEM 权限运行并自动启动。

  1. 克隆或下载:

    • 克隆此代码仓库:git clone <repository-url>
    • 或下载源代码 .zip 并将其解压到合适的位置(例如,C:\Servers\SuperWinCLIServer)。请避免使用用户配置文件文件夹。
  2. 放置 NSSM:

    • 从 nssm.cc 下载 NSSM。
    • 解压 zip 文件。
    • 将相应架构文件夹(win32 或 win64)中的 nssm.exe 文件复制到此项目的根目录(与 install-service.ps1 相同的文件夹)。
  3. 安装依赖项并构建:

    • 在项目的根目录中打开终端(PowerShell 或 CMD)。
    • 运行:npm install
    • 此命令会安装必要的 Node.js 软件包,并自动运行 npm run build,将 TypeScript 代码编译到 dist 文件夹中。
  4. 配置 config.json:

    • 复制: 复制 config.sample.json,并在项目根目录中将副本命名为 config.json。
    • 编辑: 打开 config.json,并仔细检查和修改设置:
      • security.allowedPaths:至关重要! 将示例路径替换为服务实际需要访问的目录。出于安全考虑,请尽可能指定具体路径。如果不确定,请先使用项目目录本身(例如,"C:\\Servers\\SuperWinCLIServer"——注意使用双反斜杠 \\)。服务以 SYSTEM 身份运行,因此路径必须对该账户有效。
      • security.blockedCommands / blockedArguments:检查默认列表。根据你的安全策略添加或移除命令/参数。
      • shells:启用/禁用 Shell(PowerShell、CMD、Git Bash),并验证 command 路径(尤其是 Git Bash)。
      • ssh:如果打算使用 SSH 执行功能,请进行配置(默认禁用)。
    • 保存 config.json 文件。
  5. 运行安装脚本:

    • 以管理员身份打开 PowerShell。
    • 切换到项目的根目录(cd C:\Servers\SuperWinCLIServer)。
    • 执行安装脚本:.\install-service.ps1
    • 此脚本使用 NSSM 将 MCPServer 服务安装并配置为以 LocalSystem 身份运行 node.exe dist/index.js,并自动启动。
  6. 验证服务状态:

    • 在同一个管理员 PowerShell 窗口中,运行:Get-Service MCPServer
    • 状态应为 Running。如果状态为 Stopped,请检查 NSSM 日志或 Windows 事件查看器(应用程序和系统日志)中的错误。

配置(config.json)详情

  • security:
    • maxCommandLength:命令字符串允许的最大字符数。
    • blockedCommands:要屏蔽的命令名称(不含扩展名)数组(不区分大小写)。
    • blockedArguments:要屏蔽的精确参数数组(不区分大小写)。
    • allowedPaths:关键设置。 绝对路径数组。如果 restrictWorkingDirectory 为 true,则只有当命令的工作目录以其中某个路径开头时,才能执行该命令。路径规范化后会进行不区分大小写的比较。使用双反斜杠(例如,"C:\\Tools\\Scripts")。
    • restrictWorkingDirectory:布尔值。如果为 true,则对工作目录强制执行 allowedPaths 检查。强烈建议保持为 true。
    • logCommands:布尔值。如果为 true,执行的命令及其输出(截断后)会存储在内存中(最多 maxHistorySize 条)。
    • maxHistorySize:内存历史记录中保留的命令最大数量。
    • commandTimeout:运行中的命令被自动终止前的秒数。
    • enableInjectionProtection:布尔值。如果为 true,则尝试屏蔽命令中的 Shell 运算符(&、|、; 等,具体取决于 Shell)。
  • shells:配置可用的本地 Shell(powershell、cmd、gitbash)。
    • enabled:布尔值。允许使用此 Shell。
    • command:Shell 可执行文件的路径。
    • args:传递给 Shell、位于用户命令之前的默认参数数组。
    • blockedOperators:要在此 Shell 的命令中屏蔽的字符串/字符数组(仅在 enableInjectionProtection 为 true 时使用)。
  • ssh:配置通过 SSH 执行远程命令。
    • enabled:布尔值。启用 ssh_execute 和 ssh_disconnect 工具。
    • connections:包含命名连接配置(主机、端口、用户名、密码/privateKeyPath)的对象。
  • 配置合并: 加载 config.json 时,如果文件中包含 security 或 shells 部分,该部分会整体替换对应部分的默认配置。它不会合并 security 或 shells 中的单个字段。ssh 部分则会以更细粒度的方式合并。如果要自定义这些部分,请确保 config.json 包含所有必需字段。

服务管理(NSSM)

通过 install-service.ps1 安装后,你可以在项目目录中使用标准 Windows 工具或 NSSM 命令来管理服务。请在管理员权限的 PowerShell/CMD 中执行:

  • 启动: Start-Service MCPServer 或 .\nssm.exe start MCPServer
  • 停止: Stop-Service MCPServer 或 .\nssm.exe stop MCPServer
  • 重启: Restart-Service MCPServer 或 .\nssm.exe restart MCPServer
  • 状态: Get-Service MCPServer 或 .\nssm.exe status MCPServer
  • 编辑配置(高级): .\nssm.exe edit MCPServer(打开 NSSM 图形界面编辑器)
  • 查看配置: .\nssm.exe dump MCPServer

卸载(NSSM)

  1. 以管理员身份打开 PowerShell。
  2. 导航到项目根目录。
  3. 执行卸载脚本:.\uninstall-service.ps1
  4. 此脚本使用 NSSM 停止并移除 MCPServer 服务。

替代运行方式(手动/调试)

你可以不将服务安装为系统服务,直接运行服务器以进行测试或调试:

  1. 确保已运行 npm install。
  2. 确保 config.json 存在且已完成配置。
  3. 在项目根目录中打开普通终端(PowerShell/CMD)。
  4. 运行:npm run start
  5. 服务器将在前台运行。按 Ctrl + C 停止。

许可证

本项目基于 MIT License 授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。