by alisaitteke
MCP server for Adobe Photoshop automation - Control Photoshop from AI assistants with 50+ tools for design, image editing, and workflow automation
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
# Add to your Claude Code skills
git clone https://github.com/alisaitteke/photoshop-mcpGuides for using ai agents skills like photoshop-mcp.
Last scanned: 6/13/2026
{
"issues": [
{
"type": "npm-audit",
"message": "concurrently: Vulnerability found",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "shell-quote: shell-quote quote() does not escape newlines in object .op values",
"severity": "critical"
}
],
"status": "FAILED",
"scannedAt": "2026-06-13T07:46:46.413Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}Languages: English · 简体中文 · Español · Deutsch · 日本語 · Türkçe
v1.1+ — recipe workflows, fewer round-trips, snappier sessions. Standalone UI ships Action Plan (beta) for plan-then-execute runs.
Note: This is an unofficial, community-maintained project and is not affiliated with or endorsed by Adobe Inc.
A Model Context Protocol (MCP) server that enables AI assistants like Claude and Cursor to control Adobe Photoshop programmatically. This allows you to create designs, manipulate images, and automate Photoshop workflows through natural language commands while working in your IDE — or through the bundled standalone web UI, which supports both API keys and CLI subscription accounts (Claude Code / Gemini CLI). The UI also offers an opt-in Action Plan (beta) mode that plans every Photoshop step in one LLM call, then runs them in a single pass.
Designers and developers want to drive Photoshop from AI assistants, but raw ExtendScript calls are brittle: agents waste tokens on trial-and-error, layer types break filters, and one failed command leaves the document in an unknown state.
Photoshop MCP adds state awareness (get_state, get_preview, get_capabilities), recipe tools that wrap multi-step outcomes in a single undo step, and structured error envelopes so agents know what to try next. The optional standalone UI and Action Plan mode reduce round-trips for longer workflows — so natural language can actually ship pixels, not just suggest them.
Engineering deep-dive: docs/architecture.md.
Don't want to wire this into Claude Desktop or Cursor? The same package ships a fully local web UI that lets you chat with an AI model and drive Photoshop through this MCP server underneath. Connect with a provider API key or, for Anthropic and Google, reuse the OAuth session from Claude Code or Gemini CLI — no separate API key required.

npx -p @alisaitteke/photoshop-mcp photoshop-mcp-ui
That's it. A local server starts on 127.0.0.1 (random free port) and your
default browser opens the chat UI automatically.
Pick any of the following on first launch — use an API key or your existing CLI subscription account (Anthropic and Google):
| Provider | Models | API key | CLI account |
|---|---|---|---|
| Anthropic | Claude Sonnet / Opus / Haiku | console.anthropic.com | npm i -g @anthropic-ai/claude-code → claude auth login |
| OpenAI | GPT-5, GPT-4.1, o-series | platform.openai.com | — |
| Gemini 2.5 Pro / Flash / Flash-Lite | aistudio.google.com | npm i -g @google/gemini-cli → gemini auth login |
|
| OpenRouter | 100+ models from any provider | openrouter.ai | — |
api_key (default) — Vercel AI SDK + your provider API key. Usage is billed
per token at API rates; the UI shows estimated cost per chat.cli_account — Uses your local Claude Code or Gemini CLI OAuth session.
No API key is stored; the UI probes claude auth status / gemini headless
to verify login. Usage counts against your subscription quota, not API
billing — the status bar shows "Included in subscription".You can switch auth method per provider in Settings without losing the other credential (e.g. keep an API key while trying CLI account, then switch back).
An optional execution mode in the standalone web UI for API key auth only
(cli_account always uses the default agentic flow). Turn it on with the
Action Plan toggle next to the model selector in the composer.
Instead of a per-step ReAct loop (model → tool → model → tool …), Action Plan:
The plan appears as a live todo list above the tool-call cards, with per-step
status (pending → running → done / error). Plans are persisted in chat
history so they survive reload. The toggle is off by default; the existing
agentic flow is unchanged when Action Plan is disabled.
Good for multi-step prompts such as "remove the background and export for web" where you want fewer model calls and faster end-to-end execution.
~/.photoshop-mcp/data.db (SQLite, chmod 600). API keys never leave your
machine; CLI mode inherits OAuth from ~/.claude/ or ~/.gemini/.Open Settings from the sidebar at any time:
| Action | API key mode | CLI account mode |
|---|---|---|
| Set up | Paste key → Save | Install CLI → auth login → Check connection |
| Switch away | Choose API key — stored key is kept | Choose Uses your account — key is not deleted |
| Custom binary | — | Optional CLI path if claude / gemini is not on PATH |
| Cost display | Per-token estimate in status bar | Included in subscription badge |
Auth method is stored per provider in ~/.photoshop-mcp/data.db (authMethod:
api_key or cli_account). Existing configs without authMethod default to
api_key and keep working unchanged.
photoshop-mcp-ui [--port 5174] [--host 127.0.0.1] [--no-open]
stream-json (Google). All paths talk to this same
Photoshop MCP server over STDIO.claude auth login /
gemini auth login in Terminal).On top of atomic photoshop_* tools, the server ships an opinionated AI/prompt
layer that helps host LLMs (Cursor, Claude Desktop, etc.) translate vague user
requests into reliable Photoshop actions:
instructions — workflow contract advertised on MCP initialize
(ping once, state-before-action, prefer recipes, error recovery). See
src/prompts/instructions.ts.prompts primitive — 19 pre-engineered templates (12 recipe + 7 guide:
ps.enhance_portrait, ps.remove_background, ps.generative_fill, …)
via prompts/list and prompts/get.photoshop_recipe_* tools (remove
background, enhance portrait, prepare for web, export social variants, color
grade, frequency separation, batch mockup, organize layers, gradient fade,
sky blend, dodge & burn, remove distraction). Each wraps steps in a single
Photoshop history state (one Undo reverts all). 86 tools total (74 atomic
photoshop_generative_fill, photoshop_generative_remove,
photoshop_generative_expand, photoshop_generative_upscale, photoshop_sky_replacement,
photoshop_generate_image (Firefly via ExtendScript; Adobe account + credits required).photoshop_neural_filter via optional UXP bridge plugin (uxp-plugin/).photoshop_get_state (cheap snapshot),
photoshop_get_preview (base64 JPEG for vision verification),
photoshop_get_capabilities (version-aware feature flags).code and
suggested_next_tool for self-correction.Full reference: docs/prompt-layer.md.
Verify parity: npm run verify:photoshop-prompts. Latest results:
docs/development.md#integration-test-results.
Below are
photoshop-mcp is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by alisaitteke. MCP server for Adobe Photoshop automation - Control Photoshop from AI assistants with 50+ tools for design, image editing, and workflow automation. It has 192 GitHub stars.
photoshop-mcp failed SkillsLLM's automated security scan, which flagged one or more high-severity issues. Review the Security Report section carefully before using it.
Clone the repository with "git clone https://github.com/alisaitteke/photoshop-mcp" and add it to your Claude Code skills directory (see the Installation section above).
photoshop-mcp is primarily written in TypeScript. It is open-source under alisaitteke on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh photoshop-mcp against similar tools.
No comments yet. Be the first to share your thoughts!