
Mockups Gallery
A self-hosted gallery that accepts AI-generated mockups via MCP and displays them in a web UI. The clever bit: it keeps large HTML files out of your model context by having Claude write the file locally and curl it to a POST /api/upload endpoint, then use lightweight MCP tools (send_mockup, list_mockups, get_mockup, update_mockup, delete_mockup, tag_mockup) for metadata operations only. Built on FastAPI with SQLite for cataloging and filesystem storage. Serves both an HTTP/SSE MCP endpoint for your AI client and a browser gallery at the root. Useful when you're generating lots of UI mockups or design prototypes and want a persistent catalog instead of files scattered across chat sessions. No auth built in, so deploy behind a reverse proxy or on a trusted network.
- GitHub stars
- 2
- tools
- 8
- transport
- STDIO, HTTP, SSE
- last updated
- Sep 24, 2026
Tools
8 toolsPublic tool metadata for what this MCP can expose to an agent.
send_mockupSend HTML/SVG (raw string) or PNG/JPG (base64) to the gallery. Supports `parent` and `fold` (see Versions). Returns a gallery URL.
Send HTML/SVG (raw string) or PNG/JPG (base64) to the gallery. Supports `parent` and `fold` (see Versions). Returns a gallery URL.
No parameter schema in public metadata yet.
list_mockupsList mockups reverse-chronologically, optionally filtered by project.
List mockups reverse-chronologically, optionally filtered by project.
No parameter schema in public metadata yet.
get_mockupGet a specific mockup by UUID with view and gallery URLs, plus its version list. Curl the `view_url` to read the file content.
Get a specific mockup by UUID with view and gallery URLs, plus its version list. Curl the `view_url` to read the file content.
No parameter schema in public metadata yet.
update_mockupUpdate metadata (title, description, tags), or add a new version by supplying `content` (earlier versions are kept).
Update metadata (title, description, tags), or add a new version by supplying `content` (earlier versions are kept).
No parameter schema in public metadata yet.
split_versionSplit one version out of its design into its own standalone mockup — reverses a fold.
Split one version out of its design into its own standalone mockup — reverses a fold.
No parameter schema in public metadata yet.
delete_mockupDelete a mockup, or (with `version`) just one version — removes the DB record(s) and file(s) on disk.
Delete a mockup, or (with `version`) just one version — removes the DB record(s) and file(s) on disk.
No parameter schema in public metadata yet.
tag_mockupAdd or remove tags on an existing mockup.
Add or remove tags on an existing mockup.
No parameter schema in public metadata yet.
set_created_atChange the created date of a mockup (or one version). Useful for backdating uploads or reordering the timeline.
Change the created date of a mockup (or one version). Useful for backdating uploads or reordering the timeline.
No parameter schema in public metadata yet.
Sponsors
Readme
Mockups MPC
A self-hosted gallery for AI-generated mockups — with an MCP interface. Instead of cluttering your repo, mockups get a permanent home and a clean web gallery you can browse. AI tools upload them over a direct curl call; MCP handles only the lightweight coordination — listing, metadata, tagging, and retrieval.
Token-efficient by design. MCP tool parameters flow through the model context, so sending a large HTML file via a tool call wastes tokens. Mockups MPC provides an HTTP upload endpoint (POST /api/upload) — the AI writes the file locally and curls it to the server, keeping file content entirely out of the model context. MCP tools handle lightweight operations only: listing, metadata, tagging, and deletion.
Mockups MPC — gallery demo
Prerequisites
Details
- Repository
- github.com/kgnatx/mockups-mpc
- Package
ghcr.io/kgnatx/mockups-mpc:1.5.1- Transport
- STDIO, HTTP, SSE
- Registry
- MCP registry, active