This MCP (Model Context Protocol) server exposes the Open Brush API as tools usable by LLMs via the MCP protocol.
- Python 3.10 or higher
- Open Brush running with API enabled (port 40074)
- Access to an MCP client (like Claude Desktop)
-
Clone or download the files
-
Install Python dependencies
pip install -r requirements.txt- Make the script executable (optional on Linux/Mac)
chmod +x openbrush_mcp_server.py- Launch Open Brush
- Enable HTTP API in settings
- API should be accessible at
http://localhost:40074/api/v1
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.
The server exposes many tools organized by category:
draw_paths- Draw multiple pathsdraw_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 pressuredraw_polygon- Draw a polygondraw_text- Draw textdraw_svg_path- Draw an SVG path
brush_set_type- Change brush typebrush_set_size- Set brush sizebrush_add_size- Modify brush sizebrush_set_path_smoothing- Set smoothingbrush_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_set_rgb- Set color in RGBcolor_set_hsv- Set color in HSVcolor_set_html- Set color with HTML/CSScolor_add_rgb- Modify color (RGB)color_add_hsv- Modify color (HSV)
model_import- Import local modelmodel_web_import- Import from URLmodel_icosa_import- Import from Icosa Gallerymodel_select- Select modelmodel_position- Position modelmodel_rotation- Rotate modelmodel_scale- Scale modelmodel_delete- Delete model
save_overwrite- Save (overwrite)save_as- Save as...save_new- New saveload_user- Load user sketchload_named- Load by namenew_scene- New scene
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_select_all- Select allselection_invert- Invert selectionselection_delete- Delete selectionselection_duplicate- Duplicate selection
layer_create- Create layerlayer_set- Set active layerlayer_show- Show layerlayer_hide- Hide layer
guide_add- Add guide (cube, sphere, etc.)guide_position- Position guideguide_scale- Scale guide
symmetry_mode- Symmetry modesymmetry_position- Symmetry widget position
undo- Undoredo- Redoshow_help- Show API help
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'"
To manually test the server:
python openbrush_mcp_server.pyThe server should start and wait for commands on stdin/stdout according to the MCP protocol.
- Check that Open Brush is running
- Check that HTTP API is enabled in settings
- Test manually:
http://localhost:40074/api/v1?help
- Check the path in Claude Desktop configuration
- Check that Python is in PATH
- Check Claude Desktop logs
- Check provided parameters
- Check Open Brush API documentation
- Check returned error messages
- Open Brush Documentation
- Model Context Protocol (MCP)
- Complete Open Brush API (when Open Brush is running)
- Not expose port 40074 on the internet
- Trust sent commands
- Backup your creations regularly
This MCP server is provided as-is to facilitate Open Brush usage with LLMs.
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.