MINIPAINTER

Mini Painter

Hand your paint bench to any AI agent. It plans a whole mini from the paints already on your shelf, and names only the few worth buying.

1,607Paints
4Brands
7Paint types
2MCP endpoints

Paint with an agent,
not a database

The hard part of starting out is not the painting. It is choosing paints and knowing what you lack. Give any agent your whole shelf and it works from what you actually own, not a random set that changes every time you ask.

Plan

A scheme from your own shelf

Drop in whatever you have: one photo, two, or a half-painted mini next to the reference you are chasing. Agents are smart, and now they can see your shelf, so they work the scheme zone by zone and ground every pick in the pots you already own. Where there is a real gap they name one or two worth buying, never a fresh set.

Without it: a correct but generic answer that changes every time you ask.

Restock

Log paints without typing

Snap your paint rack or paste a screenshot of your last order. minipainter recognizes the products and adds them to your inventory. No names to type, no catalog to build by hand. Your shelf stays current with almost no effort.

One photo in, your inventory back out.

A real sessionParallax (Hal Jordan)
The Parallax (Hal Jordan) figure: black bodysuit and cape, green muscled torso and domino mask, rising from green energy flames.

Drop the mini and a reference into the chat.

Real chat: the figure attached with the question 'what paint should I use for Parallax', and the minipainter tool firing on the inventory. Claude's reply: a zone-by-zone paint plan grounded in the owned inventory, ending with one honest gap, an opaque bright-green layer not yet owned.

The agent maps every zone to paints you own, and names the one honest gap worth buying.

Pick a color.
Find the paint.

Every paint carries an approximate RGB. Drop a target and minipainter returns the nearest pot in each brand by straight color distance. Flip to the example rack below and its paints float to the top. In your install, that rack is whatever you own.

#C9A24C

1,607 pots, one wall

The full catalog, every pot a real swatch. Hover any chip to read it. The green corner marks a paint in the example rack (a generic sample, not a real inventory).

Hover a chip to inspect a paint.

Hand it to any agent

minipainter speaks the Model Context Protocol, so any MCP-capable agent can use it: Claude on desktop, web and Code, ChatGPT, Gemini, and whatever comes next. Run it locally or host your own, there is no shared service. Full setup guide for each.

Local · CLI + MCP

On your machine

The simplest path, nothing to host. Use minipainter as a CLI in your terminal, or run the local MCP server and add it to a desktop agent like Claude Desktop. Your rack never leaves your machine.

npx minipainter tui
npx -y -p minipainter minipainter-mcp
paint_searchpaint_showinventory_list inventory_mark_ownedinventory_mark_unowned match_colormatch_describe
Self-hosted · remote MCP

Your own endpoint

For URL-based agents (Claude web, ChatGPT, Gemini), deploy your own remote MCP with Docker or Fly, then add your URL as a connector. It is your server and your inventory, there is no public instance to share. ChatGPT uses the /mcp/v3 route.

https://your-app.fly.dev/mcp
paint_searchmatch_colorinventory_listsearchfetch
Agent runtime · skill

Agent Skill

A standards-compliant Agent Skill for runtimes that load skills (Claude Code). It teaches the agent to drive the CLI with the right guardrails: owned-first, cross-brand product_format, and ambiguity checks before any write. Fetch it straight from this site, no clone required.

curl -fsSL https://arturskowronski.github.io/minipainter/SKILL.md -o .claude/skills/minipainter/SKILL.md
paint searchpaint showmatch color match describeinventory owninventory list

Quickstart

# straight from npm, no clone
$ npx minipainter paint search bone
$ npx minipainter paint search black --json

# track what's on your rack
$ npx minipainter inventory own "Abaddon Black"
$ npx minipainter inventory list

# match by color or description
$ npx minipainter match color "#d2c29b"
$ npx minipainter match describe bone

# open the workshop ledger TUI
$ npx minipainter tui
minipainter colored terminal UI: MINIPAINTER banner, catalog with real paint swatches, green OWNED / red MISSING status, selected-paint detail and commands

The real terminal UI: npx minipainter tui