AnkusDrive — Claude Code MCP server: setup
AnkusDrive lets an agent operate FreeCAD through its Python API, from CAD parts and drawings to FEM analysis.
claude mcp add --env ANKUSDRIVE_FREECADCMD=<ANKUSDRIVE_FREECADCMD> --transport stdio ankusdrive -- uvx ankusdriveWhat AnkusDrive does
AnkusDrive exposes FreeCAD through a CLI and an MCP server. Its structured tools can create documents and primitives, build model features, apply boolean operations, and run iterative FEM work. The package also includes commands such as ankusdrive run, ankusdrive box, ankusdrive ping, and ankusdrive doctor.
The server starts freecadcmd as a subprocess, so FreeCAD 1.1.x must be installed separately. AnkusDrive can find the binary through PATH or use ANKUSDRIVE_FREECADCMD. Host-side rendering uses Pillow and numpy. PDF/SVG drawing export needs reportlab and svglib in FreeCAD’s bundled Python; without FreeCAD, there is no worker for the server to launch.
What it helps with
- build a mechanical part in FreeCAD
- inspect a model through MCP tools
- run FEM analysis and read stress fields
- export a drawing as PDF or SVG
Example prompts for the agent
- Create a FreeCAD housing with these dimensions and save it as
part.FCStd. - Inspect the current model, add a primitive, and apply a boolean operation.
- Run FEM analysis on this part and report the stress and displacement results.
How to install AnkusDrive
Platform CLI
claude mcp add --env ANKUSDRIVE_FREECADCMD=<ANKUSDRIVE_FREECADCMD> --transport stdio ankusdrive -- uvx ankusdriveReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ankusdrive <command>
Platform CLI
codex mcp add ankusdrive --env ANKUSDRIVE_FREECADCMD=<ANKUSDRIVE_FREECADCMD> -- uvx ankusdriveReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ankusdrive <command>
Config file
{
"mcpServers": {
"ankusdrive": {
"command": "uvx",
"args": [
"ankusdrive"
],
"env": {
"ANKUSDRIVE_FREECADCMD": "<ANKUSDRIVE_FREECADCMD>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ankusdrive <command>
Config file
{
"servers": {
"ankusdrive": {
"type": "stdio",
"command": "uvx",
"args": [
"ankusdrive"
],
"env": {
"ANKUSDRIVE_FREECADCMD": "<ANKUSDRIVE_FREECADCMD>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ankusdrive <command>
Platform CLI
gemini mcp add -e ANKUSDRIVE_FREECADCMD=<ANKUSDRIVE_FREECADCMD> ankusdrive uvx ankusdriveReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ankusdrive <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about AnkusDrive
How do I install AnkusDrive in Claude Code?
Run claude mcp add ankusdrive -- uvx ankusdrive. Install FreeCAD 1.1.x separately before starting the server.
What does AnkusDrive do?
It gives an agent CLI and MCP tools for operating FreeCAD through its Python API, creating CAD models, and running FEM analyses.
What is required for PDF and SVG drawing export?
Install reportlab and svglib in FreeCAD’s bundled Python. DXF export does not use these packages.