freecad-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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_documentB | 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_objectC | Edit an object in FreeCAD.
This tool is used when the |
| delete_objectA | Delete an object in FreeCAD. |
| execute_codeB | Execute arbitrary Python code in FreeCAD. |
| get_viewA | 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_listB | 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
Each tool targets a distinct purpose: document creation, object CRUD, viewing, code execution, and parts library operations. The only potential overlap is between create_object and edit_object, but they clearly separate creation from modification.
All tools follow a consistent verb_noun pattern in snake_case (create_document, get_objects, insert_part_from_library). The style is uniform and readable throughout.
With 10 tools, the server covers the core FreeCAD workflows (document, object, view, parts library, code execution) without unnecessary bloat. The count feels right for the scope.
The toolset provides solid coverage for creating, reading, updating, and deleting objects, plus viewing and parts library access. Missing features like save/export are likely handled via execute_code, but there are a few minor gaps in document-level lifecycle management.