小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
3
最近更新:1年前

GUI 操作 MCP 服务器

PyMCPAutoGUI 🖱️⌨️🖼️ - 通过MCP实现GUI自动化

License: MIT

为您的AI智能体赋能! ✨ PyMCPAutoGUI在您的AI智能体(如Cursor或其他兼容MCP的环境中的智能体)与计算机图形用户界面(GUI)之间架起桥梁。它允许您的智能体像人类用户一样👁️查看屏幕、🖱️控制鼠标、⌨️操作键盘以及🪟与窗口交互!

告别繁琐的手动GUI操作,让AI为您代劳💪。非常适合自动化重复任务、测试GUI或构建强大的AI助手🤖。

🤔 为什么选择PyMCPAutoGUI?

  • 🤖 赋能智能体:让AI智能体直接与桌面应用程序交互
  • ✅ 简单集成:与Cursor编辑器等MCP兼容客户端无缝协作,即插即用
  • 🚀 易于使用:只需一个简单的服务器命令即可开始使用,真的就是这么简单
  • 🖱️⌨️ 全面控制:提供来自久经考验的PyAutoGUIPyGetWindow的广泛GUI自动化功能
  • 🖼️ 屏幕感知:包含截图和在屏幕上定位图像的工具,让您的智能体"看见"!
  • 🪟 窗口管理:控制窗口位置、大小、状态(最小化、最大化)等,整理您的桌面!
  • 💬 用户交互:显示警报、确认和提示框与用户交流

🛠️ 支持环境

  • 操作系统:Windows、macOS、Linux(每个操作系统需要安装pyautogui的相应依赖)
  • Python:3.11+ 🐍
  • MCP客户端:Cursor编辑器、任何支持模型上下文协议(MCP)的客户端

🚀 快速开始 - 超级简单!

1. 安装(推荐使用虚拟环境!)

使用虚拟环境可以保持项目依赖整洁。

bash 复制代码
# 创建并激活虚拟环境(使用venv示例)
python -m venv .venv
# Windows PowerShell
.venv\Scripts\Activate.ps1
# macOS / Linux bash
source .venv/bin/activate

# 使用pip安装(从PyPI或本地源码安装)
# 确保您的虚拟环境已激活!
pip install pymcpautogui # 或从本地源码安装时使用 pip install .

(注意:pyautogui可能需要系统依赖,如Linux上的scrot用于截图。请查看pyautogui文档了解特定操作系统的安装要求。)

2. 运行MCP服务器

安装完成后,只需在终端运行服务器:

bash 复制代码
# 确保您的虚拟环境已激活!
python -m pymcpautogui.server

服务器将启动并监听连接(默认端口6789)。您将看到以下输出:

复制代码
INFO:     服务器进程已启动 [XXXXX]
INFO:     等待应用程序启动。
INFO:     应用程序启动完成。
INFO:     Uvicorn运行于 http://127.0.0.1:6789 (按CTRL+C退出)

当您需要GUI自动化魔法时,保持此终端运行!✨

✨ 与Cursor编辑器的无缝集成

将PyMCPAutoGUI连接到Cursor(@符号)以便在编码工作流中直接实现GUI自动化。

  1. 打开MCP配置:在Cursor中,使用命令面板(Ctrl+Shift+PCmd+Shift+P)并找到"MCP:打开mcp.json配置文件"。

  2. 添加PyMCPAutoGUI配置:将此配置添加或合并到您的mcp.json中。如果需要,调整路径(特别是如果Cursor不是从项目根目录运行)。

    json 复制代码
    {
        "mcpServers": {
            // ... 其他MCP服务器配置(如果有)...
            "PyMCPAutoGUI": {
                // 设置工作目录。${workspaceFolder}通常是正确的。
                "cwd": "${workspaceFolder}",
    
                // 运行Python的命令。如果虚拟环境在启动Cursor的终端中已激活,则'python'有效,
                // 或者指定完整路径。
                "command": "python", // 或 ".venv/Scripts/python.exe"(Windows)或 ".venv/bin/python"(Mac/Linux)
    
                // 启动服务器模块的参数。
                "args": ["-m", "pymcpautogui.server"]
            }
            // ... 其他MCP服务器配置(如果有)...
        }
    }

    (提示:如果mcp.json已存在,只需在mcpServers对象中添加"PyMCPAutoGUI": { ... }部分。)

  3. 保存mcp.json。Cursor将检测到服务器。

  4. 开始自动化! 在Cursor聊天中使用@PyMCPAutoGUI

    示例:
    @PyMCPAutoGUI move_to(x=100, y=200)
    @PyMCPAutoGUI write(text='用AI自动化!🎉', interval=0.1)
    @PyMCPAutoGUI screenshot(filename='current_screen.png')
    @PyMCPAutoGUI activate_window(title='记事本')

🧰 可用工具

PyMCPAutoGUI公开了pyautoguipygetwindow的大多数功能。示例包括:

  • 鼠标 🖱️move_to, click, move_rel, drag_to, drag_rel, scroll, mouse_down, mouse_up, get_position
  • 键盘 ⌨️write, press, key_down, key_up, hotkey
  • 截图 🖼️screenshot, locate_on_screen, locate_center_on_screen
  • 窗口 🪟get_all_titles, get_windows_with_title, get_active_window, activate_window, minimize_window, maximize_window, restore_window, move_window, resize_window, close_window
  • 对话框 💬alert, confirm, prompt, password
  • 配置 ⚙️set_pause, set_failsafe

有关完整列表和详细信息,请查看pymcpautogui/server.py文件或在MCP客户端中使用@PyMCPAutoGUI list_tools

📄 许可证

本项目采用MIT许可证 - 详情请参阅LICENSE文件。祝您自动化愉快!😄