Open Brush

Exposes the Open Brush API as MCP tools for LLM-driven control and automation.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "moz411-openbrush-mcp": {
      "command": "python",
      "args": [
        "/path/to/openbrush_mcp_server.py"
      ]
    }
  }
}

You can run an MCP server that exposes the Open Brush API as a collection of tools your language model clients can call. This server lets you perform drawing, brush control, color adjustments, 3D model handling, saving/loading, camera operations, selections, layers, guides, symmetry, and utilities through the MCP protocol, enabling automated and natural-language driven interactions with Open Brush workflows.

How to use

Install and run the MCP server, then connect an MCP client to issue tool calls through natural language. Once connected, you can ask your client to perform drawing tasks, modify brush properties, import models, adjust the scene, and save or load work. The server translates your natural language intents into Open Brush API actions and returns results or visual updates you can verify in the Open Brush viewport.

How to install

Prerequisites: Python 3.10 or higher. Open Brush must be running with its HTTP API enabled (port 40074). You need access to an MCP client like Claude Desktop.

# Install Python dependencies
pip install -r requirements.txt

# Make the script executable (optional on Linux/Mac)
chmod +x openbrush_mcp_server.py

Configuration and usage notes

Enable the Open Brush HTTP API in Open Brush settings so the MCP server can communicate with the local API at http://localhost:40074/api/v1.

In your MCP client configuration (for Claude Desktop), register the local server as a stdio MCP endpoint to run the server script.

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

Security considerations

This server communicates with a local Open Brush API. Do not expose port 40074 to the internet. Only accept trusted commands, and back up your work regularly.

Testing and manual start

To start the server manually, run the script and observe it waiting for MCP commands on stdin/stdout.

python openbrush_mcp_server.py

Troubleshooting basics

If the Open Brush API is not reachable, verify that the API is enabled in Open Brush and that the server script is running with access to port 40074.

If the MCP client cannot connect, confirm the path to the server script in your client configuration and ensure Python is available in your system PATH.

Notes on tools usage

After you configure the server, you can issue natural language commands that map to a comprehensive set of tools, including drawing, brush control, color, 3D model handling, saving/loading, camera manipulation, selection, layers, guides, symmetry, and utilities.

Examples of typical actions

  • Draw a red square of size 2 at position 0,0,0. - Change brush to a specific type and adjust color to blue. - Import a 3D model and position it in the scene. - Save the current scene as a named point.

Resources

Open Brush MCP API and tool reference are available through your local environment once the server is running and connected to an MCP client.

Appendix: Tools exposed by the server

The server exposes many tools organized by category. You can call these tools via the MCP client to perform specific actions in Open Brush. Categories include Drawing, Brush, Color, 3D Models, Save/Load, Camera, Selection, Layers, Guides, Symmetry, and Utilities.

Available tools

draw_paths

Draw multiple paths by supplying a collection of coordinate data to create a multi-segment stroke or shape.

draw_path

Draw a single path using a sequence of 3D points described as comma-separated XYZ triplets.

draw_stroke

Draw a stroke with orientation and pressure data to influence stroke dynamics.

draw_polygon

Draw a closed polygon shape defined by vertex positions.

draw_text

Render text at a specified position with chosen style properties.

draw_svg_path

Render an arbitrary SVG path string as a drawable path.

brush_set_type

Change the current brush type to a different preset or custom type.

brush_set_size

Set the global brush size for subsequent strokes.

brush_add_size

Modify the existing brush size by a delta or specific increment.

brush_set_path_smoothing

Enable or adjust smoothing for brush strokes.

brush_move

Move the brush to an absolute position in 3D space.

brush_translate

Move the brush relative to its current position.

brush_rotate

Rotate the brush to an absolute orientation.

brush_turn

Rotate the brush relative to its current orientation.

brush_draw

Draw a straight line with the current brush settings.

color_set_rgb

Set the drawing color using RGB values.

color_set_hsv

Set the drawing color using HSV values.

color_set_html

Set the drawing color using HTML/CSS color codes.

color_add_rgb

Modify the current color by applying an incremental RGB change.

color_add_hsv

Modify the current color by applying an incremental HSV change.

model_import

Import a local 3D model file into the scene.

model_web_import

Import a 3D model from a URL.

model_icosa_import

Import a model from the Icosa Gallery.

model_select

Select a model within the scene.

model_position

Position the selected model at a specified location.

model_rotation

Rotate the selected model to a given orientation.

model_scale

Scale the selected model to a specified size.

model_delete

Delete the selected model from the scene.

save_overwrite

Save the current scene, overwriting the existing save set.

save_as

Save the current scene under a new name.

save_new

Create a new, empty scene save.

load_user

Load a user sketch into the current session.

load_named

Load a named save or scene into the current session.

new_scene

Create a fresh, empty scene for new work.

camera_move

Move the camera to an absolute position.

camera_translate

Move the camera relative to its current position.

camera_rotate

Rotate the camera to an absolute orientation.

camera_turn

Rotate the camera relative to its current orientation.

spectator_move

Move the spectator view to a new position.

selection_select_all

Select all objects in the current scene.

selection_invert

Invert the current selection.

selection_delete

Delete the currently selected objects.

selection_duplicate

Create duplicates of the current selection.

layer_create

Create a new layer for organizing content.

layer_set

Set the active layer for subsequent actions.

layer_show

Show a hidden layer.

layer_hide

Hide a visible layer.

guide_add

Add a guide object such as a cube or sphere.

guide_position

Position a guide in the scene.

guide_scale

Scale a guide to the desired size.

symmetry_mode

Toggle symmetry mode for edits.

symmetry_position

Position the symmetry widget within the workspace.

undo

Undo the last action.

redo

Redo the last undone action.

show_help

Display API help and available commands.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational