Compositor MCP Server
io.github.Josusanz/compositor
Read and edit Compositor .comp projects with Claude—layers, masks, transforms, and exports.
What is the Compositor MCP server?
The Compositor MCP server 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, enabling agents to inspect, modify, and render compositions without changes to Compositor itself.
This server bridges Claude and Compositor, letting you programmatically inspect and edit layered image projects. You can create documents, add and manipulate layers, apply masks and transforms, generate previews, and export results—then open the edited project in Compositor or round-trip edits from the app back to Claude for retouching or analysis.
How to install Compositor
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
inspect_project— Canvas size, resolution and every layer with folder depth, opacity, blend mode, transform, mask and clipping infolist_layers— Compact top-to-bottom view like the Layers panelrender_preview— Flattened PNG preview returned as an image so the model can see the compositionexport_flattened— Full-resolution PNG or JPEG exportexport_layer— Copy a layer's source pixels or mask to a filecreate_project— New document, optionally with a solid background layeradd_image_layer— Import PNG, JPEG, HEIC, TIFF, WebP… as a layer, with fit/fill/stretch placement, opacity, blend mode and folderadd_folder— Create a layer folderset_layer— Rename, show/hide, opacity, blend mode, position, size, rotation, flips, sampling, mask on/offmove_layer— Reorder layers or move them between foldersremove_layer— Delete a layer or a whole folderreplace_layer_image— Swap a layer's pixels (round-trip through another tool or a generated image)set_layer_mask— Attach a grayscale mask, invert it, or clear itresize_canvas— Change the document size with an anchor, without resamplingopen_in_compositor— Open the project in the Compositor app
Use cases
- Create and edit multi-layer image compositions programmatically, then open in Compositor for further refinement.
- Generate image previews and exports from Compositor projects using Claude's analysis and vision capabilities.
- Automate layer manipulation tasks like resizing, repositioning, applying masks, and adjusting opacity and blend modes.
- Round-trip edits between Compositor and Claude: save in the app, have Claude inspect and retouch, then view results.
- Build AI-assisted design workflows combining Compositor's non-destructive editing with Claude's generative and analytical abilities.
Compositor MCP server FAQ
It's an MCP server that lets Claude read and edit Compositor .comp projects (the open-source Photoshop alternative for Mac). You can inspect layers, create and modify compositions, apply masks and transforms, render previews, and export results—all from Claude.
Yes, the server is MIT-licensed and open-source. Compositor itself is also open-source and free.
Add this to your claude_desktop_config.json: {"mcpServers": {"compositor": {"command": "npx", "args": ["-y", "compositor-mcp"]}}}
Run: claude mcp add compositor -- npx -y compositor-mcp
No, the server works on the documented .comp file format and requires only Node.js 20+. Compositor is only needed if you want to view or further edit the results in the app.
The preview renderer covers order, folders, visibility, opacity, transforms, raster masks, and blend modes that sharp supports. Clipping masks, adjustment layers, and layer effects are not rendered yet; Compositor's own export is the reference.
README (reference)
Source of truth, from the repository.
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
| Tool | Purpose |
|---|---|
inspect_project | Canvas size, resolution and every layer with folder depth, opacity, blend mode, transform, mask and clipping info |
list_layers | Compact top-to-bottom view like the Layers panel |
render_preview | Flattened PNG preview returned as an image so the model can see the composition |
export_flattened | Full-resolution PNG or JPEG export |
export_layer | Copy a layer's source pixels or mask to a file |
create_project | New document, optionally with a solid background layer |
add_image_layer | Import PNG, JPEG, HEIC, TIFF, WebP… as a layer, with fit/fill/stretch placement, opacity, blend mode and folder |
add_folder | Create a layer folder |
set_layer | Rename, show/hide, opacity, blend mode, position, size, rotation, flips, sampling, mask on/off |
move_layer | Reorder layers or move them between folders |
remove_layer | Delete a layer or a whole folder |
replace_layer_image | Swap a layer's pixels (round-trip through another tool or a generated image) |
set_layer_mask | Attach a grayscale mask, invert it, or clear it |
resize_canvas | Change the document size with an anchor, without resampling |
open_in_compositor | Open 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
claude mcp add compositor -- npx -y compositor-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"compositor": {
"command": "npx",
"args": ["-y", "compositor-mcp"]
}
}
}
From source
git clone https://github.com/Josusanz/compositor-mcp
cd compositor-mcp
npm install
npm run build
claude mcp add compositor -- node /path/to/compositor-mcp/dist/src/index.js
Example session
Create a 1920×1080 project at
~/Desktop/poster.compwith a white background, addphoto.jpgscaled to fill, putlogo.pngin 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.swiftbefore 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
npm install
npm test # builds and runs the node:test suite
npm run dev # runs the server from TypeScript with tsx
License
MIT. Compositor is © Robbie Tilton, also MIT.
Related MCP servers

Fail-closed quality gate and hash-chained receipt ledger for AI agent workflows.

TruePath Office
Local MCP for Word, Excel, PowerPoint & PDF on macOS — formulas, slides, DOCX, PDF ops. No network.

TruePath PDF
Local-only PDF tools for AI — extract text, search, split/merge, render pages. Files never leave.
Polish used-car market data: valuations, price history, liquidity, regional prices. Keyless demo.

io.github.Jrigada/foundry-zksync
Expose foundry-zksync (forge, cast, anvil-zksync) tools for zkSync Era development

Archangel Agency MCP
Universal Language briefings, FusionGirl context JSONs, service catalog, agent info. x402-enabled.
