- Home
- MCP servers
- Open Brush
Open Brush
- 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.