返回市场
PyMCP自动GUI工具

PyMCP自动GUI工具

作者:kitfactory15 星标更新:2025-03-30

项目介绍

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

License: MIT

增强你的AI代理的能力!✨ PyMCPAutoGUI 提供了一个桥梁,连接你的AI代理(如Cursor或其他兼容MCP环境中的代理)与计算机的图形用户界面(GUI)。它允许你的代理看到屏幕 👁️,控制鼠标 🖱️ 和键盘 ⌨️,并与窗口 🪟 进行交互,就像人类用户一样!

停止繁琐的手动GUI任务,让AI来完成繁重的工作 💪。非常适合自动化重复性动作、测试GUI或构建强大的AI助手 🤖。

🤔 为什么选择 PyMCPAutoGUI?

  • 🤖 赋能您的代理: 给您的AI代理赋予直接与桌面应用程序交互的能力。
  • ✅ 简单集成: 无缝地与兼容MCP的客户端(如Cursor编辑器)配合工作。即插即用!
  • 🚀 易于使用: 通过简单的服务器命令开始。真的就是这么简单。
  • 🖱️⌨️ 全面控制: 提供了广泛的GUI自动化功能,这些功能来自经过实战考验的 PyAutoGUIPyGetWindow
  • 🖼️ 屏幕感知: 包含截图工具和在屏幕上定位图像的工具——让你的代理“看见”!
  • 🪟 窗口管理: 控制窗口的位置、大小、状态(最小化、最大化)等等。整理好你的桌面!
  • 💬 用户交互: 显示警告框、确认框和提示框以与用户沟通。

🛠️ 支持的环境

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

🚀 快速入门 - 非常简单!

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

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

# 创建并激活虚拟环境(例如使用 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 服务器

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

# 确保你的虚拟环境已激活!
python -m pymcpautogui.server

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

INFO:     Started server process [XXXXX]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:6789 (Press CTRL+C to quit)

在你需要GUI自动化魔法时,请保持这个终端运行!✨

✨ 与 Cursor 编辑器无缝集成

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

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

  2. 添加 PyMCPAutoGUI 配置: 将此配置添加到你的 mcp.json 中。根据需要调整路径(特别是如果 Cursor 不是从项目根目录运行的情况下)。

    {
        "mcpServers": {
            // ... 其他 MCP 服务器配置如果有 ...
            "PyMCPAutoGUI": {
                // 设置工作目录。${workspaceFolder} 通常是正确的。
                "cwd": "${workspaceFolder}",
    
                // 运行 Python 的命令。如果终端中激活了虚拟环境,则 'python' 可以正常工作,或者指定完整路径。
                "command": "python", // 或 ".venv/Scripts/python.exe" (Win) 或 ".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 文件以获取详细信息。祝你自动化愉快!😄