What paints are included in the catalog?
The catalog covers 1,607 paints across Citadel, Army Painter, Vallejo, and AK. It is bundled and kept in version control at `data/catalog/`.
@ArturSkowronski
Basic information
Local-first miniature-paint inventory and cross-brand color matching for AI agents. Search 1,607 paints across Citadel, Army Painter, Vallejo, and AK Interactive; match a hex color or a description to the nearest paint; and track which paints you own so an agent recommends what's
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"minipainter": {
"command": "npx",
"args": [
"-y",
"-p",
"minipainter",
"minipainter-mcp"
]
}
}
}Search paints by name, alias, provider, owned state, role, or color family.
Show one paint or return ambiguous/not_found resolution results.
List owned paints from the local inventory.
Mark a paint as owned in the local inventory.
Mark a paint as not owned in the local inventory.
Match paints by approximate color with owned-first ranking.
Match paints from a semantic description like bone or silver metallic.
Minipainter is a local-first paint registry for miniature-painting workflows. It maintains a deterministic catalog of 1,607 paints (Citadel, Army Painter, Vallejo, AK) and a personal inventory of owned paints, enabling AI paint suggestions that understand what you actually have. It provides a colored terminal UI (TUI), CLI, and MCP servers for both Claude Desktop and ChatGPT.
Install with npx minipainter or globally via npm install -g minipainter. Run CLI commands like paint search, match color, or tui to interact with the catalog and inventory. For Claude Desktop, add an MCP server entry in its configuration pointing to src/mcp-server.mjs. For self‑hosted Docker, use docker compose up --build (includes Postgres) or build the image and run with a volume. The HTTP server exposes REST endpoints and an MCP transport.
The catalog covers 1,607 paints across Citadel, Army Painter, Vallejo, and AK. It is bundled and kept in version control at `data/catalog/`.
By default, inventory is stored locally at `~/.minipainting/inventory.json`. In Docker (with Postgres) it persists in a named volume that survives container restarts and `docker compose down`; only `down -v` wipes it.
Yes. When `DATABASE_URL` is unset, Minipainter uses a local JSON inventory file. Alternatively, you can run the Docker stack with Postgres for persistence.
The MCP server supports stdio (for Claude Desktop) and Streamable HTTP (for Claude mobile/web) via `mcp-http-server.mjs`. The HTTP endpoints can be protected with an `AUTH_TOKEN` for `/api/*` and `/mcp`, and an `INVENTORY_SYNC_TOKEN` for the sync endpoint.
RGB values in the catalog are approximate reference colors for matching, not a guarantee of final painted appearance.

Free SEO Audit MCP server for Claude - captures and stores all the raw data you need for a complete technical SEO audit. Google Search Console + a first-party crawl + DataForSEO + Majestic SEO merged into one prioritised
Read public Instagram profiles and post feeds by handle in Claude, Cursor, and other MCP clients. Get follower counts, captions, hashtags, mentions, and engagement counts as structured JSON.
Gives AI agents public URLs (tunnels) for localhost, live HTTP traffic inspection, snapshot publishing, and access control. Part of LocalCan, the ngrok alternative for Mac, Windows and Linux. Free plan.

Hosted Google Search / SERP MCP server from HasData, no Google Cloud project. Organic results, AI Overview, People Also Ask, AI Mode, news and shopping for Claude, Cursor and any MCP client.
The Datris Data Platform - Open Source Version
Comments