catia
Provides natural-language-driven automation for CATIA V5, enabling native parametric CATPart/CATProduct creation through sketches, pads, shafts, holes, fillets, patterns, assemblies, and validation workflows.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
catia-ai — Local AI-Driven CATIA V5 Automation
Native parametric CATPart / CATProduct generation from natural language via a semantic IR → CATIA Automation pipeline. No meshes, no renamed STEP.
USER → AI Planner → CAD MCP Server → Orchestration (Executor / Tx / Recovery) → CATIA V5
→ native Sketches / Pads / Shafts / Holes / Fillets / Patterns
→ save → reopen → update → validatePrerequisites
Requirement | Detail |
OS | Windows 10/11 64-bit for native CATPart (Linux/macOS run in mock/offline mode) |
CATIA | Dassault Systèmes CATIA V5 R28–R32, legitimately licensed (DSLS / LUM) |
License | Valid CATIA MD2 / HD2 / PLM Express etc. – system never bypasses licensing |
Python | 3.10+ (3.12 tested) |
pywin32 |
|
Node | 18+ for MCP clients (OpenCode, Claude Code) |
Linux (this machine: Mint 22.2, i5-13420H, 16 GB, RTX 3050): CATIA V5 does not run natively. The system detects this, logs it, and continues in mock/offline mode – the full AI→MCP→orchestration→validation pipeline is proven, files are written as text+JSON sidecars (
*.CATPart.mock.json). On Windows with a licensed CATIA, the same code drives realCATIA.Applicationand writes binary native CATParts.
Related MCP server: SolidWorks MCP Server
Quick Start
git clone https://github.com/kVeyra/catia-ai
cd catia-ai
pip install -r requirements.txt # or pip install -e .
# Windows: pip install pywin32
# 1. Inspect environment
python scripts/detect_catia.py
catia-ai --inspect # same via CLI
# 2. Milestone 1 – block
catia-ai "Create a 100 x 50 x 20 mm rectangular block."
# → output/Block_100x50x20.CATPart
# 3. Shaft (acceptance test)
catia-ai "Create a parametric shaft with: diameter 50 mm, length 300 mm, central bore 20 mm, four mounting holes, and 5 mm fillets."
# 4. Radial engine
catia-ai "Create a 9-cylinder radial engine with 90 mm bore, 100 mm stroke, master connecting rod, 8 articulating rods, cylinders arranged radially around the crankshaft, parametric cooling fins, pistons, crankshaft, and assemble everything."
# 5. Mock tests (work on Linux)
pytest -q.prt vs .CATPart
.prt is not CATIA V5 native (it belongs to Creo/UG). CATIA V5's native part format is .CATPart and assembly is .CATProduct. If you request .prt, the system explains this and saves .CATPart, optionally exporting STEP/IGES via export_step if CATIA is present. It never renames another format to .CATPart.
MCP Configuration
OpenCode (opencode.json)
{
"mcpServers": {
"catia": {
"command": "python",
"args": ["src/mcp/server.py"],
"cwd": "/path/to/catia-ai"
}
}
}Claude Code (.mcp.json)
{
"mcpServers": {
"catia": {
"command": "python",
"args": ["-m", "src.mcp.server"],
"cwd": "/path/to/catia-ai"
}
}
}Test: in your MCP client, call inspect_environment then plan_and_execute with a prompt.
AI Provider (local, no cloud required)
# Rule-based offline (default – no LLM needed)
export CATIA_AI_PROVIDER=local
# Ollama
export CATIA_AI_PROVIDER=ollama
export OLLAMA_URL=http://localhost:11434
export OLLAMA_MODEL=llama3
# LM Studio / any OpenAI-compatible
export CATIA_AI_PROVIDER=openai
export OPENAI_BASE_URL=http://localhost:1234/v1
export OPENAI_API_KEY=lm-studioThe planner has a deterministic rule path so the system works without any LLM.
Project Structure
catia-ai/
├── src/agent/ # planner, specification (semantic IR), reasoning (AI provider)
├── src/catia/ # connection, documents, parameters, sketches, features, assemblies, validation
├── src/orchestration/ # executor, transactions, recovery
├── src/mcp/ # server.py + tools
├── src/knowledge/ # mechanical components/features/assemblies library
├── src/validation/ # geometry & assembly checks
├── scripts/ # detect_catia, test_connection, test_part_creation
├── examples/ # simple_box, shaft, radial_engine.json, conveyor.json
├── tests/ # pytest suite (mock-capable)
├── output/ # CATPart/CATProduct output
└── logs/Architecture
See ARCHITECTURE.md · API.md · DEVELOPMENT.md · TROUBLESHOOTING.md
Milestones
Block 100×50×20 – Sketch+Pad, params, save/reopen/update ✅ (mock proven)
Cylinder – diameter/height params, Shaft/Pad, regenerate ✅
Gear – teeth/module/pressure angle ✅ (placeholder involute)
Multi-part assembly – CATProduct, instances, constraints ✅
Radial engine – 9 cylinders, crankshaft, rods, fins, CATProduct ✅
Acceptance shaft 50×300 bore 20 + holes/fillets ✅
Safety / License Boundary
Never bypasses CATIA licensing, activation, DRM, or license servers.
If no license is available, reports it and stops at the boundary (mock mode for development).
Generated models are geometrically valid but not certified engineering – require qualified review and simulation.
Known Limitations
Linux: mock files are not binary CATPart; open in CATIA on Windows for full editability.
Involute gear uses placeholder cylinder (true law curve needs CAA or GSD).
Fillet recovery tries 10→5→2→1 mm; complex topology may still need manual repair.
CAA C++ not bundled – Automation API covers most Part Design features.
License
MIT – see LICENSE
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
MCP-Native LLM Orchestration Agent
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Build and update complete applications in Apper through AI assistants using MCP.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceConnect Claude AI to Dassault Systemes CATIA V5 via the Model Context Protocol (MCP). Drive CATIA V5 CAD modeling from Claude Desktop or Claude Code using natural language.154MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language control of SolidWorks 2024 through MCP, providing 87 tools for sketch, drawing, and model operations with an intelligent COM bridge that handles parameter limits.113 npm18MIT
- AlicenseBqualityDmaintenanceAn MCP server for parametric part modeling in Onshape, producing fully-defined, variable-driven sketches and features. It enables LLMs to create editable CAD models using semantic selection and geometrically grounded constraints.331MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI models to automate SolidWorks CAD at the feature level through MCP, including building parts from DXF/DWG drawings and reproducing existing parts via a deterministic compiler.1AGPL 3.0