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
Server capabilities have not been inspected yet.
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 distinct purposes, but there is some overlap between create_object and edit_object, as edit_object is described as a fallback for when create_object cannot handle object creation, which could cause confusion. However, other tools like get_object, get_objects, and delete_object are clearly differentiated.
All tool names follow a consistent verb_noun pattern with snake_case, such as create_document, delete_object, get_view, and insert_part_from_library. There are no deviations in naming conventions, making the set predictable and easy to understand.
With 10 tools, the count is well-scoped for a CAD modeling server, covering core operations like document and object management, code execution, view handling, and library access. Each tool appears to serve a specific function without unnecessary redundancy.
The toolset provides good coverage for FreeCAD operations, including create, get, edit, and delete for objects and documents, along with view management and library integration. A minor gap is the lack of a tool to list or manage documents (e.g., list_documents), but agents can work around this using existing tools like get_objects.