abaqus-mcp-pro

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Professional MCP server suite for Abaqus/CAE — 100+ tools, dual transport, capsule tracking, physics contracts, and skills integration

README.md
License Python Release Abaqus

  ___  ______   ___   _____  _   _  _____  ___  ___ _____ ______  ______ ______  _____ 
 / _ \ | ___ \ / _ \ |  _  || | | |/  ___| |  \/  |/  __ \| ___ \ | ___ \| ___ \|  _  |
/ /_\ \| |_/ // /_\ \| | | || | | |\ `--.  | .  . || /  \/| |_/ / | |_/ /| |_/ /| | | |
|  _  || ___ \|  _  || | | || | | | `--. \ | |\/| || |    |  __/  |  __/ |    / | | | |
| | | || |_/ /| | | |\ \/ /| |_| |/\__/ / | |  | || \__/\| |     | |    | |\ \ \ \_/ /
\_| |_/\____/ \_| |_/ \_/\_\ \___/ \____/  \_|  |_/ \____/\_|     \_|    \_| \_| \___/ 

AI-Native Abaqus Automation -- MCP Server + 3D Viewer + Solver Doctor

English . Chinese


What is it?

ABAQUS MCP Pro connects your AI assistant directly to Abaqus/CAE over a TCP socket bridge.
You describe the simulation task in natural language, and the AI executes it in real time -
building geometry, assigning materials, submitting jobs, diagnosing errors, and visualizing results.

"Create a cantilever beam with a 10 kN tip load, mesh with C3D8R elements, and submit the job."

The AI handles every step through MCP tools, and the model updates live in your Abaqus window.

ABAQUS MCP Pro

ABAQUS MCP Pro - AI-Native Abaqus Automation Workflow


Engineering validation status

2026-09-30: 1.1.0rc2 adds parsed-frame caching and geometry reuse, authenticated task history, friction/plastic contact examples, and project comparison reports. 391 Python and 43 frontend tests pass. Real CAE menu start/stop, GUI job submission/monitoring and ODB access passed on Abaqus 2026. Browser visual/GPU and other Abaqus versions remain unverified. See rc2 evidence and limitations.

Historical baseline: On 2026-09-28, the six reference cases and three-point load scan passed on a real local Abaqus 2026 installation. ODB/VTU numerical comparisons and noGUI kernel/socket checks passed; 379 software tests pass. GUI menu interaction, other Abaqus versions and large-model performance remain unverified. See real validation evidence. See delivery evidence, capabilities and migration, and reference workflow.

Quick Start

# 1. Install
cd viewer
npm ci
npm run build
cd ..
pip install -e .
abaqus-mcp-pro-setup

# 2. Launch Abaqus/CAE, then activate the plugin
#    Plug-ins > ABAQUS MCP Pro > Start MCP Bridge

# 3. Connect your AI client
codex mcp add abaqus-mcp-pro -- python -m abaqus_mcp_pro.server

# 4. Start talking to Abaqus
#    "Create a tensile bar model with steel properties..."

Highlights

Lightning Latency

TCP socket bridge. No file I/O, no polling.

138 MCP Tools

Model . Job . ODB . KPI . Capsule . Contract . Report . Viewport . Doctor

Live in GUI

Geometry, mesh, and results update in your current Abaqus window.

3D Result Viewer

ODB to VTU to Three.js browser visualization. Vite + authenticated Python HTTP service; built assets included in wheels.

Solver Doctor

40+ error patterns auto-diagnosed with fix suggestions + converge advisor.

Local Only

Bridge listens on 127.0.0.1:48152. Data never leaves your machine.

Architecture

System Overview

+------------------+
|  AI Client       |  "Create a steel bracket..."
|  (Codex/Claude)  |
+--------+---------+
         | stdio (MCP)
         v
+------------------+
|  MCP Server      |  server.py - 138 tools, 13 prompts, 74 resources
|  (Python)        |
+--------+---------+
         | TCP :48152
         v
+------------------+
|  GUI Plugin      |  agent.py - runs inside Abaqus/CAE kernel
|  (inside Abaqus) |
+--------+---------+
         | Abaqus Python API
         v
+------------------+
|  Abaqus/CAE      |
|  Kernel          |
+------------------+

3D Viewer Pipeline

+----------+    export_to_vtk.py     +----------+    Three.js     +----------+
|  .odb    |  --------------------> |  .vtu    |  -------------> | Browser  |
|  (Abaqus)|  (element-nodal avg     |  (VTK    |  (vtuparser.js  |  Viewer  |
|          |   + invariant extract)  |   ASCII)  |   + viewer3d)  |  local   |
+----------+                        +----------+                 +----------+
       |                                  |
       |         +----------------+         |
       +-------->|  model.json    |<--------+
                 |  (metadata)    |
                 +----------------+

The exporter (Liujie-SYSU/odb2vtk based) runs inside Abaqus Python, extracts
nodal-averaged field data and stress invariants, and writes standard VTK
Unstructured Grid (.vtu) files. The browser viewer parses these files directly -
no intermediate JSON conversion, no cloud upload.


Browser 3D Result Viewer

2026-10-13 VTU display update: boundary/feature edges are visible by default. Optional mesh edges follow exterior element perimeters without quad triangulation diagonals; shared internal solid faces are removed. Per-fragment scalar mapping offers 12-band, 24-band and continuous contours with an Engineering Spectrum palette. Cinematic tone mapping and the background grid are disabled. Edges follow deformation, body filtering and clipping. High-order cells remain corner-linearized; extrapolation/averaging semantics are unchanged and this is not full Abaqus/CAE postprocessing parity.

The agreed result-sharing direction is ODB → lightweight export → local preflight → optional Miaoda publication → share link. Keep local viewing available and reuse one viewer for local and hosted results. Generic preflight and cloud publication are planned work; the current per-result deployment is not yet a reusable MCP tool. See implementation status and roadmap.

1.1.0rc2 (2026-09-30, local release candidate) defaults static results to the final frame and Mises, adds CPRESS/COPEN/CSHEAR/CSLIP with contact-pair identity, independent mesh-body visibility and contact-output surface filtering. Units are explicitly declared, never inferred. See iteration evidence and remaining gates.

Successful submit_job_no_gui(wait=True) calls automatically export and return viewer.url; submit_job(wait=True) does the same when its ODB is locally accessible. After a nonblocking job completes, call open_result_viewer(odb_path, unit_system). Use view_result=False to disable automatic export. Batch reference verification supports abaqus-mcp-pro-verify --run --viewer; solver acceptance and viewer status are recorded separately.

ODB to VTU to Three.js. One command.

# Start the viewer server
python viewer/serve_viewer.py
# -> http://localhost:8080

Enter an ODB path, click Export from ODB, and inspect results instantly:

The ordinary startup URL opens an empty viewer without loading a sample or historical result. After export, ?task=<task ID> in the address bar identifies that exact result and preserves it on refresh. To open the result in another browser, append the server's startup #token=... fragment. Missing or failed results show an error without falling back to a sample. The top bar shows the source ODB path.

  • Rotate / pan / zoom with direct Trackball controls, no release inertia, synchronized pointer bounds on resize, and redraws only when the camera or display changes. Dragging does not trigger a probe click.
  • Navigation sensitivity - rotation and wheel/zoom sliders in Display Settings apply immediately and persist in this browser. Pointer and wheel samples are processed between render frames so fast input is retained.
  • Field coloring - S, U, PEEQ, RF, E, SDV with Engineering Spectrum by default and a matching legend
  • Total displacement - exporting U includes U_magnitude (U Magnitude), computed as sqrt(U1² + U2² + U3²) in the selected length unit. Re-export older results to add it; use U1/U2/U3 to inspect direction.
  • Deformed shape enabled by default, with configurable scale factor; feature edges are also enabled by default
  • Animation playback across all frames
  • Wireframe overlay toggle
  • Probe/pick - click any element to read field values
  • PBR rendering with RoomEnvironment for realistic lighting
  • Multi-frame support via .vtu per-frame export
  • Export caching - re-export only when ODB or parameters change

From Python (inside Abaqus):

from viewer.export.export_to_vtk import export_odb_to_vtk
export_odb_to_vtk("my_job.odb", output_dir="./vtk_out")
# Produces: model.json, frame_0000.vtu, frame_0001.vtu, ...

From MCP (via AI):

AI: "export_result_mesh for my_job.odb"
-> VTU files exported
-> load in viewer at http://localhost:8080

Export Format

File Format Description
model.json JSON Metadata: element types, field list, frame index, bounds
frame_NNNN.vtu VTK XML ASCII UnstructuredGrid: nodes, elements, cell types, nodal field data

The .vtu files are standard VTK XML format - they open in ParaView, PyVista, F3D,
or any VTK-compatible viewer. No proprietary format lock-in.

Supported Element Types

3D Solid: C3D4, C3D5, C3D6, C3D8/R/I, C3D10/M, C3D15, C3D20/R/H
Shell: S3/R, S4/R, S6, S8/R, S9, STRI3, STRI65
Membrane: M3D3, M3D4/R, M3D6, M3D8/R, M3D9
Beam/Truss: B21, B22, B31/H, B32/H, B33, T2D2/3, T3D2/H/3, R2D2, R3D3/4

Exported Field Variables

Symbol Description Invariants
S Stress tensor Mises, Tresca, Press, Inv3, MaxPrincipal, MidPrincipal, MinPrincipal
U Displacement Magnitude, U1, U2, U3
PEEQ Equivalent plastic strain -
RF Reaction force Magnitude, RF1, RF2, RF3
E Strain tensor 6 components
SDV Solution-dependent variables Per-element SDV values

Tools Reference

Category Tool What it does
Bridge ping Connection health + session status
check_abaqus_connection Human-readable status report
Code run_python Execute arbitrary Python in Abaqus kernel
execute_script Compatibility wrapper (stdout text)
set_workdir Change working directory
Model get_model_info Parts, materials, steps, loads, BCs
check_model_integrity Validate model health and consistency
Job list_jobs All jobs and their status
submit_job Submit and wait for completion
monitor_job_status Tail .sta / .msg diagnostics
diagnose_job Solver Doctor: 40+ error patterns
ODB inspect_odb Frames, variables, sections
get_odb_info Compatibility wrapper
extract_kpis ODB Lens: KPI extraction
export_result_mesh Export ODB to JSON (legacy v1)
export_odb_to_vtk Export ODB to VTU for 3D viewer (Liujie-SYSU/odb2vtk)
Doctor check_silent_failures Detect silent model issues (non-error but wrong)
converge_advice Convergence advisor with ranked fix suggestions
Capsule create_capsule Save experiment state snapshot
list_capsules List saved capsules
load_capsule Load a saved capsule
delete_capsule Delete a saved capsule
compare_capsules Diff two capsules
Contract check_physics_contracts Validate physics contracts
Report generate_report Simulation report (Markdown)
Viewport capture_viewport Screenshot as base64
get_viewport_image Compatibility wrapper

Plus 50+ extended tools for specific Abaqus operations:
create_part_*, create_*material, createsection, createstep,
create
load (force, pressure, gravity, moment, heat flux, shell edge),
create
bc (displacement, velocity, acceleration, temperature, encastre, pinned, symmetry),
create
*_constraint (tie, coupling, rigid body, equation, MPC, embedded region),
create_contact, create_surface, create_set, generate_mesh, seed_part, set_element_type
create_instance, rotate_instance, translate_instance, create_reference_point
... and many more.


Installation

Prerequisites

Requirement Version
Python 3.10+
Abaqus 2024+ (Python 3.10)
AI Client Codex, Claude Desktop, etc.

Install

cd viewer
npm ci
npm run build
cd ..
pip install -e .
abaqus-mcp-pro-setup          # Install GUI plugin into Abaqus

Viewer Dependencies

cd viewer
npm install                    # Three.js + Vite
cd ..
pip install fastapi uvicorn    # Viewer server (optional)

Environment Variables

Variable Default Description
ABAQUS_MCP_HOST 127.0.0.1 TCP host
ABAQUS_MCP_PORT 48152 TCP port
ABAQUS_MCP_TIMEOUT 60 Socket timeout (seconds)
ABAQUS_MCP_MAX_MESSAGE_BYTES 33554432 Max message size
ABAQUS_MCP_PLUGIN_DIR ~/abaqus_plugins Plugin install directory
ABAQUS_MCP_HOME auto-detect File IPC working directory

Modes of Operation

# GUI mode (primary) - launch Abaqus/CAE, activate plugin

# noGUI mode - batch execution
abaqus cae noGUI=scripts/start_abaqus_mcp_pro_agent.py

# File IPC fallback
abaqus cae noGUI=scripts/start_abaqus_mcp_pro_ipc.py

CLI Tools

abaqus-mcp-pro-check     # Check bridge connectivity
abaqus-mcp-pro-doctor    # Full system diagnostics
abaqus-mcp-pro-setup     # Install / update GUI plugin

Python API

from abaqus_mcp_pro.client import AbaqusBridgeClient

client = AbaqusBridgeClient(timeout=60)
result = client.execute(
    "from abaqus import mdb; result = list(mdb.models.keys())"
)
print(result["return_value"])  # ["Model-1", ...]

Project Structure

abaqus-mcp-pro/
+-- src/abaqus_mcp_pro/
|   +-- server.py                 # MCP stdio server
|   +-- tools.py                  # Core + extended MCP tools
|   +-- resources.py              # MCP resources
|   +-- prompts.py                # 13 MCP prompts
|   +-- skills.py                 # 74 skill resources
|   +-- transport.py              # Socket + file IPC
|   +-- solver_diagnosis.py       # Solver Doctor: 40+ patterns
|   +-- convergence_advisor.py    # Convergence fix suggestions
|   +-- silent_failures.py        # Silent failure detection
|   +-- odb_lens.py               # ODB Lens: KPI extraction
|   +-- capsule.py                # Experiment state tracking
|   +-- contracts.py              # Physics contracts
|   +-- report.py                 # Report generation
|   +-- abaqus_tools.py           # Core Abaqus wrappers
|   +-- abaqus_tools_extended.py  # Extended operation wrappers
|   +-- abaqus_docs.py            # Abaqus doc search
|   +-- agent.py                  # Abaqus-side TCP agent
|   +-- gui_plugin.py             # Abaqus/CAE GUI plugin
|   +-- file_ipc_plugin.py        # File IPC fallback
|   +-- client.py                 # TCP client
|   +-- protocol.py               # JSON protocol
|   +-- cli.py                    # CLI entry points
|   +-- pywinauto_tools.py        # Windows GUI automation
+-- viewer/
|   +-- serve_viewer.py           # One-click viewer server
|   +-- viewer_server.py          # legacy viewer launcher
|   +-- cache.py                  # Export cache manager
|   +-- package.json              # Vite + Three.js
|   +-- vite.config.js            # Vite build config
|   +-- index.html                # Viewer entry point
|   +-- src/
|   |   +-- main.js               # V2 viewer entry (Vite)
|   |   +-- viewer3d.js           # Three.js scene
|   |   +-- vtuparser.js          # VTU parser

|   |   +-- loader.js             # Model loading UI
|   |   +-- ui.js                 # UI controls
|   |   +-- odbexport.js          # ODB export trigger
|   |   +-- measure.js            # Measurement tools
|   |   +-- colormaps.js          # Colormaps
|   |   +-- style.css             # Viewer styles
|   +-- export/
|   |   +-- __init__.py
|   |   +-- export_to_vtk.py      # ODB -> VTU (Liujie-SYSU)
|   |   +-- _vtu_mcp_helper.py      # MCP tool template (VTU)
|   +-- dist/                     # Vite build output
|   +-- samples/                  # Sample VTU files
+-- scripts/                      # noGUI launchers
+-- examples/                     # End-to-end scripts
+-- tests/                        # Test suite
+-- docs/                         # MkDocs documentation
+-- dev/                          # Dev utilities
+-- skills/                       # AI skills knowledge base
+-- MechAgent/                    # MechAgent integration
+-- pyproject.toml
+-- CHANGELOG.md
+-- CONTRIBUTING.md
+-- README.md

Troubleshooting

Symptom Fix
WinError 10061 connection refused Start bridge: Plug-ins > ABAQUS MCP Pro > Start MCP Bridge
Connection timeout Start plugin first, then MCP server
Module abaqusGui can only be used... Use Plug-ins menu, not File > Run Script
Model not in GUI abaqus-mcp-pro-check -> verify MainThread
Codex cant see tools codex mcp list -> restart Codex
abaqus-mcp-pro-server not found Reinstall or run abaqus-mcp-pro-doctor
Viewer shows blank page cd viewer && npm install && npx vite build then restart

Credits


MIT License . View License

Made with for the CAE community

Project history and result comparisons (1.1.0rc2)

abaqus-mcp-pro-project history runs
abaqus-mcp-pro-project compare runs/<run-id> --output reports/scan

MCP tools: list_project_runs, compare_project_runs. Reports include JSON, CSV and standalone HTML. Units and KPI selectors must match to compare values; failed cases remain visible and cannot become baselines. The viewer ODB panel also provides authenticated export-task history and diagnostic log tails. See rc2 delivery.

Yorumlar (0)

Sonuc bulunamadi