PhotopeaCAUTION
MCP server for AI-driven image editing with Photopea
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Photopea MCP Server
Design posters, edit photos, and transform images directly from your terminal. Powered by Photopea -- a free, browser-based alternative to Photoshop -- connected to your AI agent via MCP.
Demo
Prompt used in this demo: examples/album-cover-demo.md
How It Works
graph LR A[Agent] |stdio| B[MCP Server] B |WebSocket| C[Browser] C |postMessage| D[Photopea]
Your agent sends editing commands through the MCP protocol. The server translates these into Photopea JavaScript API calls and executes them via a WebSocket bridge to the browser.
Note: A browser window will open automatically on the first tool call. This is expected -- Photopea runs entirely in the browser and the server needs
f87b1760ae56OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add photopea-mcp-server -- npx -y [email protected]
{
"mcpServers": {
"photopea-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (34)
19 read · 13 write · 2 destructive. Blast radius: 2 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
photopea_add_fill_layer | write | |
photopea_add_gradient | write | |
photopea_add_layer | write | |
photopea_add_shape | write | |
photopea_add_text | write | |
photopea_apply_adjustment | write | |
photopea_apply_filter | write | |
photopea_clear_selection | destructive | |
photopea_close_document | read | |
photopea_create_document | write | |
photopea_delete_layer | destructive | |
photopea_duplicate_layer | read | |
photopea_edit_text | write | |
photopea_export_image | read | |
photopea_fill_selection | read | |
photopea_get_document_info | read | |
photopea_get_layers | read | |
photopea_group_layers | read | |
photopea_list_fonts | read | |
photopea_load_font | read | |
photopea_make_selection | read | |
photopea_modify_selection | write | |
photopea_move_layer | write | |
photopea_open_file | read | |
photopea_place_image | read | |
photopea_redo | read | |
photopea_reorder_layer | read | |
photopea_resize_document | read | |
photopea_run_script | write | |
photopea_select_layer | read | |
photopea_set_layer_properties | write | |
photopea_transform_layer | read | |
photopea_undo | read | |
photopea_ungroup_layers | read |
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (8 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (8)
const url = `http://127.0.0.1:${this.port}`;reject(new Error(`Photopea did not become ready within ${READY_TIMEOUT_MS / 1000}s. Please open http://127.0.0.1:${this.port} and wait for Photopea to load.`));console.error(`Photopea MCP bridge running on http://127.0.0.1:${port}`);photopea_clear_selection, photopea_delete_layer
import { PhotopeaBridge } from "../../src/bridge/websocket-server.js";} from "../../src/bridge/script-builder.js";
@modelcontextprotocol/sdk, open, ws, zod, @types/node, @types/ws, tsx, typescript
assets/demo.gif
Gates applied: no_behavioural_pass.
f87b1760ae56full audit observations/trust-audit/mcp-server/attalla1__photopea.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | f87b1760ae56 | CAUTION | B | 89 | first audit |
Questions
What is the Photopea MCP server?
MCP server for AI-driven image editing with Photopea
What tools does Photopea expose?
34 in total: 19 read-only, 13 that write, and 2 that can delete or overwrite (photopea_clear_selection, photopea_delete_layer). Every one is listed on this page with its risk.
Is Photopea safe to connect to an agent?
With care. The audit graded it B (89/100) and found 8 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 2 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Photopea need?
No credential environment variables were found in its source, so it appears to need none.
How does Photopea run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as photopea-mcp-server at 0.1.1.
How current is this page?
The grade is for one exact copy of the source (f87b1760ae56), read on 2026-10-08. The repository is watched and re-audited when it changes.