Plonk

io.github.ostapondo由 GitHub 账号 ostapondo 发布v0.4.3更新于 Oct 24, 2026

Plonk gives agents local macOS tools for windows, workspaces, screenshots, OCR, and more.

概览

AI 生成的概览

让助手通过 Plonk 菜单栏应用控制 macOS 窗口、工作区、截图和屏幕文字读取。

可以做什么
这是连接 Plonk macOS 菜单栏应用的轻量 stdio 桥接。工具涵盖窗口布局与吸附、保存并重新启动命名工作区、按显示器设置吸附区域、应用窗口规则、保持 Mac 唤醒、截图与标注、提取屏幕文字、测量屏幕距离、选择当前代理,以及检查或安装更新。
适用场景
适合在 macOS 上让助手跨显示器排列窗口、恢复工作桌面、截取或标注屏幕,或在本地读取屏幕文字。仅支持桌面端,在其他平台上没有作用。
运行要求
需要 macOS 13+,并已安装且运行 Plonk 菜单栏应用;需要 Node.js 18+ 以通过 stdio 运行 npm 包 plonk-mcp。需要辅助功能权限,首次截图时另行请求屏幕录制权限。应用须以同一用户运行;无需账号或 API 密钥。
安装前请注意
该服务器可以移动和调整窗口、创建、启动和删除工作区与区域集、更改应用窗口规则、保持 Mac 唤醒、截取屏幕并安装应用更新。截图和提取的文字通过本地回环处理;可选的 HTTP 模式需要将 Plonk 令牌文件内容作为 X-Plonk-Token 请求头发送。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Plonk,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

plonk-mcp

The MCP server for Plonk, a macOS menu bar app that is eight utilities at once, a window manager among them. It lets an agent work the desk: apply layouts across monitors, save and relaunch workspaces, snap windows into zones, keep the screen awake, take and annotate screenshots, and read text off the screen without uploading a pixel.

browser on the left 60%, terminal top right, notes bottom right

save that as a workspace called "review"

screenshot the screen and tell me what looks off

This package is only half of it

plonk-mcp is a thin bridge. The app does the work, and without it every tool call returns "Plonk menu bar app is not running". Install it first — macOS 13+:

sh
brew install --cask ostapondo/plonk/plonk

Launch it, grant Accessibility when asked, and relaunch once so macOS picks the grant up. Screen Recording is asked for separately, the first time you capture.

Then point an agent at it

Node 18+.

sh
claude mcp add plonk -- npx -y plonk-mcp   # Claude Codecodex mcp add plonk -- npx -y plonk-mcp    # Codex CLI

Any MCP client works the same way — give it npx -y plonk-mcp as a stdio server. One-pagers for Cursor, Zed and Cline.

A client that cannot spawn a process connects over HTTP instead: npx -y plonk-mcp --http serves Streamable HTTP at http://127.0.0.1:43918/mcp (loopback only, --port to change). Requests to it carry the same token as the app's own API — send the contents of ~/Library/Application Support/Plonk/token as an X-Plonk-Token header. The stdio transport reads that file itself and needs no configuration.

Several clients may be connected at once. Set PLONK_AGENT_NAME in a client's config to tell two sessions of the same client apart.

Tools

get_stateMonitors, every open window and where it sits, zone sets, saved workspaces, awake status
apply_layout · snap_windowPlace windows by fraction of a screen, or drop one into a zone by number or by name
save_workspace · launch_workspace · delete_workspaceNamed desktops that reopen their apps and restore every window
save_zone_set · assign_zone_set · delete_zone_setSnap zones, assigned per monitor
set_app_rule · clear_app_ruleWhere an app's new windows open: a zone, and optionally a monitor
set_awakeKeep the Mac awake, optionally time-limited, optionally also holding your chat status at available
take_screenshot · annotate_screenshotCapture, mark up, hand the image back — mode: "app" photographs one named window even when it is buried, without raising it
extract_textRead the words off the screen, with a box per line in the same coordinates annotate_screenshot draws in
measure_screenHow far a point can travel each way before it meets an edge, or the distance between two points, in points and pixels
select_agentMake an agent the active one, optionally the only one allowed to control
check_for_update · install_updateAsk GitHub for a newer release and install it

save_layout, apply_saved_layout and delete_layout are older names kept for compatibility; they map onto the workspace tools.

Frames are fractions 0..1 of a monitor's visible area with the origin at the top left, so the left 60% is {x: 0, y: 0, w: 0.6, h: 1}.

Where things run

The server talks to the app over loopback HTTP on 127.0.0.1:43917 and nowhere else. No account, no cloud, no telemetry. It depends only on the official MCP SDK and zod.

The app gates that API on a token it writes to ~/Library/Application Support/Plonk/token. This server reads the file itself, so there is nothing to configure — but it does have to run as the same user Plonk is running as.

MIT. Source, screenshots and the rest of the documentation are in the repository.

来源:mcp/README.md,提交 55ffc7f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.4.3最新Sep 22, 2026
  2. v0.4.1Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分