Abaqus MCP Server
Click on "Deploy 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., "@Abaqus MCP Servergenerate a cantilever beam model and submit it"
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.
Abaqus MCP Server
A local stdio MCP server that enables Claude Code to interact with Abaqus FEM software β model generation, job submission, log monitoring, and result extraction from ODB files.
π Ideal for simulation automation, parametric studies, post-processing pipelines, and teaching FEM scripting through natural language.
β¨ Features
11 MCP tools covering the full Abaqus workflow β from script generation to result extraction
Workspace sandboxing β all file operations are scoped to a configurable directory
ODB extraction via generated Abaqus Python scripts (no direct binary parsing β uses
odbAccess)Security-first β no arbitrary shell execution, path traversal blocked, confirmation required for destructive operations
Windows support β correctly handles Abaqus
.batfile execution viacmd.exe /c callOutput truncation β prevents token blowout in LLM context windows
85 tests across unit, mocked integration, and MCP protocol layers
Related MCP server: ansys-mcp-server
π Requirements
Python 3.10+
Abaqus (tested with Abaqus 2025; the
abaquscommand must be available)The
mcpPython SDK (β₯1.28.0) is installed automatically as a dependency
π Quick Start
# Clone the repository
git clone https://github.com/YOUR_USERNAME/abaqus-mcp-server.git
cd abaqus-mcp-server
# Install in editable mode with dev dependencies
pip install -e ".[dev]"
# Copy and edit environment config (optional)
copy .env.example .env
# Run the server
abaqus-mcp serveπ Claude Desktop Integration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"abaqus": {
"type": "stdio",
"command": "python",
"args": ["-m", "abaqus_mcp_server.cli", "serve"],
"env": {
"ABAQUS_COMMAND": "abaqus",
"ABAQUS_MCP_WORKSPACE_DIR": "./abaqus_work"
},
"timeout": 600000
}
}
}Or with Claude Code, add to your project's .mcp.json:
{
"mcpServers": {
"abaqus": {
"type": "stdio",
"command": "python",
"args": ["-m", "abaqus_mcp_server.cli", "serve"],
"env": {
"ABAQUS_COMMAND": "D:\\SIMULIA\\Commands\\abaqus.bat",
"ABAQUS_MCP_WORKSPACE_DIR": "${CLAUDE_PROJECT_DIR:-.}/abaqus_work"
}
}
}
}βοΈ Configuration
All settings via environment variables (prefix ABAQUS_MCP_):
Variable | Default | Description |
| auto-detect | Path to Abaqus launcher ( |
|
| Workspace root directory |
|
| Maximum CPUs per job |
|
| Script execution timeout (seconds) |
|
| Job execution timeout (seconds) |
|
| Max chars in a single tool output |
|
| Allow overwriting existing files |
|
| Server-side logging level |
π οΈ Tools
Tool | Description | Confirm? |
| Verify Abaqus installation, Python paths, and workspace status | |
| Create or validate workspace directory structure | |
| Generate Abaqus Python modeling scripts (cantilever, static, modal, contact) | |
| Execute Python scripts via | |
| Submit an | β |
| Check job progress from | |
| Read | |
| Extract ODB metadata β steps, frames, instances, field outputs | |
| Extract field output (S, U, E, PEEQ, RF, etc.) as CSV with statistics | |
| Extract history output (ALLIE, ALLSE, RF, etc.) as time-value CSV | |
| Remove intermediate files, preserving | β |
ποΈ Architecture
src/abaqus_mcp_server/
βββ app.py # FastMCP singleton β all tools register here
βββ cli.py # argparse entry point
βββ config.py # pydantic Settings (ABAQUS_MCP_ prefix)
βββ security.py # Workspace sandboxing & path validation
βββ abaqus_cli.py # Abaqus subprocess abstraction (all calls go here)
βββ log_parser.py # .sta/.msg/.dat parsers
βββ odb_script_templates.py # Generate Abaqus Python scripts for ODB extraction
βββ constants.py # Status strings, file extensions, error keywords
βββ tools/ # 11 MCP tool implementations (one per file)Key Design Decisions
FastMCP β high-level MCP SDK with auto-generated JSON schemas from type annotations
ODB extraction via generated scripts β the server generates temporary Python scripts that run under
abaqus python(which hasodbAccess); system Python cannot importodbAccessWindows subprocess β Abaqus
.batfiles requirecmd.exe /c "call abaqus.bat ..."(noshell=True)Workspace sandboxing β
security.validate_path()enforces all file ops stay within the workspaceConfirmation gates β destructive tools require
confirmed=Trueas an explicit user gate
π Security
All file paths are validated against the workspace directory
Path traversal (
../../) is blockedDangerous shell characters (
;,|,&,`,$, etc.) are rejectedsubmit_job,run_script, andclean_jobrequire explicitconfirmed=TrueNo arbitrary shell execution β all Abaqus calls use explicit argument lists
Output is truncated to
ABAQUS_MCP_MAX_OUTPUT_CHARSto prevent context overflow
π§ͺ Testing
# Run all tests
python -m pytest tests/ -v
# Run a specific area
python -m pytest tests/test_security.py -v
# Run with coverage
python -m pytest tests/ --cov=abaqus_mcp_server --cov-report=htmlTest Layers
Layer | What | Requires Abaqus |
Unit | security, config, log parsers | No |
Mocked integration | AbaqusCLI, ODB extraction | No |
MCP protocol | Server subprocess, tool listing | No |
Live integration | Real Abaqus calls | Yes |
π Example: Cantilever Beam
examples/simple_beam/ contains a complete cantilever beam analysis:
beam.inpβ linear elastic beam with C3D8 elementsAsk Claude Code: "Submit the beam.inp and extract the maximum Mises stress"
The server will: validate the workspace β submit the job β check status β extract ODB summary β extract field output.
π Troubleshooting
Abaqus not found
Set ABAQUS_COMMAND to the full path:
set ABAQUS_COMMAND=D:\SIMULIA\Commands\abaqus.batODB extraction fails
The
.odbfile may be locked (job still running) β check withjob_statusfirstAbaqus Python must be able to read the workspace directory
The generated temp scripts run under
abaqus python, not system Python
Path traversal errors
All file paths must be relative to ABAQUS_MCP_WORKSPACE_DIR.
π€ Contributing
Contributions are welcome! See CONTRIBUTING.md for development setup, project structure, and guidelines.
π License
MIT β see LICENSE for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
Run UX research from Claude β create card sort studies, list studies, pull headline stats.
Read, edit, publish, and preview your pepita websites from Claude.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables Claude Desktop to control FreeCAD for 3D CAD modeling, including creating, editing, and deleting objects, executing Python code, and running FEM analyses.14MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude Code to control Ansys engineering simulations (CFD, FEA, meshing, post-processing) through natural language commands via PyAnsys.9MIT
- AlicenseNot gradedqualityBmaintenanceA secure local STDIO MCP server that lets OpenAI Codex automate Abaqus FEM workflows: create model scripts, submit jobs, monitor solver logs, and extract ODB results.MIT
- FlicenseNot gradedqualityCmaintenanceEnables an AI assistant to drive Abaqus/CAE through file IPCβsending Python commands, querying model info, submiting jobs, and capturing viewport screenshotsβso finite element models can be built and solved without manual GUI interaction.2-