MCP Macro Tools¶
The MCP server provides tools for working with FreeCAD macros programmatically.
Available Tools¶
list_macros¶
List available macros in FreeCAD's macro directories.
Returns: List of macros with name, path, description, and whether it's a system macro.
run_macro¶
Execute a macro by name with optional arguments.
Example prompt:
create_macro¶
Create a new macro programmatically.
Example prompt:
read_macro¶
Read the source code of an existing macro.
Example prompt:
delete_macro¶
Delete a user macro (system macros are protected).
create_macro_from_template¶
Create a macro from predefined templates.
Available templates:
| Template | Description |
|---|---|
basic | Minimal macro with imports |
part | Part workbench operations |
sketch | Sketcher operations |
gui | GUI/dialog template |
selection | Selection handling template |
Example prompt:
Macro Development with AI¶
The MCP server excels at helping develop FreeCAD macros. Example workflows:
Debugging an Existing Macro¶
Creating a New Macro¶
"Create a macro that:
1. Gets all selected objects
2. Calculates their combined bounding box
3. Creates a box around them with 5mm clearance"
Modifying a Macro¶
Best Practices for Macro Development¶
- Use templates - Start from
create_macro_from_templatefor proper imports - Test incrementally - Use
execute_pythonfor testing snippets before creating full macros - Check console output - Use
get_console_outputto debug issues - Document your macros - Add docstrings that explain parameters and usage
- Handle errors gracefully - Wrap operations in try/except blocks
Next Steps¶
- Tools Reference - Complete API for all MCP tools
- Workbench - Robust MCP Bridge Workbench details