kgnatx avatar

Mockups Gallery

kgnatx/mockups-mpc

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 tools

Public 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

CI License: MIT

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


View the full README on GitHub

Details

Repository
github.com/kgnatx/mockups-mpc
Package
ghcr.io/kgnatx/mockups-mpc:1.5.1
Transport
STDIO, HTTP, SSE
Registry
MCP registry, active