DCC-MCP PhotoCraft
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DCC-MCP PhotoCraftOpen photo.png, add a hue/saturation adjustment, and export a PNG preview."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dcc-mcp-photocraft
PhotoCraft adapter for the DCC-MCP ecosystem: lets AI agents inspect and drive PhotoCraft, the open-source image editor.
Why this adapter exists when PhotoCraft already ships an MCP server
PhotoCraft includes its own MCP server (photocraft-cli mcp), and its documentation shows how to register it directly with an agent. If that is all you need, use it — this package does not replace it.
This adapter adds the things a standalone MCP server does not provide:
One control plane across every DCC. PhotoCraft becomes one entry in the same tool registry as Maya, Blender, Houdini, Nuke and the rest, so an agent discovers and calls it through the same
dcc-mcp-clicommands and the same gateway instead of managing a second set of per-app connections.Cross-DCC orchestration. A workflow can move from PhotoCraft to another host in one session — for example, compositing an edit here and exporting the result elsewhere.
Sidecar lifecycle and discovery. The adapter registers the running instance, reports readiness, and exposes a doctor that distinguishes "PhotoCraft is not installed" from "PhotoCraft is installed but misconfigured".
Host detection without Rust. It finds the
photocraft-clibinary whether it arrived inside a GUI package or as a standalone archive, on Windows, macOS and Linux.
What it deliberately does not do is reimplement PhotoCraft's command set. Command ids are resolved at runtime against the table the installed host reports, so new upstream commands become reachable without an adapter release.
Related MCP server: photopea-api
Requirements
Python 3.9 or newer
PhotoCraft 0.2 or newer — only
photocraft-cliis required; the desktop app is optional
Installation
pip install dcc-mcp-photocraftVerify the host is reachable:
dcc-mcp-photocraft-installUsage
Run the adapter:
dcc-mcp-photocraftReport the detected host:
dcc-mcp-photocraft statusAsk your agent to inspect a document:
Use dcc-mcp to summarize poster.pcraft.Configuration
Variable | Purpose |
| Path to |
| Path to the desktop app binary when it is not on |
| The port passed to |
| The control-channel bearer token |
| Path to a file holding the token; preferred, since it keeps the credential off the process command line |
| Read authority forwarded to |
| Write authority forwarded to |
Headless and live-UI paths
Most actions run through photocraft-cli and need no window, which is what makes them work on a headless server and in CI. The UI actions (ui_screenshot, ui_inspect) additionally need the desktop app started with:
photocraft --control 7878 --control-token-file /private/path/photocraft-control.token \
--automation-read-root /work/project --automation-write-root /work/projectThen point PHOTOCRAFT_CONTROL_PORT at 7878 and supply the token through PHOTOCRAFT_CONTROL_TOKEN_FILE.
Two things about this channel are easy to get wrong:
A token is always required. Upstream makes an
authframe the mandatory first request on every connection and refuses to dispatch anything before it succeeds. The port alone is not enough. If you did not pass a token at launch, upstream generated one and wrote it to standard error.The port is yours to choose, and it is configured, not discovered. Unlike the sibling PdfCraft adapter, PhotoCraft does not write its port to a file — it binds the port you give it. Because every Craft app listens on loopback, pick one that does not collide with the others.
Read and write authority are independent: a read fails without a read root and a write fails without a write root, so grant each one you need at launch.
Host maturity
PhotoCraft is pre-1.0 software and upstream describes it as early alpha. Expect the command table to keep changing; discover it at runtime rather than relying on a fixed list.
Development
python -m pip install -e ".[dev]"
python -m pytest
ruff check src tests
ruff format --check src testsLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Composable APIs for document extraction, image transformation, and document & sheet generation.
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA full-featured image processing MCP server for AI assistants, exposing ~55 tools across 11 categories for editing, layers, conversion, AI segmentation/cleanup/generation, design analysis, and screenshot-to-code.-
- FlicenseNot gradedqualityBmaintenanceAn MCP server that provides headless, read/write access to Photopea for image editing, including layers, text, filters, and document operations, enabling agents to edit images programmatically.4-
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to create, inspect, edit, render, and export SVG/Inkscape documents through typed drawing tools, with a deterministic offline backend and an optional bridge to a locally running Inkscape instance for limited live editing and snapshots.4BSD 3-Clause
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to open, edit, check, run, emit, and save source programs through structured, revision-checked tools over stdio, confining paths to the launch root and returning diagnostics with fixes for rejected edits.0MIT