MCPInstall
mcp-catia_ logo

mcp-catia_

by chenlei-gh 45 stars chenlei-gh/mcp-catia_

CATIA MCP Service A CATIA automation service based on pycatia, providing a REST API interface for remote control and operation of CATIA. Main Features - Document operations (create, open, save) - Geometry operations (points, lines, surfaces) - Sketch and feature operations - Assembly operations - Measurement and analysis - Engineering drawing operations

READMEmain

CATIA MCP Service

🔧 CATIA MCP

CATIA Automation REST API · Powered by pycatia


Python CATIA License Swagger


🌐 English | 中文


🇬🇧 English

Comprehensive CATIA automation REST API built on pycatia. Features modular modeling, AI-driven design, JWT auth, Swagger docs, and async task processing.


⚡ Quick Start

# Clone & install
git clone https://github.com/chenlei-gh/mcp-catia.git
cd mcp-catia
pip install -r requirements.txt

# Run
python -m catia_mcp_service.app

Service URL: http://localhost:5000
Swagger Docs: http://localhost:5000/api/docs


🎯 Core Features

🎨 Modeling

  • Sketch creation (lines, circles, rectangles, splines)
  • 3D features: Pad, Pocket, Revolution, Hole, Rib, Shell
  • Advanced: Draft, Sweep, Loft, Pattern

🔧 Assembly & Parameters

  • Component positioning and constraints
  • Read/write parameters, relations
  • Batch parameter updates

🤖 AI & Automation

  • Natural language → CATIA models
  • Smart templates (flange, gear, standard parts)
  • Knowledge-driven modeling

⚙️ System

  • JWT token authentication
  • Role-based access control
  • Async task queue
  • Swagger/OpenAPI documentation
  • Multi-language support (EN/ZH)

📡 API Endpoints

CategoryEndpointDescription
ConnectionPOST /api/connectConnect to CATIA
DocumentPOST /api/documentCreate/open/save/close
SketchPOST /api/sketchCreate sketch, add geometry
3D FeaturePOST /api/feature3dPad, pocket, hole, etc.
AssemblyPOST /api/assemblyAdd parts, constraints
TemplatePOST /api/templateSmart parametric models
AIPOST /api/ai/modelingNatural language modeling
MeasurePOST /api/measureDistance, angle, mass
ExportPOST /api/image/captureScreenshot, STL, STEP
SystemGET /api/systemSystem information

Full API documentation available at /api/docs after startup.


🐍 Examples

Basic: Create and extrude a circle

import requests
from requests.auth import HTTPBasicAuth

BASE = "http://localhost:5000"
auth = HTTPBasicAuth("admin", "admin")

# Connect
requests.post(f"{BASE}/api/connect", auth=auth)

# Create part
requests.post(f"{BASE}/api/document",
    json={"operation": "create", "doc_type": "Part"}, 
    auth=auth)

# Sketch
requests.post(f"{BASE}/api/sketch",
    json={"operation": "create", "plane": "xy"}, 
    auth=auth)

# Circle
requests.post(f"{BASE}/api/sketch",
    json={
        "operation": "add_circle",
        "center": [0, 0],
        "radius": 50
    }, auth=auth)

# Pad
requests.post(f"{BASE}/api/feature3d",
    json={"operation": "pad", "length": 20}, 
    auth=auth)

Smart template: One-line flange

requests.post(f"{BASE}/api/template/flange", 
    json={
        "outer_diameter": 100,
        "inner_diameter": 50,
        "thickness": 10,
        "hole_count": 8,
        "hole_diameter": 10,
        "hole_circle_diameter": 80
    }, auth=auth)

AI: Natural language modeling

requests.post(f"{BASE}/api/ai/modeling",
    json={
        "prompt": "Create a 100x50mm plate with 4 corner holes, diameter 10mm"
    }, auth=auth)

🏗️ Project Structure

mcp-catia/
├── catia_mcp_service/
│   ├── app.py               # Main entry
│   ├── service.py           # CATIA core
│   ├── features/            # Feature modules
│   │   ├── sketch.py
│   │   ├── feature3d.py
│   │   ├── assembly.py
│   │   ├── template.py
│   │   └── ai_suggester.py
│   ├── permissions.py       # JWT auth
│   ├── schemas.py           # Validation
│   └── swagger.py           # API docs
├── examples/
├── tests/
└── requirements.txt

📦 Requirements

  • Python: 3.8+
  • CATIA: V5 or V6
  • pycatia: 0.8.2+

See requirements.txt for full dependencies.


🌐 中文


🇨🇳 中文

基于 pycatia 的 CATIA 自动化 REST API 服务。支持模块化建模、AI 驱动设计、JWT 鉴权、Swagger 文档和异步任务处理。


⚡ 快速开始

# 克隆并安装
git clone https://github.com/chenlei-gh/mcp-catia.git
cd mcp-catia
pip install -r requirements.txt

# 运行
python -m catia_mcp_service.app

服务地址: http://localhost:5000
文档地址: http://localhost:5000/api/docs


🎯 核心功能

🎨 建模

  • 草图创建(直线、圆、矩形、样条线)
  • 三维特征:拉伸、挖槽、旋转、孔、肋、壳
  • 高级特征:拔模、扫掠、放样、阵列

🔧 装配与参数

  • 组件定位和约束
  • 参数读写、关系式
  • 批量参数更新

🤖 AI 与自动化

  • 自然语言 → CATIA 模型
  • 智能模板(法兰、齿轮、标准件)
  • 知识驱动建模

⚙️ 系统

  • JWT Token 认证
  • 基于角色的权限控制
  • 异步任务队列
  • Swagger/OpenAPI 文档
  • 多语言支持(中英文)

📡 API 端点

分类端点说明
连接POST /api/connect连接 CATIA
文档POST /api/document创建/打开/保存/关闭
草图POST /api/sketch创建草图、添加几何
三维特征POST /api/feature3d拉伸、挖槽、孔等
装配POST /api/assembly添加零件、约束
模板POST /api/template智能参数化模型
AIPOST /api/ai/modeling自然语言建模
测量POST /api/measure距离、角度、质量
导出POST /api/image/capture截图、STL、STEP
系统GET /api/system系统信息

完整 API 文档见启动后的 /api/docs。


🐍 示例

基础:创建并拉伸圆

import requests
from requests.auth import HTTPBasicAuth

BASE = "http://localhost:5000"
auth = HTTPBasicAuth("admin", "admin")

# 连接
requests.post(f"{BASE}/api/connect", auth=auth)

# 创建零件
requests.post(f"{BASE}/api/document",
    json={"operation": "create", "doc_type": "Part"}, 
    auth=auth)

# 草图
requests.post(f"{BASE}/api/sketch",
    json={"operation": "create", "plane": "xy"}, 
    auth=auth)

# 圆
requests.post(f"{BASE}/api/sketch",
    json={
        "operation": "add_circle",
        "center": [0, 0],
        "radius": 50
    }, auth=auth)

# 拉伸
requests.post(f"{BASE}/api/feature3d",
    json={"operation": "pad", "length": 20}, 
    auth=auth)

智能模板:一行法兰

requests.post(f"{BASE}/api/template/flange", 
    json={
        "outer_diameter": 100,
        "inner_diameter": 50,
        "thickness": 10,
        "hole_count": 8,
        "hole_diameter": 10,
        "hole_circle_diameter": 80
    }, auth=auth)

AI:自然语言建模

requests.post(f"{BASE}/api/ai/modeling",
    json={
        "prompt": "创建一块 100x50mm 的板,四角各有直径 10mm 的孔"
    }, auth=auth)

📦 依赖

  • Python: 3.8+
  • CATIA: V5 或 V6
  • pycatia: 0.8.2+

完整依赖列表见 requirements.txt。


🇬🇧 English


📜 License

MIT — see LICENSE


Issues · Examples · Tests

More Design Tool MCP servers

Similar servers from the same category.

🤖 A Model Context Protocol server for generating charts using @antvis.

TextModel+1

SlideSpeak

slidespeak

Generate presentations using the SlideSpeak API.

APIPresentation+2

Generate images using Amazon Nova Canvas.

text

Bridges to 21st.dev's Magic API for generating UI components from descriptions, fetching existing components for inspiration, and searching for company logos in various formats.

search