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.

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.

Agent-Native Terminal

Serve your docs to AI agents over SSH and MCP. Agents use ls, cat, grep, find, and pipes against a virtual filesystem backed by your documentation. Identity-scoped access, governed writing with human approval, and portab

AI agents start every session with amnesia — you re-explain the project, repeat your preferences, and correct the same mistakes over and over. PLUR gives them a memory that persists. Your agent's corrections, preference
Console, Backend and CLI to manage Capgo Instant update and Native build for Capacitor apps Build and upload to app store your mobile app
Comments