Doory MCP
Open source design editor with a built-in MCP server: Claude and Cursor create and edit designs on your own server
- 2,692 ★ on the repository
- Last commit
Broad access
Why this level
- An MCP token can edit and delete designs, change brand kits and create share links to designs
- The server copies images from public https URLs into storage while `URL_IMAGE_UPLOADS` is on
- The app keeps user accounts and uploads on your server, so their protection and updates are your job
Install
- Works in
Manual install
docker compose up -d --buildCopy `.env.example` to `.env` and set `DJANGO_SECRET_KEY` and `POSTGRES_PASSWORD` first. The admin account comes from `docker compose exec api python manage.py createsuperuser`.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- An MCP token can edit and delete designs, change brand kits and create share links to designs
- The server copies images from public https URLs into storage while `URL_IMAGE_UPLOADS` is on
- The app keeps user accounts and uploads on your server, so their protection and updates are your job
This is third-party code. Review the repository files before installing.
What it does
Doory is a browser design editor that you run on your own server. It makes posters, social posts, stories, slides, resumes, thumbnails and business cards, and exports PNG, JPG, SVG, PDF, MP4 or GIF. You can design without an account; guest work stays in the browser. The MCP server is part of the app and answers at `/mcp` on your domain. It is off by default: `MCP_ENABLED=true` and `COMPOSE_PROFILES=mcp` in `.env` start it. A client connects over HTTP with a token the user creates in the editor settings. You choose what the token may do: read designs, edit them, trash them, add images, comment, manage brand kits and share links. The assistant creates, renames, duplicates and edits designs, adds text, shapes, pictures and QR codes, and searches templates, fonts and stock photos. Templates are filled by field key through the `fill_design` and `bulk_fill` tools: one spreadsheet row makes one new design. Every edit saves the previous state in the version history.
Who it is for. For teams and solo makers who want their own design editor instead of a cloud service and want an assistant to handle routine work: resizing, translating headlines, filling templates in bulk.
Good fit when
- You need 50 product cards from one template, and the assistant fills it with spreadsheet rows through `bulk_fill`
- Every headline across the pages of a design has to be translated with one request to Claude
- The design editor should live on your server together with the company's data, fonts and brand kits
- A design is going to print: `export_design` produces a PDF with bleed and crop marks
- You want real-time co-editing, comments and view-only links
Not a fit when
- You expect a template library like the big services have: ten starter templates ship in the box
- You do not want to run Docker, PostgreSQL and updates yourself: the project has no hosted plan
- You need precise grid layout of a long multi-page document, which a desktop publishing tool does better
Example request
Take the sale template, make a 1080 by 1350 post from it in our brand kit colours and translate the headline into EnglishMCP
- Transport
- http
- Authentication
- API key
Environment variables
MCP_ENABLEDrequired- `true` turns the MCP server on; it is off by default
COMPOSE_PROFILESrequired- `mcp` starts the MCP service in Docker Compose
REDIS_URL- Redis address so edits appear in open editors immediately
Limitations
- The project is young: the editor is complete but templates are few, and the author asks for bug reports.
- The Attribution Assurance License requires keeping the license text and the NOTICE file and showing the author credit in the running app, including when you host it for your own users.
- Exporting images, PDFs and video over MCP needs server-side export set up separately (`image-export.md` in the repository). Edits show up in an open editor instantly only with Redis; without it they appear after a few seconds.
- An MCP token lives for a year at most, and changing a password revokes all of that user's tokens.
How to disable. Remove `MCP_ENABLED=true` and `COMPOSE_PROFILES=mcp` from `.env` and run `docker compose up -d`: the `mcp` service stops. Revoke a single token in the editor settings under AI assistants. Delete the server entry from the client.
FAQ
How do I connect Doory to Claude Code or Cursor?
Turn on MCP on your server, create a token in the editor settings, and add the server with the address `https://your-domain/mcp` and the header `Authorization: Bearer <token>`. The client must support the HTTP transport. The tool list depends on the token's permissions.
Is Doory paid?
No. The project has no paid plan, no locked features and no ads. The license asks for one thing: show the author credit in the running app.
What can the assistant do with share links?
Create and change them when the token has that permission. The tool is marked destructive, so clients ask the user first. Comment text reaches the assistant labelled as untrusted.
Which formats can Doory export?
PNG, JPG, SVG, PDF, MP4, WebM and GIF. Over MCP the `export_design` tool also returns WebP and AVIF, a ZIP of several pages and a print PDF with bleed and crop marks. Video export works when the server is set up for it.
Do I need an account to work in Doory?
No, a guest starts at once and designs stay in the browser. An account gives cloud storage, sharing and brand kits. MCP tokens are created only there.
Discussion
No questions or reviews yet.
Related
MCP serversMCP server for Adobe Illustrator with 66 tools: reading design data, creating artwork, print checks and export
An MCP server for Adobe Photoshop: background removal, retouch, social export and batch jobs by chat
An MCP server that edits images through Photopea: layers, text, effects and export, 46 tools for Claude Code and Cursor.
Recraft's remote MCP server: an agent draws raster and vector images, edits a region, removes the background and upscales
BeatDesign MCP connects an agent to a local video editor, with clips, images and captions visible in the browser during editing.
The Scumble desktop editor with an MCP server of 119 tools: an agent opens, selects, generates and exports images.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Doory (this card) | no | API key | 2,692 | |
| OpenDesign | no | not required | 107,345 | an MCP for design, while Doory is a full editor you run on your own server |
| Framelink MCP for Figma | no | API key | 16,193 | reads Figma files for code, while Doory creates and edits designs in its own editor |
README in short
The README covers the editor's features, ten starter templates, Docker Compose setup and the MCP connection for AI assistants. It then answers common questions, lists the stack and states the license with its required author credit.