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)].

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    105
    31
    MIT
  • F
    license
    Not graded
    quality
    C
    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

View all related MCP servers

Related MCP Connectors

  • Generate on-brand images from your AI agent: design, edit, and render templates over MCP.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • AI visual generation agent: multi-pipeline rendering, prompt crafting, and image composition.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vibeDN/NeuroPaint-X'

If you have feedback or need assistance with the MCP directory API, please join our Discord server