FreeCAD MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ONLY_TEXT_FEEDBACK | No | Set to 'true' to enable only text feedback (disables image feedback). Corresponds to --only-text-feedback flag. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_documentA | Create a new document in FreeCAD. |
| create_objectA | Create a new object in FreeCAD. Object type is starts with "Part::" or "Draft::" or "PartDesign::" or "Fem::". |
| edit_objectB | Edit an object in FreeCAD.
This tool is used when the |
| delete_objectA | Delete an object in FreeCAD. |
| execute_codeA | Execute arbitrary Python code in FreeCAD. |
| get_viewC | Get a screenshot of the active view. |
| insert_part_from_libraryB | Insert a part from the parts library addon. |
| get_objectsA | Get all objects in a document. You can use this tool to get the objects in a document to see what you can check or edit. |
| get_objectA | Get an object from a document. You can use this tool to get the properties of an object to see what you can check or edit. |
| get_parts_listA | Get the list of parts in the parts library addon. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| asset_creation_strategy |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes, but edit_object's description confusingly states it is used when create_object cannot handle creation, blurring the boundary between creation and editing. Otherwise tools are well-separated.
All tools follow a consistent snake_case verb_noun pattern (e.g., create_document, get_objects, delete_object), making the set predictable and easy to navigate.
With 10 tools, the server is well-scoped for a CAD assistant, covering essential operations without overwhelming the user. The count matches the domain well.
Core workflows (document and object lifecycle, code execution, viewing) are covered, but some gaps exist like saving/exporting documents or sketch constraints. However, execute_code can extend functionality.