mcp-pyautogui 实现了一个针对 PyAutoGUI 的 模型上下文协议(MCP) 服务器。它提供了对鼠标、键盘和屏幕交互的控制,允许AI系统在主机上自动化任务。
该服务器通过 stdio 传输运行,并提供点击、打字、截屏等工具,重点在于简单性和可靠性。它专为希望将桌面自动化集成到工作流程中的开发者和AI爱好者设计。
您还需要授予相关的权限。
<img width="950" alt="sshot2" src="https://gips1.baidu.com/it/u=1381911234,3659772436&fm=3081&app=3081&f=PNG?w=1900&h=1172" />使用 pip 安装服务器。
pip install mcp-pyautogui
然后可以运行以下命令来确定服务器安装的位置:
which mcp-pyautogui
# 示例输出:
# /Users/bob/miniconda3/envs/desk/bin/mcp-pyautogui
在将 mcp-pyautogui 添加到您的 claude_desktop_config.json 文件时,请使用该位置。这里是一个示例配置:
{
"mcpServers": {
"mcp-pyautogui": {
"command": "/Users/bob/miniconda3/envs/desk/bin/mcp-pyautogui",
"args": [
""
]
}
}
}
如果您按照上述安装步骤操作,则无需执行其他操作。只需使用 Claude Desktop,您应该会自动看到此 MCP 服务器提供的所有工具。您可以测试此服务器,例如说:"可以在 (200,200) 点击吗?"。
该服务器通过 stdio 传输运行,意味着它通过标准输入/输出进行通信。要使用它,请连接一个兼容 MCP 的客户端(例如,AI 助手或自定义脚本),该客户端能够发送 JSON-RPC 命令并接收响应。
click(100, 200) → 如果成功则返回 true。type_text("hello") → 返回 true。take_screenshot("screenshot.png") → 保存到 screenshot.png。get_mouse_position() → 返回 (500, 300)(示例)。hotkey("ctrl c") → 返回 true。get_os() → 返回 "Windows"(如果在 Windows 上)。click(x, y):在坐标 (x, y) 左击。
x: int, y: intboolright_click(x, y):在坐标 (x, y) 右击。
与 click 类似,但为右击。
x: int, y: intboolmove_to(x, y):在 3 秒内将鼠标移动到坐标 (x, y)。
x: int, y: intbooldrag_to(x, y, duration):在指定持续时间内(默认 1.0 秒)将鼠标拖动到 (x, y)。
x: int, y: int, duration: floatbooltype_text(text):输入给定的文本。
text: strboolpress_key(key):按下并释放单个键(如 'enter', 'space', 'a')。
key: strboolhotkey(keys):同时按下多个键(如 'ctrl c')。空格分隔的字符串。
keys: strboolscroll(amount):向上(正值)或向下(负值)滚动指定数量。
amount: intbooltake_screenshot(filename):将截图保存到指定文件(如 'screen.png')。
filename: strboolget_mouse_position():获取当前鼠标坐标作为 (x, y)。
strget_os():获取当前操作系统名称(如 'Windows', 'macOS', 'Linux')。
strdouble_click(x, y):在给定的 (x, y) 坐标处双击。
x: int, y: intboolget_screen_size():获取屏幕分辨率作为 (宽度, 高度)。
strpixel_color(x, y):获取 (x, y) 像素的 RGB 颜色。返回 (r, g, b)。
x: int, y: intstr