屏幕截图与控制服务

一个为macOS提供的窗口截图和控制服务,支持通过窗口标题或ID捕获特定窗口的截图,以及发送键盘事件和文本输入。

  • by jhead
  • Python
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 jhead/macos-screen-mcp

使用说明

macOS屏幕视图和控制MCP服务器

提供窗口截图功能的模型上下文协议服务器。此服务器使LLM能够通过窗口标题或窗口ID捕获macOS上特定窗口的屏幕截图。

可用工具

  • capture_window_screenshot -按标题或ID捕获特定窗口的屏幕截图

    • window_identifier (字符串,必填):要搜索的窗口标题或窗口ID
    • search_in_owner (布尔值,可选):是否在窗口所有者名称中搜索(默认值:true)
    • format (字符串,可选):输出格式(二进制或base64)(默认:“二进制”)
  • list_windows -列出所有可见窗口

    • 无需参数
  • find_window -按标题或所有者名称查找窗口

    • title (字符串,必填):要搜索的窗口标题或所有者名称
    • search_in_owner (布尔值,可选):是否在窗口所有者名称中搜索(默认值:true)
  • send_key -向活动窗口发送键盘按键事件

    • key (字符串,必填):要按的键(例如,“a”、“return”、“space”)
    • modifiers (字符串列表,可选):要保留的修饰键列表(例如,[“command”,“shift”])
  • type_text -键入文本字符序列

    • text (string,必填):要键入的文本
    • delay (浮点数,可选):按键之间的延迟(秒)(默认值:0.1)

支持的密钥

支持以下密钥:

  • 字母:a-z(不区分大小写)
  • 数字:0-9
  • 特殊键:返回、制表符、空格、删除、转义
  • 箭头键:上箭头、下箭头、左箭头、右箭头
  • 修改键:命令、移位、控制、选项(也包括right_shift、right_option、right_control)

例子

发送一个按键:

await send_key("return")

发送带有修饰符的密钥:

await send_key("c", ["command"])  # Command+C (copy)

键入文本:

await type_text("Hello, World!")

安装

使用pip

安装 macos_screen_mcp 通过pip:

pip install git+ssh://git@github.com/jhead/macos-screen-mcp.git

安装后,您可以使用以下命令将其作为脚本运行:

python -m macos_screen_mcp

配置

配置

添加到您的Claude或Cursor设置中:

"mcpServers": {
 "macos-screen": {
    "name": "macos-screen",
    "url": "http://localhost:8000/sse",
    "description": "MCP server for capturing window screenshots",
    "version": "1.0.0"
  }
}

调试

您可以使用MCP检查器调试服务器:

npx @modelcontextprotocol/inspector python -m macos_screen_mcp

贡献

我们鼓励捐款以帮助扩展和改进macos屏幕mcp。无论您是想添加新工具、增强现有功能还是改进文档,您的意见都是有价值的。

欢迎拉取请求!欢迎贡献新想法、错误修复或增强功能,使macos screen mcp更加强大和有用。

许可证

macos屏幕mcp根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。