项目简介
这是一个实现 Model Context Protocol (MCP) 的服务器,旨在让支持 MCP 协议的大语言模型 (LLM) 能够与你的 macOS 系统进行交互,具体来说是获取屏幕上窗口的信息、截图特定窗口,以及模拟键盘输入。
主要功能点
- 列出窗口: 获取当前所有可见窗口的列表,包括它们的 ID、名称、所属应用以及屏幕上的位置信息。
- 查找窗口: 通过窗口标题或所属应用名称(支持部分匹配)找到特定窗口的 ID。
- 窗口截图: 根据窗口 ID 或通过标题/应用名查找到的窗口,捕获该窗口的高清截图,并提供一个可供 LLM 访问的图片链接。
- 发送按键: 向当前活动的窗口发送模拟的键盘按键事件,支持普通字符、功能键(如回车、Esc、空格)以及修饰键组合(如 Command+C、Shift+Tab)。
- 输入文本: 模拟在当前活动窗口中按顺序输入一段文本。
安装步骤
- 确保你的 macOS 系统安装了 Python 和 pip。
- 打开终端应用程序。
- 使用 pip 从 GitHub 仓库安装项目。这将下载并安装服务器及其依赖项:
pip install git+ssh://[email protected]/jhead/macos-screen-mcp.git - 安装完成后,即可通过命令行启动服务器。
服务器配置 (适用于支持 MCP 的客户端)
在你的 LLM 客户端(如支持 MCP 协议的 Claude 客户端或 Cursor 编辑器)中,你需要添加如下配置信息,以便客户端能够启动并连接到这个 MCP 服务器。具体的配置界面和方式可能因客户端而异,但通常你需要提供以下关键信息:
- 服务器名称 (Server Name): macos-screen
- 启动命令 (Command): python
- 启动参数 (Args): -m macos_screen_mcp
- 连接地址 (URL): 如果客户端需要手动填写,默认地址是 'http://localhost:8000/sse' (使用 SSE 协议)。但通常客户端在指定了命令和参数后会自动处理启动和连接。
- 描述 (Description): MCP server for capturing window screenshots
- 版本 (Version): 1.0.0
请根据你的 LLM 客户端提供的配置界面,将这些信息填入对应的字段。客户端负责在需要时启动服务器并与之通信。
基本使用方法
安装并配置完成后,启动你的 LLM 客户端。如果配置正确,客户端将能够自动检测并连接到本地运行的 macOS 屏幕与键盘 MCP 服务器。
一旦连接成功,LLM 便可以通过自然语言或其内部工具调用机制,请求服务器执行操作。例如,你可以尝试对 LLM 说:
- “请列出所有当前打开的窗口。”
- “查找标题中包含 '浏览器' 的窗口并截屏。”
- “向当前窗口发送回车键。”
- “在当前窗口中输入 '你好,世界!'”
LLM 将通过 MCP 协议向服务器发送请求,服务器执行操作并将结果(如窗口列表、截图链接、操作成功状态)返回给 LLM。
信息
分类
桌面与硬件