solidcraft-cli mcp is a Model Context Protocol server on stdio. Agents run the same engine commands as the toolbar, scripts, and CLI — create sketches, features, set parameters, measure, screenshot, export STEP/STL, undo/redo — without opening dialogs.
solidcraft --control PORT so you can watch.# Headless
solidcraft-cli mcp
# Headless from a design or script
solidcraft-cli mcp --in part.solidcraft
# Bridged to the running app
solidcraft --control 7878 &
solidcraft-cli mcp --connect 127.0.0.1:7878
On Snap installs the CLI is solidcraft.cli.
SOLIDCRAFT_CONTROL_TOKEN over --token when bridging — command-line args are visible in the process list (official docs).From the official MCP doc:
claude mcp add solidcraft -- solidcraft-cli mcp
Or project .mcp.json:
{
"mcpServers": {
"solidcraft": { "command": "solidcraft-cli", "args": ["mcp"] }
}
}
Official example for claude_desktop_config.json:
{
"mcpServers": {
"solidcraft": {
"command": "/path/to/solidcraft-cli",
"args": ["mcp", "--connect", "127.0.0.1:7878"]
}
}
}
Start the app with solidcraft --control 7878 first.
.cursor/mcp.json or ~/.cursor/mcp.json). Verify tools appear in Cursor’s MCP settings after reload.{
"mcpServers": {
"solidcraft": {
"type": "stdio",
"command": "solidcraft-cli",
"args": ["mcp", "--allow-path", "/absolute/path/to/your/designs"]
}
}
}
Use a full path to the binary if Cursor cannot find solidcraft-cli on PATH. For Snap: solidcraft.cli.
| Tool | Role |
|---|---|
list_commands | Command catalog |
execute / batch | Run modelling commands (batch can roll back on error) |
inspect_design / measure / body_topology | Read geometry and timeline |
set_parameter | Create/change parameters and recompute |
screenshot | PNG of the model or window |
export | STEP, 3MF, STL, OBJ, URDF, … |
open / save / new_design | Document lifecycle |
undo / redo | History |
Optional agent skills live under skills/ in the repo (solidcraft-modeling, solidcraft-editing, etc.).
By default, tools only touch:
--allow-path DIR you add.solidcraft-cli mcp --allow-path ~/designs --allow-path ~/exports
--allow-any-path removes the limit (previous behaviour) — use carefully.
Conceptual flow from the official doc’s example session:
batch a sketch rectangle → extrude → fillet → cut a holemeasure volume / areascreenshot with view: "iso"export to a path inside an allowed folderDemo scripts: examples/demo/enclosure_mcp.py builds an enclosure over MCP.
Also see: install guide · examples.