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_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_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_listA | Get the list of parts in the parts library addon. |
| list_documentsA | Get the list of open documents in FreeCAD. |
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 11 tools
Most tools have distinct purposes (create, edit, delete, list, get). The edit_object tool description mentions it is used when create_object cannot handle creation, which could cause slight confusion, but overall each tool's intent is clear.
All tool names follow a consistent verb_noun pattern in snake_case, such as create_object, list_documents, get_view. Pluralization for list/get operations is appropriate and consistent.
With 11 tools covering document management, object CRUD, viewing, parts library, and code execution, the count is well-scoped for a CAD tool server, providing necessary functionality without bloat.
Core CRUD and document operations are covered. Missing are save/close document tools, but arbitrary code execution via execute_code can fill gaps. Overall, the tool surface is reasonably complete for typical CAD workflows.