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 分