超级Windows CLI MCP服务器是Windows CLI MCP服务器的增强分支,可通过命令行界面(MCP)为Windows环境提供不受限制的系统访问权限。
本项目基于 win-cli-mcp-server,由SimonB97开发。
本服务器设计为在Windows上以系统级权限运行,这使其能够完全且不受限制地访问整个操作系统,包括所有文件、进程和配置设置。
config.json 中的 allowedPaths、blockedCommands 和其他安全设置。配置错误很容易使您的系统暴露风险。请谨慎使用此软件,并自行承担风险。维护者对因使用此软件而导致的滥用或安全漏洞不承担任何责任。
config.json 配置)。config.json 配置)。在开始之前,请确保已安装以下软件:
此方法会将服务器作为持久的Windows服务安装,该服务以系统权限运行并自动启动。
git clone .zip 文件,并将其解压到合适的位置(例如 C:\Servers\SuperWinCLIServer)。避免使用用户配置文件文件夹。nssm.exe 文件从相应的架构文件夹(win32 或 win64)复制到项目的根目录(与 install-service.ps1 所在的文件夹相同)。npm installnpm run build,将TypeScript代码编译到 dist 文件夹中。config.json:
config.sample.json 并将其命名为 config.json。config.json 并仔细审查和修改设置:
security.allowedPaths:至关重要! 将示例路径更改为服务器实际需要访问的目录。为确保安全,请尽可能具体。如果不确定,请从项目目录本身开始(例如 "C:\\Servers\\SuperWinCLIServer" - 请使用双反斜杠 \\)。由于服务以系统身份运行,因此路径必须对该账户有效。security.blockedCommands / blockedArguments:审查默认列表。根据您的安全策略添加或删除命令/参数。shells:启用/禁用shell(PowerShell、CMD、Git Bash),并验证 command 路径(特别是对于Git Bash)。ssh:如果您打算使用SSH执行功能(默认禁用),请进行配置。config.json 文件。cd C:\Servers\SuperWinCLIServer)。.\install-service.ps1MCPServer 服务,使其以 LocalSystem 身份运行 node.exe dist/index.js 并自动启动。Get-Service MCPServerRunning。如果为 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:在 enableInjectionProtection 为 true 时,用于阻止此特定shell命令中的字符串/字符数组。ssh 部分用于配置通过SSH进行的远程命令执行。
enabled:布尔值。启用 ssh_execute 和 ssh_disconnect 工具。connections:包含命名连接配置的对象(主机、端口、用户名、密码/私钥路径)。当加载 config.json 时,如果它包含 security 或 shells 部分,则该整个部分将替换该部分的默认配置,而不是合并 security 或 shells 中的各个字段。ssh 部分的合并更为细致。如果您自定义这些部分,请确保 config.json 包含这些部分的所有必要字段。
通过 install-service.ps1 安装后,您可以使用标准的Windows工具或在项目目录中的管理员PowerShell/CMD中使用NSSM命令来管理服务:
Start-Service MCPServer 或 .\nssm.exe start MCPServerStop-Service MCPServer 或 .\nssm.exe stop MCPServerRestart-Service MCPServer 或 .\nssm.exe restart MCPServerGet-Service MCPServer 或 .\nssm.exe status MCPServer.\nssm.exe edit MCPServer(打开NSSM GUI编辑器).\nssm.exe dump MCPServer.\uninstall-service.ps1MCPServer 服务。您可以直接运行服务器,而无需将其作为服务安装,用于测试或调试目的:
npm install。config.json 存在并已配置。npm run startCtrl + C 停止它。本项目采用MIT许可证 - 有关详细信息,请参阅 LICENSE 文件。