home / mcp / abaqus mcp server

Abaqus MCP Server

An MCP (Model Context Protocol) server designed to interact with an already running Abaqus/CAE Graphical User Interface (GUI). It allows for the execution of Python scripts within the Abaqus environment and retrieval of messages from the Abaqus message log/area, all through MCP tools.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jianzhichun-abaqus-mcp-server": {
      "command": "python",
      "args": [
        "mcp_server.py"
      ]
    }
  }
}

You set up an MCP server that interacts with an already running Abaqus/CAE GUI. It lets you execute Python scripts inside Abaqus and retrieve messages from the Abaqus message log, all through standard MCP tooling. It does not start Abaqus itself; you must have an Abaqus/CAE session open and responsive before using it.

How to use

You use an MCP client to call two built‑in tools against an existing Abaqus GUI session. First, submit a Python script to be executed in the active Abaqus GUI. Then, fetch the Abaqus message log to verify results or capture messages from the run.

Workflow overview: submit your Python script to the running Abaqus session using the execute_script_in_abaqus_gui tool. After allowing time for execution, retrieve any output or notes by calling get_abaqus_gui_message_log to read the GUI’s message area.

How to install

Prerequisites you need before starting the MCP server:

  • Windows operating system (for GUI automation)
  • Python 3.7+
  • Abaqus/CAE installed and currently running with its GUI open

Install Python dependencies using pip. In a terminal, run the following command from the server directory.

pip install -r requirements.txt

Start the MCP server once dependencies are installed. From the server directory, run the following command.

python mcp_server.py

Additional configuration and notes

Important considerations to ensure reliable operation:

  • Ensure Abaqus/CAE is actively running with its GUI visible and responsive before starting the MCP server.
  • Avoid modal dialogs in Abaqus that could block automation.
  • The server relies on GUI element identification which may require adjustments for different Abaqus versions or screen setups.
  • Interpret errors from MCP tools vs errors reported in the Abaqus GUI message log to distinguish between automation issues and script-level problems.

Development and troubleshooting tips focus on UI element identification and timing. If the message retrieval or script execution is unreliable, use a UI inspection tool to verify element properties (AutomationId, Name, ClassName) and fine‑tune the interaction logic.

Tools provided by the MCP server

The server exposes two MCP tools you can call from an MCP client.

Usage of the MCP tools

Execute a Python script inside the active Abaqus GUI session by calling execute_script_in_abaqus_gui with the Python code as input. This tool submits the script for execution but does not return the script’s direct output or errors.

Retrieve messages from the Abaqus GUI by calling get_abaqus_gui_message_log. This tool returns the current text from the message/log area. The reliability depends on correctly identifying the GUI element that hosts the log.

Available tools

execute_script_in_abaqus_gui

Executes a Python code string within the active Abaqus/CAE GUI session by automating the File -> Run Script... workflow. Returns a message indicating the submission status but not the script output.

get_abaqus_gui_message_log

Retrieves the text content from the Abaqus/CAE message/log area in the GUI. Returns the extracted text or an error/status message if retrieval fails.