基本能力
产品定位
win-cli-mcp-server 是一个用于 Windows 系统的 MCP 服务器,提供安全的命令行交互功能,支持本地和远程命令执行。
核心功能
- 多 Shell 支持:在 PowerShell、CMD 和 Git Bash 中执行命令
- SSH 支持:通过 SSH 在远程系统上执行命令
- 资源暴露:查看 SSH 连接、当前目录和配置
- 安全控制:
- 命令和 SSH 命令阻止
- 工作目录验证
- 最大命令长度限制
- 命令日志和历史跟踪
- 智能参数验证
- 可配置性:
- 自定义安全规则
- Shell 特定设置
- SSH 连接配置文件
- 路径限制
- 阻止命令列表
适用场景
- 通过 MCP 客户端(如 Claude Desktop)在本地或远程系统上执行命令
- 管理 SSH 连接和远程服务器
- 安全地执行命令行操作
工具列表
- execute_command:在指定 Shell 中执行命令
- get_command_history:获取执行的命令历史
- ssh_execute:在远程系统上执行命令
- ssh_disconnect:断开 SSH 连接
- create_ssh_connection:创建新的 SSH 连接
- read_ssh_connections:读取所有配置的 SSH 连接
- update_ssh_connection:更新 SSH 连接
- delete_ssh_connection:删除 SSH 连接
- get_current_directory:获取服务器的当前工作目录
常见问题解答
- 安全性:服务器提供多种安全控制,如命令阻止、路径限制和命令日志
- 配置:通过 JSON 配置文件自定义行为
- SSH:支持通过 SSH 远程管理系统
使用教程
使用依赖
- Node.js
- npm
安装教程
- 安装 Node.js 和 npm
- 运行以下命令安装服务器:
bash
npm install -g @simonb97/server-win-cli
调试方式
- 启动服务器:
bash
npx @simonb97/server-win-cli - 使用 MCP 客户端(如 Claude Desktop)连接服务器
- 执行命令并查看输出
配置
创建配置文件
- 复制
config.json.example
到config.json
,或运行:
bash
npx @simonb97/server-win-cli --init-config ./config.json - 使用
--config
标志指定配置文件路径
配置位置
--config
标志指定的路径- 当前目录下的
./config.json
- 用户主目录下的
~/.win-cli-mcp/config.json
默认配置
默认配置设计为限制性和安全性高,包括:
- 阻止危险命令(如 rm
, del
, format
)
- 限制工作目录
- 启用命令日志
配置设置
- 安全设置:命令阻止、路径限制、命令超时等
- Shell 配置:启用/禁用 Shell、设置默认参数等
- SSH 配置:启用/禁用 SSH、设置超时和连接等
API
工具
- execute_command:执行命令
- get_command_history:获取命令历史
- ssh_execute:执行 SSH 命令
- ssh_disconnect:断开 SSH 连接
- create_ssh_connection:创建 SSH 连接
- read_ssh_connections:读取 SSH 连接
- update_ssh_connection:更新 SSH 连接
- delete_ssh_connection:删除 SSH 连接
- get_current_directory:获取当前目录
资源
- SSH 连接:查看 SSH 连接详情
- SSH 配置:查看 SSH 配置
- 当前目录:查看当前工作目录
- CLI 配置:查看 CLI 服务器配置
安全考虑
内置安全功能
- 不区分大小写的命令阻止
- 智能路径解析
- 输入验证
- 敏感数据屏蔽
可配置安全功能
- 命令阻止
- 参数阻止
- 命令注入保护
- 工作目录限制
- 命令长度限制
- 命令超时
- 命令日志
重要安全警告
- 环境访问:命令可能访问环境变量
- 文件系统访问:命令可以读写允许路径内的文件
许可证
MIT 许可证