Abaqus 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., "@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: FreeCAD MCP
๐ 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 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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/MOBAI547800/abaqus-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server