# Tools Overview - FreeCAD Robust MCP Suite
FreeCAD Robust MCP Suite - MCP Server, Bridge Workbench, and Macros for AI assistant integration

Skip to content

# Tools Reference

The FreeCAD Robust MCP Server provides 82+ tools for CAD operations. This page provides a quick reference organized by category.

For detailed documentation including parameters and examples, see MCP Tools Reference.

## Tool Categories

Category | Tools | Description
--- | --- | ---
Execution | 5 | Python execution, debugging
Documents | 7 | Document management
Primitives | 8 | Basic 3D shapes
Objects | 12 | Object manipulation
PartDesign | 19 | Parametric modeling
View & Display | 11 | View control, screenshots (GUI only)
Export/Import | 7 | File format conversion
Macros | 6 | Macro management
Utility | 7 | Undo/redo, parts library

## Execution Tools

Tool | Description
--- | ---
`execute_python` | Execute arbitrary Python in FreeCAD
`get_freecad_version` | Get FreeCAD version and build info
`get_connection_status` | Check MCP bridge connection
`get_console_output` | Get recent console output
`get_mcp_server_environment` | Get Robust MCP Server environment info

## Document Tools

Tool | Description
--- | ---
`list_documents` | List all open documents
`get_active_document` | Get currently active document
`create_document` | Create a new document
`open_document` | Open an existing .FCStd file
`save_document` | Save a document
`close_document` | Close a document
`recompute_document` | Recompute all features

## Primitive Tools

Tool | Description
--- | ---
`create_box` | Create a parametric box
`create_cylinder` | Create a parametric cylinder
`create_sphere` | Create a parametric sphere
`create_cone` | Create a parametric cone
`create_torus` | Create a torus (donut)
`create_wedge` | Create a tapered wedge
`create_helix` | Create a helix curve
`create_object` | Create any object by type ID

## Object Tools

Tool | Description
--- | ---
`list_objects` | List objects in a document
`inspect_object` | Get detailed object information
`edit_object` | Modify object properties
`delete_object` | Delete an object
`boolean_operation` | Union, cut, or intersect objects
`set_placement` | Set position and rotation
`rotate_object` | Rotate around an axis
`scale_object` | Scale uniformly or non-uniformly
`copy_object` | Create a copy
`mirror_object` | Mirror across a plane
`get_selection` | Get selected objects (GUI)
`set_selection` | Select objects (GUI)
`clear_selection` | Clear selection (GUI)

## PartDesign Tools

### Bodies and Sketches

Tool | Description
--- | ---
`create_partdesign_body` | Create a PartDesign body
`create_sketch` | Create a sketch on a plane/face

### Sketch Geometry

Tool | Description
--- | ---
`add_sketch_rectangle` | Add rectangle to sketch
`add_sketch_circle` | Add circle to sketch
`add_sketch_line` | Add line to sketch
`add_sketch_arc` | Add arc to sketch
`add_sketch_point` | Add point to sketch

### Additive Features

Tool | Description
--- | ---
`pad_sketch` | Extrude sketch (additive)
`revolution_sketch` | Revolve sketch around axis
`loft_sketches` | Loft through multiple sketches
`sweep_sketch` | Sweep profile along path

### Subtractive Features

Tool | Description
--- | ---
`pocket_sketch` | Cut by extruding sketch
`groove_sketch` | Cut by revolving sketch
`create_hole` | Create parametric holes

### Edge Operations & Patterns

Tool | Description
--- | ---
`fillet_edges` | Add rounded edges
`chamfer_edges` | Add beveled edges
`linear_pattern` | Repeat feature linearly
`polar_pattern` | Repeat feature circularly
`mirrored_feature` | Mirror feature across plane

## View Tools

GUI Mode Required

Tools marked with GUI only work when FreeCAD is running in GUI mode.

Tool | Mode | Description
--- | --- | ---
`get_screenshot` | GUI | Capture 3D view screenshot
`set_view_angle` | Both | Set camera angle
`fit_all` | Both | Fit all objects in view
`zoom_in` | GUI | Zoom in
`zoom_out` | GUI | Zoom out
`set_camera_position` | GUI | Set exact camera position
`set_object_visibility` | GUI | Show/hide objects
`set_display_mode` | GUI | Set display mode (wireframe, etc.)
`set_object_color` | GUI | Change object color
`list_workbenches` | Both | List available workbenches
`activate_workbench` | Both | Switch workbench

## Export Tools

Tool | Description
--- | ---
`export_step` | Export to STEP format
`export_stl` | Export to STL (3D printing)
`export_3mf` | Export to 3MF (modern 3D printing)
`export_obj` | Export to OBJ format
`export_iges` | Export to IGES format
`import_step` | Import STEP files
`import_stl` | Import STL files

## Macro Tools

Tool | Description
--- | ---
`list_macros` | List available macros
`run_macro` | Execute a macro
`create_macro` | Create a new macro
`read_macro` | Read macro source code
`delete_macro` | Delete a user macro
`create_macro_from_template` | Create from predefined template

## Utility Tools

Tool | Description
--- | ---
`undo` | Undo last operation
`redo` | Redo undone operation
`get_undo_redo_status` | Get undo/redo availability
`recompute` | Force recompute all objects
`get_console_log` | Get console log with levels
`list_parts_library` | List parts library
`insert_part_from_library` | Insert part from library

## GUI vs Headless Mode

When running in headless mode, GUI-only tools return structured errors instead of crashing:

    {
      "success": false,
      "error": "GUI not available - screenshots cannot be captured in headless mode"
    }

To check the current mode programmatically:

    result = await execute_python("_result_ = FreeCAD.GuiUp")
    is_gui_mode = result["result"]

## Next Steps

- MCP Tools Reference - Detailed documentation with parameters and examples
- MCP Resources - Query FreeCAD state via MCP resources

2026-01-10
2026-01-06