CATIA V5 MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CATIA V5 MCP ServerCreate a 100x60mm rectangle and extrude it 40mm."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CATIA V5 MCP Server
Connect Claude AI to Dassault Systemes CATIA V5 via the Model Context Protocol (MCP).
The first open-source MCP server for CATIA V5. Drive CATIA V5 CAD modeling from Claude Desktop or Claude Code using natural language.
What it does
This MCP server exposes 50+ tools that let Claude:
Create and manage documents — new Part, Product (assembly), open, save, close
2D Sketching — lines, rectangles, circles, arcs, splines, points, constraints
Part Design — Pad, Pocket, Shaft, Groove, Fillet, Chamfer, Hole, Shell, Draft, Thickness, Patterns (rectangular/circular), Mirror
Assembly — add components, Fix/Coincidence/Offset/Angle constraints, move/rotate
Measurement — distance, inertia, bounding box, parameters
Export — STEP, IGES, STL, 3DXML, VRML, screenshots
View control — set standard views, fit all, capture screenshots
Requirements
Windows (COM automation is Windows-only)
CATIA V5 installed and licensed (R2016+)
Python 3.10+
Claude Desktop or Claude Code
Quick Install (Recommended)
git clone https://github.com/daiemon12/catia-v5-mcp-server.git
cd catia-v5-mcp-server
bash setup.shThe script handles everything: dependencies, Claude Desktop config, and verification.
Manual Installation
1. Clone the repository
git clone https://github.com/daiemon12/catia-v5-mcp-server.git
cd catia-v5-mcp-server2. Install dependencies
pip install -e .Or manually:
pip install mcp pywin323. Configure Claude Desktop
Edit your Claude Desktop config file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the server:
{
"mcpServers": {
"catia-v5": {
"command": "python",
"args": ["-m", "catia_mcp"]
}
}
}Or with an absolute path:
{
"mcpServers": {
"catia-v5": {
"command": "python",
"args": ["C:/path/to/catia-v5-mcp-server/catia_mcp/server.py"]
}
}
}4. For Claude Code
claude mcp add catia-v5 python -- -m catia_mcp5. Start CATIA V5
Make sure CATIA V5 is running before asking Claude to interact with it. The server will automatically connect to the running instance.
If CATIA V5 is not running, the server will attempt to launch it (requires CATIA to be registered as COM server: cnext.exe /regserver).
Usage Examples
Once configured, just talk to Claude:
Create a simple part
"Create a new CATIA part. Draw a 100x60mm rectangle centered at the origin on the XY plane, then extrude it 40mm."
Design a bracket
"Design a mounting bracket: start with a 120x80mm base plate, 5mm thick. Add 4 M6 mounting holes at the corners with 10mm edge distance. Then add two vertical ribs 30mm tall."
Parametric modification
"Show me all parameters of the active part. Then change the pad height to 60mm."
Export for manufacturing
"Export the current part to STEP format at C:/export/bracket.stp and take a screenshot of the isometric view."
Assembly
"Create a new assembly. Add the bracket from C:/parts/bracket.CATPart and the base from C:/parts/base.CATPart. Fix the base, then create a coincidence constraint between the two."
Architecture
catia-v5-mcp-server/
├── catia_mcp/
│ ├── __init__.py
│ ├── __main__.py # python -m catia_mcp entry point
│ ├── server.py # MCP Server — tool registration & routing
│ ├── connection.py # COM connection manager (win32com)
│ └── tools/
│ ├── __init__.py
│ ├── document.py # Document management (9 tools)
│ ├── sketcher.py # 2D Sketch tools (11 tools)
│ ├── part_design.py # 3D Part Design features (15 tools)
│ ├── assembly.py # Assembly/Product tools (9 tools)
│ ├── measurement.py # Measurement & analysis (6 tools)
│ └── export.py # Export & view control (4 tools)
├── pyproject.toml
├── requirements.txt
└── README.mdHow it works
Claude (Desktop/Code)
│
│ stdio (MCP JSON-RPC)
▼
catia_mcp/server.py (MCP Server)
│
│ Tool routing
▼
catia_mcp/tools/*.py (Tool modules)
│
│ win32com.client (COM Automation)
▼
CATIA V5 ApplicationClaude sends MCP tool calls over stdio
The server routes each call to the appropriate tool module
Each tool module uses
win32com.clientto drive CATIA V5 via COMResults (JSON, text) are returned to Claude
Tool Reference
Document Tools (9)
Tool | Description |
| Connect to CATIA V5 |
| Disconnect from CATIA V5 |
| Create a new Part document |
| Create a new Product (assembly) |
| Open an existing document |
| Save / Save As |
| Close active document |
| List all open documents |
| Get detailed info about active document |
Sketcher Tools (11)
Tool | Description |
| Create sketch on XY/YZ/ZX plane |
| Close sketch, return to Part Design |
| Draw a line |
| Draw a rectangle (2 corners) |
| Draw a centered rectangle |
| Draw a circle |
| Draw an arc |
| Draw a spline through points |
| Create a point |
| Add dimensional/geometric constraint |
| List sketch geometry elements |
Part Design Tools (15)
Tool | Description |
| Pad (extrusion) |
| Pocket (cut extrusion) |
| Shaft (revolution) |
| Groove (revolution cut) |
| Fillet (edge rounding) |
| Chamfer (edge bevel) |
| Hole (simple, counterbored, countersunk) |
| Rectangular pattern |
| Circular pattern |
| Mirror about a plane |
| Shell (hollow out) |
| Draft angle |
| Thickness offset |
| List features in body |
| List edges for fillet/chamfer |
Assembly Tools (9)
Tool | Description |
| Add existing part to assembly |
| Create new part in assembly |
| Fix a component in place |
| Coincidence constraint |
| Offset constraint |
| Angle constraint |
| Move/rotate a component |
| List assembly components |
| List assembly constraints |
Measurement Tools (6)
Tool | Description |
| Measure distance between elements |
| Volume, area, mass, center of gravity |
| Bounding box dimensions |
| List all parameters |
| Modify a parameter value |
| Force rebuild |
Export Tools (4)
Tool | Description |
| Export to STEP/IGES/STL/3DXML/VRML |
| Capture 3D view to image |
| Set view orientation |
| Fit all in view |
Troubleshooting
"pywin32 is not installed"
pip install pywin32This server requires Windows. It will not work on macOS or Linux.
"Failed to connect to CATIA V5"
Make sure CATIA V5 is running
Register CATIA as COM server: navigate to
C:\Program Files\Dassault Systemes\B<version>\<os>\code\bin\and runcnext.exe /regserverCheck that no modal dialog is blocking CATIA
"No active document"
Create or open a document first using catia_new_part or catia_open_document.
COM ByRef array limitations
Some measurement methods may not work with late binding. If you encounter issues, try using pycatia as an alternative backend (contribution welcome).
Contributing
This project is open-source. Contributions welcome:
Wireframe & Surface (GSD) tools
Drawing tools (2D drafting)
Knowledgeware (formulas, rules, check)
pycatia backend as alternative to raw win32com
Tests with COM mocking
3DEXPERIENCE CATIA support
License
MIT
Credits
Inspired by:
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/daiemon12/catia-v5-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server