使用说明
项目简介
Windows CLI MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM(如 Claude Desktop)提供安全可控的Windows命令行界面访问能力。它允许LLM客户端通过预定义的工具,在您的Windows系统上执行命令,并支持通过SSH连接到远程系统执行操作。该服务器强调安全性,提供了丰富的配置选项来限制和监控LLM客户端的行为,防止潜在的安全风险。
主要功能点
- 多Shell支持: 支持在 PowerShell, Command Prompt (CMD), 和 Git Bash 中执行命令。
- SSH支持: 允许通过SSH协议在远程系统上执行命令。
- 安全控制:
- 命令和SSH命令阻止: 可以配置阻止特定的命令及其完整路径,支持大小写不敏感匹配。
- 工作目录验证: 限制命令只能在允许的目录中执行。
- 最大命令长度限制: 防止执行过长的命令。
- 命令日志和历史记录: 记录所有执行的命令及其输出。
- 智能参数验证: 阻止危险的命令参数。
- 命令注入保护: 防止命令注入攻击。
- 高度可配置:
- 自定义安全规则: 灵活配置各种安全策略。
- Shell特定设置: 针对不同Shell进行独立配置。
- SSH连接配置文件: 管理多个SSH连接。
- 路径限制: 严格控制LLM客户端可以访问的文件路径。
- 阻止命令列表: 自定义禁止执行的命令列表。
安装步骤
-
安装Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (Node包管理器)。您可以从 nodejs.org 下载并安装。
-
全局安装 Server: 打开命令行终端(PowerShell, CMD, 或 Git Bash),运行以下命令全局安装 '@simonb97/server-win-cli':
npm install -g @simonb97/server-win-cli
服务器配置
MCP客户端需要配置 MCP服务器的启动命令 (command) 及其参数 (args) 才能建立连接。对于 'Windows CLI MCP Server',您需要在MCP客户端的配置文件(例如 'claude_desktop_config.json',如仓库 README 所示)中添加如下配置信息。
以下是连接 'Windows CLI MCP Server' 的 'claude_desktop_config.json' 配置示例:
{ "mcpServers": { "windows-cli": { // 服务器名称,您可以自定义 "command": "npx", // 启动命令,这里使用 npx 运行已安装的包 "args": ["-y", "@simonb97/server-win-cli"] // 启动参数,指定要运行的 npm 包 } } }
可选配置:指定配置文件
您还可以通过 '--config' 参数指定服务器的配置文件路径。首先,您可以复制 'config.json.example' 文件并重命名为 'config.json',然后根据需要修改配置文件内容。或者,您可以使用命令 'npx @simonb97/server-win-cli --init-config ./config.json' 在指定路径创建默认配置文件。
如果您使用了自定义的配置文件 'path/to/your/config.json',则 'claude_desktop_config.json' 的配置应修改为:
{ "mcpServers": { "windows-cli": { "command": "npx", "args": [ "-y", "@simonb97/server-win-cli", "--config", "path/to/your/config.json" // 指定配置文件的路径 ] } } }
服务器会按照以下顺序查找配置文件:
- 通过 '--config' 标志指定的路径
- 当前目录下的 './config.json'
- 用户主目录下的 '~/.win-cli-mcp/config.json'
如果未找到配置文件,服务器将使用默认的限制性配置。
基本使用方法
-
配置MCP客户端: 根据您的MCP客户端(例如 Claude Desktop)的文档,编辑其配置文件(如 'claude_desktop_config.json'),添加上面提供的 'mcpServers' 配置。
-
启动MCP客户端: 启动您的MCP客户端应用程序。客户端将自动尝试连接到 'Windows CLI MCP Server'。
-
通过LLM客户端与系统交互: 现在,您可以通过LLM客户端向 'Windows CLI MCP Server' 发送指令,例如,在 Claude Desktop 中,您可以指示 Claude 执行 shell 命令,服务器将根据配置的安全策略执行命令并将结果返回给 Claude。
请务必仔细阅读仓库的 'README.md' 文件和 'config.json.example' 示例配置文件,详细了解安全配置选项,并根据您的实际需求进行配置,以确保系统安全。
信息
分类
桌面与硬件