PhotoCraft ships Rust Photoshop clone with MCP agent server
TL;DR
- PhotoCraft describes itself as a "clean-room reimplementation of Adobe Photoshop in pure Rust," dual-licensed MIT/Apache-2.0.
- The project ships 34 tools, 16 adjustment layers, and a wgpu GPU compositor, but calls itself "early alpha."
- An agent-ready architecture exposes 500+ commands through a JSON control channel and an MCP server for LLM-driven workflows.
PhotoCraft, published on GitHub by the ArtCraft Team, bills itself as "an open-source, clean-room reimplementation of Adobe Photoshop in pure Rust."
The README is upfront about status. The project calls itself "early alpha" and "not yet a Photoshop replacement for daily professional work." What it ships today: 34 tools, 16 adjustment layers, a wgpu-based GPU compositor targeting Metal, Vulkan, DX12 and WebGPU, and a PSD importer whose round-trip renders match for 307 of 309 files in the psd-tools test corpus.
The AI-relevant piece sits further down the page. The repo describes an "agent-ready architecture" exposing 500+ commands through the UI, a CLI, a JSON control channel, and an MCP server, so a raster editor becomes directly scriptable by an LLM agent without screen-scraping. Two of the practitioners we track in our Who's Who directory were already circulating the link.
Dual-licensed under MIT or Apache-2.0, PhotoCraft compiles to WebAssembly alongside macOS, Windows, Linux and FreeBSD builds. Over 1,700 tests back the current state, including a composite oracle that diffs renders against Photoshop's merged images.
Known gaps the project admits: no AI/generative features yet, roughly 20 tools still missing, advanced typography incomplete, no plug-in compatibility.
Shared on Bluesky by 2 AI experts
-
So... AI stole Photoshop and now it's open source? Is that how this works? github.com/storytold/ph...
View on Bluesky →
Originally reported by github.com
Read the original article →Original headline: GitHub - storytold/photocraft: An open-source, clean-room reimplementation of Adobe Photoshop in pure Rust