PyAutoGUI的MCP服务器
 ](https://pypi.org/project/mcp-pyautogui)
mcp-pyautogui 实施a 模型上下文协议(MCP) 服务器 PyAutoGUI它提供对鼠标、键盘和屏幕交互的控制,允许AI系统在主机上自动化任务。
服务器运行超时 stdio 传输,并提供点击、打字、截图等工具,注重简单性和可靠性。它专为希望将桌面自动化集成到其工作流程中的开发人员和人工智能爱好者而设计。
特性
- 控制鼠标移动、单击和拖动。
- 模拟键盘输入(单键、文本、热键)。
- 捕获屏幕截图并检索鼠标位置。
- 获取平台特定逻辑的当前操作系统。
- 使用布尔成功指标(如适用)进行一致的错误处理。
先决条件
- Python 3.11+
您还必须授予相关权限。
安装
使用 pip 安装服务器。
pip install mcp-pyautogui然后,您可以运行以下命令来确定服务器的安装位置:
which mcp-pyautogui
# Sample output:
# /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服务器提供的所有工具。您可以通过以下方式测试此服务器 *“你能点击(200200)吗?”*.
服务器运行超时 stdio 传输,这意味着它通过标准输入/输出进行通信。要使用它,请连接一个兼容MCP的客户端(例如,AI助手或自定义脚本),该客户端可以发送JSON-RPC命令并接收响应。
示例命令
- 点击(100200):
click(100, 200)→ 如果成功,则返回true。 - 键入“hello”:
type_text("hello")→ 返回true。 - 截图:
take_screenshot("screenshot.png")→ 保存到截屏.png。 - 获取鼠标位置:
get_mouse_position()→ 返回(500300)(示例)。 - 复制文本:
hotkey("ctrl c")→ 返回true。 - 获取当前操作系统:
get_os()→ 返回“Windows”(如果在Windows上)。
可用工具的完整列表
click(x, y):在坐标(x,y)处单击鼠标左键。
- *参数*: x: int, y: int - *传回型别*: bool
right_click(x, y):在坐标(x,y)处单击鼠标右键。
- *参数*: x: int, y: int - *传回型别*: bool
move_to(x, y):将鼠标移动到坐标(x,y)超过3秒。
- *参数*: x: int, y: int - *传回型别*: bool
drag_to(x, y, duration):在指定的持续时间(默认为1.0秒)内将鼠标拖动到(x,y)。
- *参数*: x: int, y: int, duration: float - *传回型别*: bool
type_text(text):键入给定的文本。
- *参数*: text: str - *传回型别*: bool
press_key(key):按下并释放单个按键(例如。,'enter','space','a').
- *参数*: key: str - *传回型别*: bool
hotkey(keys):同时按下多个键(例如。,'ctrl c').空格分隔的字符串。
- *参数*: keys: str - *传回型别*: bool
scroll(amount):按金额向上(正)或向下(负)滚动。
- *参数*: amount: int - *传回型别*: bool
take_screenshot(filename):将屏幕截图保存到指定文件(例如。,'screen.png').
- *参数*: filename: str - *传回型别*: bool
get_mouse_position():获取当前鼠标坐标(x,y)。
- *参数*:无 - *传回型别*: str
get_os():获取当前操作系统名称(例如。,'Windows','macOS','Linux').
- *参数*:无 - *传回型别*: str
double_click(x, y):在给定的(x,y)坐标处双击。
- *参数*: x: int, y: int - *传回型别*: bool
get_screen_size():获取屏幕分辨率(宽度、高度)。
- *参数*:无 - *传回型别*: str
pixel_color(x, y):获取(x,y)处像素的RGB颜色。返回(r,g,b)。
- *参数*: x: int, y: int - *传回型别*: str
