Skip to main content
Glama
vibeDN
by vibeDN

NeuroPaint-X

An MCP server that gives an AI an Ibis-Paint-level image editor — a layered raster painting canvas it drives with tool calls, renders, looks at, and iterates on. (Python package name: mcp_paint.)

  • Stateful documents held in server memory: layers, blend modes, opacity, alpha-lock, undo/redo.

  • skia-python rendering: anti-aliased brushes (soft/hard/ink/marker/airbrush/ pencil), shapes, linear/radial gradients, flood fill, text, filters (blur / drop-shadow / glow / grayscale / saturate / brightness / contrast / invert / sharpen).

  • Pulls images and fonts straight from the internetplace_image(url=…), draw_text(google_font="Poppins") or font_url=….

  • Token-frugal by design (see below).

Keeping token cost low

Image tokens ≈ width*height / 750. NeuroPaint-X minimises them:

lever

effect

Mutating tools return one terse text line, never an image

you only pay image tokens when you choose to look

render(detail=…) downscales

thumb ≈ 256px (~60 tok), preview ≈ 640px (~370 tok), full ≈ 1024px, max ≈ 1600px

render(region=[x,y,w,h])

inspect a detail at high zoom without paying for the whole canvas

batch(ops_list=[…])

dozens of draw ops in one tool call = one round-trip, one undo step

export(...)

writes a full-res PNG to disk — zero image tokens

Each render reply also reports approx_image_tokens so the model can self-budget.

Related MCP server: ImageMcp

Run it

python -m venv .venv && . .venv/bin/activate
pip install -e .

# HTTP (for a Claude connector) — default 127.0.0.1:8765
python -m mcp_paint

# or stdio (for local Claude Code / Desktop)
MCP_PAINT_TRANSPORT=stdio python -m mcp_paint

Environment

var

default

meaning

MCP_PAINT_TRANSPORT

http

http or stdio

MCP_PAINT_HOST / MCP_PAINT_PORT

127.0.0.1 / 8765

HTTP bind

MCP_PAINT_TOKEN

(unset)

if set, require Authorization: Bearer <token>

MCP_PAINT_EXPORT

~/mcp-paint-output

where export writes files

MCP_PAINT_CACHE

~/.cache/mcp-paint

downloaded images/fonts

MCP_PAINT_MAX_DOWNLOAD

25165824

max bytes per fetched asset

Use as a Claude connector (self-hosted)

  1. Run it on your box, bound to localhost, with a token:

    MCP_PAINT_TOKEN=$(openssl rand -hex 24) python -m mcp_paint
  2. Expose that port over HTTPS with a tunnel:

    cloudflared tunnel --url http://localhost:8765        # quick throwaway URL
    # or: tailscale funnel 8765   /   ngrok http 8765
  3. In Claude → Settings → Connectors → Add custom connector:

    • URL https://<your-tunnel>/mcp

    • Authentication: None (the server uses a shared header secret, not OAuth)

    • Additional request headers → Add header: X-Paint-Token = <your MCP_PAINT_TOKEN> (Authorization = Bearer <token> also works)

With no MCP_PAINT_TOKEN the server is open to anyone who has the tunnel URL. Set one.

Local Claude Code

.mcp.json (see .mcp.json.example):

{
  "mcpServers": {
    "paint": {
      "command": "/ABS/PATH/NeuroPaint-X/.venv/bin/python",
      "args": ["-m", "mcp_paint"],
      "env": { "MCP_PAINT_TRANSPORT": "stdio" }
    }
  }
}

Tool map

new_canvas · list_canvases · canvas_info · delete_canvas render · export · pick_color · undo · redo add_layer · select_layer · update_layer · delete_layer · duplicate_layer · move_layer · merge_down · clear_layer stroke · draw_rect · draw_ellipse · draw_line · draw_polygon · draw_gradient · bucket_fill · draw_text · place_image · filter_layer batch

Coordinates are pixels, origin top-left. Colors: #rgb / #rrggbb / #rrggbbaa / rgb() / rgba() / CSS names / [r,g,b(,a)].

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to perform advanced image editing and graphic design through Photopea, a browser-based Photoshop alternative. Provides 34 tools for document management, layer operations, filters, adjustments, and exports via a WebSocket bridge to the browser.
    34
    102 npm
    35
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A full-featured image processing MCP server for AI assistants, exposing ~55 tools across 11 categories for editing, layers, conversion, AI segmentation/cleanup/generation, design analysis, and screenshot-to-code.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to drive a live SVG/vector editor, allowing a full observe-and-act loop on a canvas with real tools, state reading, and PNG rendering.
    MIT