mcpField
P
plonk

plonk

本地服务
ostapondo.github.io生产力175 周前更新

关于 plonk

plonk-mcp 将 Agent 接入 Plonk macOS 菜单栏应用,用于管理窗口和工作区、截屏及提取文字。它适合需要查看和整理本地 Mac 桌面的 Agent;必须先安装并运行 Plonk 应用。

主要功能

  1. 01跨显示器和分区排列窗口
  2. 02保存并重新打开工作区
  3. 03截取并标注屏幕图像
  4. 04提取带坐标的屏幕文字
  5. 05保持 Mac 唤醒
  6. 06查看显示器和窗口状态

适用场景

  1. 01为评审会话整理桌面
  2. 02恢复已保存的应用和窗口
  3. 03截取窗口并检查内容
  4. 04无需上传屏幕像素即可读取文字

MCP 相关

它将 Plonk 应用的控制能力作为 MCP 工具提供给 Agent,包括窗口管理、工作区操作、截屏、OCR 和状态查询。支持 stdio 与本地回环 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ostapondo-plonk": {
"command": "npx",
"args": [
"-y",
"plonk-mcp"
]
}
}
}
启动命令npx -y plonk-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmplonk-mcp0.4.3

工具

22

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

plonk-mcp

Plonk 的 MCP 服务:Plonk 是一款 macOS 菜单栏应用,同时集成了 8 种实用工具,其中包括窗口管理器。它能让 Agent 管理桌面:在多个显示器上应用布局、保存并重新打开工作区、将窗口吸附到分区、保持屏幕常亮、截取并标注屏幕截图,以及读取屏幕上的文字,全程无需上传任何像素。

浏览器在左侧 60% 的区域,终端在右上角,笔记在右下角

将其保存为名为“review”的工作区

截取屏幕并告诉我有什么不对劲

此软件包只负责其中一半

plonk-mcp 是一个轻量级桥接程序。实际工作由应用完成;如果没有安装应用,每次工具调用都会返回“Plonk 菜单栏应用未运行”。请先安装应用——需要 macOS 13 或更高版本:

brew install --cask ostapondo/plonk/plonk

启动应用,并在收到提示时授予“辅助功能”权限,然后重新启动一次,让 macOS 识别该权限。首次截屏时,应用会另外请求“屏幕录制”权限。

接着将 Agent 指向它

需要 Node 18 或更高版本。

claude mcp add plonk -- npx -y plonk-mcp   # Claude Code
codex mcp add plonk -- npx -y plonk-mcp    # Codex CLI

任何 MCP 客户端的配置方式都相同——将 npx -y plonk-mcp 设为 stdio 服务。以下是 Cursor、 Zed 和 Cline 的快速指南。

无法启动进程的客户端可改用 HTTP 连接: npx -y plonk-mcp --http 会在 http://127.0.0.1:43918/mcp 提供 Streamable HTTP 服务(仅限环回地址,可用 --port 更改端口)。向其发送的请求必须携带与应用自身 API 相同的令牌——将 ~/Library/Application Support/Plonk/token 的内容作为 X-Plonk-Token 请求头发送。stdio 传输会自行读取该文件,无需配置。

可以同时连接多个客户端。在客户端配置中设置 PLONK_AGENT_NAME,即可区分同一客户端的两个会话。

工具

get_state显示器、所有打开的窗口及其位置、分区集、已保存的工作区、屏幕常亮状态
apply_layout · snap_window按屏幕比例放置窗口,或按编号或名称将窗口放入分区
save_workspace · launch_workspace · delete_workspace为桌面命名,并在重新打开时启动其中的应用、恢复所有窗口
save_zone_set · assign_zone_set · delete_zone_set设置吸附分区,并为各显示器分配分区
set_app_rule · clear_app_rule设置应用新窗口的打开位置:某个分区,以及可选的显示器
set_awake保持 Mac 常亮,可设置时限,也可同时将聊天状态保持为“有空”
take_screenshot · annotate_screenshot截图、添加标注并将图片返回——mode: "app" 可截取指定窗口的画面,即使该窗口被其他窗口遮挡,也不会将其置于前台
extract_text读取屏幕上的文字,并为每行提供一个边界框;坐标与 annotate_screenshot 绘制时使用的坐标相同
measure_screen测量一个点朝各方向移动到屏幕边缘的距离,或两点之间的距离,单位为点和像素
select_agent将某个 Agent 设为当前 Agent,也可设置为仅允许它进行控制
check_for_update · install_update向 GitHub 查询新版并安装

为兼容旧版而保留的旧名称 save_layout、apply_saved_layout 和 delete_layout,会映射到工作区工具。

窗口框架以 0..1 表示显示器可视区域的比例,原点位于左上角;因此,左侧 60% 的区域表示为 {x: 0, y: 0, w: 0.6, h: 1}。

运行位置

服务通过环回 HTTP 与应用通信,地址为 127.0.0.1:43917,不会连接到其他地址。无需账户,不使用云服务,也没有遥测。它仅依赖官方 MCP SDK 和 zod。

应用会要求通过令牌访问 API,并将令牌写入 ~/Library/Application Support/Plonk/token。此服务会自行读取该文件,因此无需配置——但它必须以与 Plonk 相同的用户身份运行。

采用 MIT 许可证。源代码、截图和其他文档请见代码仓库。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。