Skip to main content
Glama

MCP Server for Open Brush

This MCP (Model Context Protocol) server exposes the Open Brush API as tools usable by LLMs via the MCP protocol.

📋 Prerequisites

  • Python 3.10 or higher

  • Open Brush running with API enabled (port 40074)

  • Access to an MCP client (like Claude Desktop)

Related MCP server: Krita Illustration MCP

🚀 Installation

  1. Clone or download the files

  2. Install Python dependencies

pip install -r requirements.txt
  1. Make the script executable (optional on Linux/Mac)

chmod +x openbrush_mcp_server.py

⚙️ Configuration

Enable API in Open Brush

  1. Launch Open Brush

  2. Enable HTTP API in settings

  3. API should be accessible at http://localhost:40074/api/v1

Configure in Claude Desktop

Add this configuration to your Claude Desktop MCP configuration file:

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "openbrush": {
      "command": "python",
      "args": [
        "/path/to/openbrush_mcp_server.py"
      ]
    }
  }
}

Replace /path/to/ with the absolute path to the file.

📚 Available Tools

The server exposes many tools organized by category:

🎨 Drawing

  • draw_paths - Draw multiple paths

  • draw_path - Draw a simple path using comma-separated XYZ triplets (e.g. [0,0,0],[0,1,0],[1,1,0], not SVG)

  • draw_stroke - Draw a stroke with orientation and pressure

  • draw_polygon - Draw a polygon

  • draw_text - Draw text

  • draw_svg_path - Draw an SVG path

🖌️ Brush

  • brush_set_type - Change brush type

  • brush_set_size - Set brush size

  • brush_add_size - Modify brush size

  • brush_set_path_smoothing - Set smoothing

  • brush_move - Move brush (absolute position)

  • brush_translate - Move brush (relative)

  • brush_rotate - Rotate brush (absolute)

  • brush_turn - Rotate brush (relative)

  • brush_draw - Draw a straight line

🎨 Color

  • color_set_rgb - Set color in RGB

  • color_set_hsv - Set color in HSV

  • color_set_html - Set color with HTML/CSS

  • color_add_rgb - Modify color (RGB)

  • color_add_hsv - Modify color (HSV)

🧊 3D Models

  • model_import - Import local model

  • model_web_import - Import from URL

  • model_icosa_import - Import from Icosa Gallery

  • model_select - Select model

  • model_position - Position model

  • model_rotation - Rotate model

  • model_scale - Scale model

  • model_delete - Delete model

💾 Save/Load

  • save_overwrite - Save (overwrite)

  • save_as - Save as...

  • save_new - New save

  • load_user - Load user sketch

  • load_named - Load by name

  • new_scene - New scene

📷 Camera

  • camera_move - Move camera (absolute)

  • camera_translate - Move camera (relative)

  • camera_rotate - Rotate camera (absolute)

  • camera_turn - Rotate camera (relative)

  • spectator_move - Move spectator view

✂️ Selection

  • selection_select_all - Select all

  • selection_invert - Invert selection

  • selection_delete - Delete selection

  • selection_duplicate - Duplicate selection

📑 Layers

  • layer_create - Create layer

  • layer_set - Set active layer

  • layer_show - Show layer

  • layer_hide - Hide layer

📐 Guides

  • guide_add - Add guide (cube, sphere, etc.)

  • guide_position - Position guide

  • guide_scale - Scale guide

🔄 Symmetry

  • symmetry_mode - Symmetry mode

  • symmetry_position - Symmetry widget position

🔧 Utilities

  • undo - Undo

  • redo - Redo

  • show_help - Show API help

💡 Usage Examples

Once the server is configured in Claude Desktop, you can give natural language instructions:

"Draw a red square of size 2 at position 0,0,0"
"Change brush to 'ink' and set color to blue"
"Create a 6-sided polygon with radius 3"
"Import the model 'Andy.glb' and position it at 1,2,3"
"Save the scene as 'my_creation'"

🔍 Testing the Server

To manually test the server:

python openbrush_mcp_server.py

The server should start and wait for commands on stdin/stdout according to the MCP protocol.

🛠️ Troubleshooting

Open Brush API not accessible

  • Check that Open Brush is running

  • Check that HTTP API is enabled in settings

  • Test manually: http://localhost:40074/api/v1?help

MCP server not connecting

  • Check the path in Claude Desktop configuration

  • Check that Python is in PATH

  • Check Claude Desktop logs

Commands failing

  • Check provided parameters

  • Check Open Brush API documentation

  • Check returned error messages

📖 Resources

🔒 Security

⚠️ Warning: This server calls a local API. Make sure to:

  • Not expose port 40074 on the internet

  • Trust sent commands

  • Backup your creations regularly

📝 License

This MCP server is provided as-is to facilitate Open Brush usage with LLMs.

🤝 Contribution

Feel free to:

  • Report bugs

  • Suggest improvements

  • Add new tools for missing API commands


Note: Open Brush is an open-source fork of Google's Tilt Brush. This MCP server is not officially affiliated with Open Brush.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI models to directly control a local Krita instance by inspecting real canvas previews, managing documents and layers, importing and masking generated images, inpainting, painting with the brush engine, checkpointing, and exporting KRA/PNG files.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables an AI assistant to inspect and edit a live Krita 6 desktop session, create and modify documents and layers, paint with native brushes, and receive inline PNG previews.
    56
    1
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Enables controlling local Blender 5.2 through natural language, providing 159 tools for modeling, materials, shaders, lighting, animation, cameras, rendering, import/export, UV, geometry, rigging, assets, and more via an MCP server.
    159
    4
    MIT