Minipainter
@ArturSkowronski
About Minipainter
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
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"minipainter": {
"command": "npx",
"args": [
"-y",
"-p",
"minipainter",
"minipainter-mcp"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Minipainter?
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.
How to use Minipainter?
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.
Key features of Minipainter
- Owned-first matching for paint lookup and recommendations
- Local catalog (bundled) and personal inventory (JSON or Postgres)
- RGB‑aware search and cross‑brand color matching
- Colored TUI with per‑paint RGB swatches and ownership status
- Agent‑friendly CLI and MCP servers for Claude Desktop and ChatGPT
- Deterministic, version‑controlled paint IDs
Use cases of Minipainter
- Miniature painters who want AI paint suggestions based on their actual collection
- Tracking which paints you own across multiple brands
- Finding closest color matches from owned paints for a target color or description
- Integrating paint inventory into Claude Desktop workflows (search, ownership updates)
FAQ from Minipainter
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/.
How is my inventory stored?
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.
Can I use Minipainter without a database?
Yes. When DATABASE_URL is unset, Minipainter uses a local JSON inventory file. Alternatively, you can run the Docker stack with Postgres for persistence.
What transports/auth does the MCP server support?
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.
Known limits: how accurate are the RGB values?
RGB values in the catalog are approximate reference colors for matching, not a guarantee of final painted appearance.
Frequently asked questions
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/`.
How is my inventory stored?
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.
Can I use Minipainter without a database?
Yes. When `DATABASE_URL` is unset, Minipainter uses a local JSON inventory file. Alternatively, you can run the Docker stack with Postgres for persistence.
What transports/auth does the MCP server support?
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.
Known limits: how accurate are the RGB values?
RGB values in the catalog are approximate reference colors for matching, not a guarantee of final painted appearance.
Basic information
More MCP servers
Dadan MCP
Dadan-iodadan-sdk-integration is an SDK for integrating Dadan features into React applications. It allows you to add video recording and file selection functionality directly into your React components, providing a seamless user
extentos
Asger mølgaardExtentos is a multi-vendor development platform for adding smart-glasses capabilities to existing iOS and Android apps. The simplest analogy is Stripe for smart glasses:
Medplum
medplumMedplum is a healthcare platform that helps you quickly develop high-quality compliant applications.

Octolens
OctolensGive your AI agents every brand mention across the internet — 15+ platforms, AI-filtered, one structured feed.
endoflife.ai
endoflife.aiFree MCP server for software end-of-life intelligence: EOL dates, support status, and the 0-100 EOL Risk Score across 485 tracked products. Agents can check a single version, pull a product's full lifecycle schedule, or
Comments