使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器,专为 Windows 桌面自动化设计。它利用 node-autoit-koffi 库,将 AutoIt 的强大自动化功能通过 MCP 协议暴露给 LLM 应用,使得 LLM 能够以标准化的方式与 Windows 桌面进行交互,执行各种自动化任务。
主要功能点
- 全面的自动化工具: 封装了所有 AutoIt 功能作为 MCP 工具,包括鼠标、键盘操作,窗口管理,进程控制,UI 元素(控件)交互等。
- 灵活的资源访问: 提供文件系统访问和屏幕截图资源,允许 LLM 获取本地文件内容和桌面图像。
- 便捷的 Prompt 模板: 内置常用自动化任务的 Prompt 模板,例如窗口交互、表单填写、任务自动化和监控等,方便用户快速上手。
- 多种传输协议支持: 支持 Stdio (标准输入输出) 和 WebSocket 两种传输协议,满足不同应用场景的需求。
- 类型安全: 使用 TypeScript 开发,代码类型严格,提高稳定性和可维护性。
安装步骤
-
克隆仓库
git clone https://github.com/mario-andreschak/mcp-windows-desktop-automation.git cd mcp-windows-desktop-automation -
安装依赖
npm install -
构建项目
npm run build
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器。以下是 JSON 格式的配置信息,请根据您的实际需求进行调整。
{ "serverName": "Windows Desktop Automation", "command": "npm", "args": [ "start" ], "注": "以上为默认 Stdio 传输配置,服务器启动命令为 'npm start',无额外参数。", "示例配置-WebSocket传输": { "command": "npm", "args": [ "start", "--", "--transport=websocket", "--port=3000" ], "注": "使用 WebSocket 传输,端口设置为 3000。需要添加 '--' 符号来分隔 npm start 命令和服务器参数。" }, "示例配置-Verbose日志": { "command": "npm", "args": [ "start", "--", "--verbose" ], "注": "启用详细日志输出,方便调试。需要添加 '--' 符号来分隔 npm start 命令和服务器参数。" } }
配置参数说明:
- 'serverName': 服务器名称,固定为 "Windows Desktop Automation"。
- 'command': 启动服务器的命令,通常为 'npm' 或 'node'。
- 'args': 传递给启动命令的参数,以数组形式提供。
- 默认配置 '["start"]': 使用 Stdio 传输启动服务器。
- WebSocket 传输配置 '["start", "--", "--transport=websocket", "--port=3000"]': 启动 WebSocket 传输模式,并设置端口为 3000。您可以根据需要修改端口号。注意:'--transport' 和 '--port' 参数前需要添加 '--' 分隔符,以确保参数正确传递给服务器程序。
- Verbose 日志配置 '["start", "--", "--verbose"]': 启用详细日志输出,方便开发和调试。注意:'--verbose' 参数前需要添加 '--' 分隔符。
基本使用方法
-
启动服务器: 根据您的配置选择合适的命令启动服务器。例如,使用默认 Stdio 传输,在项目根目录下运行 'npm start'。如需使用 WebSocket 传输,请参考上述配置示例修改启动命令。
-
连接 MCP 客户端: 在您的 MCP 客户端应用中,配置上述服务器配置信息,连接到正在运行的 MCP 服务器。
-
调用工具、资源和 Prompt: 连接成功后,您可以使用 MCP 客户端调用服务器提供的各种工具(例如鼠标点击 'mouseClick'、窗口激活 'winActivate' 等)、访问资源(例如读取文件 'file'、获取屏幕截图 'screenshot' 等)以及使用 Prompt 模板来辅助完成复杂的自动化任务。
可用工具类别:
- 鼠标操作 (mouse)
- 键盘操作 (keyboard)
- 窗口管理 (window)
- 进程管理 (process)
- 控件交互 (control)
可用资源:
- 文件访问 (file)
- 屏幕截图 (screenshot)
可用 Prompt 模板:
- 窗口交互 (window interaction)
- 表单填写 (form filling)
- 任务自动化 (automation tasks)
- 监控 (monitoring)
请参考仓库中的 'src/tools'、'src/resources' 和 'src/prompts' 目录下的代码,了解每个工具、资源和 Prompt 模板的具体功能和参数。
信息
分类
桌面与硬件