Compositor

io.github.Josusanz由 GitHub 帳號 Josusanz 發布v0.1.4更新於 Oct 24, 2026

Read and edit Compositor .comp projects: layers, folders, masks, transforms, previews and exports

概覽

AI 產生的概覽

讓助理讀取和編輯 Compositor 的 .comp 影像編輯專案:圖層、資料夾、遮色片、變換、預覽以及 PNG/JPEG 匯出。

可以做什麼
直接處理有文件說明的 .comp 套件格式(一個 manifest.json 加每層一個 PNG),因此不需更動 Compositor。工具包括 inspect_project、list_layers、render_preview、export_flattened、export_layer、create_project、add_image_layer、add_folder、set_layer、move_layer、remove_layer、replace_layer_image、set_layer_mask、resize_canvas 和 open_in_compositor。它還提供描述檔案格式的 compositor://format 資源。圖層像素以 8 位元 sRGB PNG 原樣保存,位置、縮放、旋轉和翻轉保存在圖層變換中。
適用情境
當你希望助理從命令列建立或修飾 Compositor 專案時適用:新增文件、把圖片匯入為圖層、整理資料夾、不透明度、混合模式和遮色片,然後算繪預覽或匯出扁平化 PNG/JPEG。也適合在進一步編輯前檢查已在 Compositor 中儲存的專案。它不是與執行中應用程式的即時連線,因此選取範圍、復原歷史和檢視區無法存取。
執行需求
需要 Node.js 20 或以上版本,透過 npx compositor-mcp 以 stdio 在本機執行。未宣告任何身分驗證、環境變數或標頭。Compositor 本身僅在檢視或繼續編輯結果時需要,且此伺服器僅支援桌面端。
安裝前請注意
編輯會寫入磁碟上的專案檔案:create_project、add_image_layer、set_layer、move_layer、remove_layer、replace_layer_image、set_layer_mask、resize_canvas 以及匯出工具都會修改或產生檔案,清單以原子方式取代。工具不認識的欄位會在往返中保留,但剪裁遮色片、調整圖層和圖層效果尚未算繪,預覽僅供參考,以 Compositor 本身匯出為準。Compositor 不會監看檔案變更,若專案已在應用程式中開啟,編輯後需關閉並重新開啟(或呼叫 open_in_compositor)。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Compositor,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

compositor-mcp

An MCP server that lets Claude and other AI agents read and edit Compositor projects, the open-source Photoshop alternative for Mac.

It works on the documented .comp package format (a manifest.json plus one PNG per layer), so it needs no changes to Compositor itself. Edit a project with an agent, then open it in Compositor. Or the other way round: save in Compositor and let the agent inspect, retouch or render it.

What the agent can do

ToolPurpose
inspect_projectCanvas size, resolution and every layer with folder depth, opacity, blend mode, transform, mask and clipping info
list_layersCompact top-to-bottom view like the Layers panel
render_previewFlattened PNG preview returned as an image so the model can see the composition
export_flattenedFull-resolution PNG or JPEG export
export_layerCopy a layer's source pixels or mask to a file
create_projectNew document, optionally with a solid background layer
add_image_layerImport PNG, JPEG, HEIC, TIFF, WebP… as a layer, with fit/fill/stretch placement, opacity, blend mode and folder
add_folderCreate a layer folder
set_layerRename, show/hide, opacity, blend mode, position, size, rotation, flips, sampling, mask on/off
move_layerReorder layers or move them between folders
remove_layerDelete a layer or a whole folder
replace_layer_imageSwap a layer's pixels (round-trip through another tool or a generated image)
set_layer_maskAttach a grayscale mask, invert it, or clear it
resize_canvasChange the document size with an anchor, without resampling
open_in_compositorOpen the project in the Compositor app

The server also exposes a compositor://format resource describing the file format.

Related

marcushorndt/compositor-mcp takes a different route: it drives Compositor's own document model and renderer headlessly (Swift), so previews match the app exactly. This package is a plain Node server that works on the documented file format, needs no build of the app, and runs wherever Node runs. Pick whichever fits your setup; both open the same .comp files.

Install

Requires Node.js 20 or later. Compositor itself is only needed to look at the result.

Claude Code

bash
claude mcp add compositor -- npx -y compositor-mcp

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "compositor": {      "command": "npx",      "args": ["-y", "compositor-mcp"]    }  }}

From source

bash
git clone https://github.com/Josusanz/compositor-mcpcd compositor-mcpnpm installnpm run buildclaude mcp add compositor -- node /path/to/compositor-mcp/dist/src/index.js

Example session

Create a 1920×1080 project at ~/Desktop/poster.comp with a white background, add photo.jpg scaled to fill, put logo.png in the bottom right corner at 80 % opacity with Multiply, then show me a preview and open it in Compositor.

The agent calls create_project, add_image_layer twice, set_layer, render_preview and open_in_compositor. Compositor opens the document with the layers ready to keep editing.

How it maps to the Compositor format

  • Layer pixels are stored untouched as 8-bit sRGB PNGs; placement, scale, rotation and flips live in the layer transform, so edits stay non-destructive.
  • Masks are written as 8-bit grayscale PNGs without alpha, as Compositor requires.
  • Manifests are validated against the same rules as ProjectStore.swift before writing, written with sorted keys and replaced atomically.
  • Fields this tool does not understand (adjustments, effects, text, shapes, guides, anything newer) are preserved on round trip.
  • Projects are saved as format version 9 (what Compositor 1.2.6 writes); a project declaring a newer version keeps its own number and its unknown fields on round trip. Older Compositor builds reject newer versions; update the app if a file will not open.

Limitations

  • The preview renderer covers order, folders, visibility, opacity, transforms, raster masks and the blend modes sharp supports. Clipping masks, adjustment layers and layer effects are not rendered yet; the tool reports what it skipped. Compositor's own export is the reference.
  • Compositor does not watch files for changes. After the agent edits a project that is already open, close and reopen the document (or call open_in_compositor).
  • There is no live connection to the running app: selection, undo history and the viewport are session-only in Compositor and out of reach here.

Development

bash
npm installnpm test        # builds and runs the node:test suitenpm run dev     # runs the server from TypeScript with tsx

License

MIT. Compositor is © Robbie Tilton, also MIT.

來源:README.md,提交 e3d7f54

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.4最新Sep 25, 2026
  2. v0.1.2Sep 22, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分