ABAQUS MCP Server for GUI Scripting▌

by jianzhichun
Control a running Abaqus/CAE GUI via MCP: run Python scripts, fetch message logs, and automate Abaqus GUI scripting for
A server that enables programmatic interaction with an already running Abaqus/CAE GUI application, allowing users to execute Python scripts and retrieve message logs through the Model Context Protocol (MCP).
best for
- / Engineers automating Abaqus workflows
- / CAE analysis automation and scripting
- / Integration with LLM agents for FEA tasks
capabilities
- / Execute Python scripts in Abaqus/CAE GUI
- / Retrieve message logs from Abaqus interface
- / Automate Abaqus menu interactions
- / Control existing Abaqus sessions programmatically
what it does
Controls an already running Abaqus/CAE GUI application through automation, allowing you to execute Python scripts and retrieve message logs via MCP tools.
about
ABAQUS MCP Server for GUI Scripting is a community-built MCP server published by jianzhichun that provides AI assistants with tools and capabilities via the Model Context Protocol. Control a running Abaqus/CAE GUI via MCP: run Python scripts, fetch message logs, and automate Abaqus GUI scripting for It is categorized under developer tools.
how to install
You can install ABAQUS MCP Server for GUI Scripting in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
ABAQUS MCP Server for GUI Scripting is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
English | 中文
ABAQUS MCP Server for GUI Scripting
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.
This server uses GUI automation techniques (pywinauto) to control the Abaqus/CAE application.
Features
- Script Execution in GUI: Executes Python scripts by automating the "File -> Run Script..." menu in an active Abaqus/CAE session.
- Message Log Retrieval: Attempts to scrape text content from the Abaqus/CAE message/log display area.
- MCP Interface: Exposes functionalities as standard MCP tools and prompts for easy integration with LLM agents and other MCP-compatible clients.
- Operates on Existing GUI: Does not start or stop Abaqus/CAE; it requires an Abaqus/CAE session to be already open and running.
System Requirements
- Operating System: Windows (due to
pywinautoand Abaqus GUI interaction). - Python: Python 3.7+.
- Abaqus/CAE: A compatible version of Abaqus/CAE must be installed and already running with its GUI open when using this server.
Python Dependencies
Install the required Python packages using pip:
pip install -r requirements.txt
(See requirements.txt for the list of dependencies, primarily mcp[cli], pywinauto, pygetwindow, psutil, pywin32.)
Configuration
- Ensure Abaqus/CAE is Running: Before starting this MCP server, make sure the Abaqus/CAE application is open on your desktop, with the GUI loaded and responsive.
- Accessibility: Ensure no other modal dialogs are blocking the Abaqus/CAE interface when the server attempts to interact with it.
Usage
Starting the MCP Server
Navigate to the server's directory and run:
python mcp_server.py
The server will start and be ready to accept MCP requests.
MCP Tools Provided
-
execute_script_in_abaqus_gui- Description: Executes a given Python code string within the active Abaqus/CAE GUI session. It automates the 'File -> Run Script...' menu process.
- Argument:
python_code (str): The Python script content (Abaqus Scripting Interface commands) to be executed.
- Returns:
str- A message indicating the outcome of the script submission attempt (e.g., "Script submitted for execution..."). - Important: This tool does not return the direct output or error messages from the script's execution within Abaqus. To see the script's actual outcome, you must use the
get_abaqus_gui_message_logtool after allowing time for the script to run.
-
get_abaqus_gui_message_log- Description: Attempts to retrieve the text content from the Abaqus/CAE message/log area (usually found at the bottom of the main GUI window).
- Arguments: None.
- Returns:
str- The extracted text from the message area, or an error/status message if retrieval fails. - Note: The reliability of this tool depends on accurately identifying the message area UI element. The current implementation uses heuristics. For robust operation in a specific Abaqus environment, you might need to update the server code with specific UI element identifiers (e.g., AutomationId, Name, ClassName) obtained using an inspect tool (see Development/Troubleshooting).
MCP Prompts Provided
abaqus_scripting_strategy- Description: This prompt provides comprehensive guidance on how to best use the server's tools (
execute_script_in_abaqus_guiandget_abaqus_gui_message_log) together effectively. It explains the workflow for script execution and result verification, tool assumptions, and troubleshooting tips. It is highly recommended that LLM agents consult this prompt before attempting to use the tools.
- Description: This prompt provides comprehensive guidance on how to best use the server's tools (
Important Considerations & Limitations
- Requires Running Abaqus GUI: This server only interacts with an Abaqus/CAE session that is already open and has its GUI active and responsive. It cannot start or manage the Abaqus application itself.
- GUI Automation Sensitivity: GUI automation can be sensitive to the Abaqus version, screen resolution, window themes, and minor UI layout changes. While
pywinautoprovides a good level of abstraction, issues can still arise. - Focus and Window State: The Abaqus window should ideally be the active, non-minimized window for the most reliable interaction, although the server attempts to manage focus.
- Modal Dialogs: Unexpected modal dialogs in Abaqus (e.g., save reminders, warnings) can block the automation tools.
- Error Reporting: Differentiate between errors from the MCP tools (e.g., "Abaqus window not found") and errors reported within the Abaqus message log (which originate from your script running inside Abaqus).
Development / Troubleshooting
- Inspecting UI Elements: If the
get_abaqus_gui_message_logtool fails to retrieve messages accurately, or ifexecute_script_in_abaqus_guihas trouble with the "Run Script" dialog, you may need to use a UI inspection tool (e.g.,pywinauto.inspectmodule'sInspectDialogorpy_inspect.pyscript, FlaUInspect for UIA backend) to identify the correct properties (AutomationId, Name, ClassName, ControlType) of the target UI elements in your Abaqus version. These properties can then be used to refine the search logic inmcp_server.py. - Timeouts: The server includes some
time.sleep()calls and usespywinauto'sTimings.slow()to better handle Abaqus's potentially slow UI response times. These might need adjustment in some environments.
Project Structure
abaqus-mcp-gui-server/
├── mcp_server.py # The main MCP server script
├── requirements.txt # Python dependencies
└── README.md # This documentation file
License
This project is intended for learning, research, and specific automation tasks. When using Abaqus software, always adhere to the licensing terms provided by Dassault Systèmes.
FAQ
- What is the ABAQUS MCP Server for GUI Scripting MCP server?
- ABAQUS MCP Server for GUI Scripting is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
- How do MCP servers relate to agent skills?
- Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
- How are reviews shown for ABAQUS MCP Server for GUI Scripting?
- This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
Ratings
4.5★★★★★10 reviews- ★★★★★Shikha Mishra· Oct 10, 2024
ABAQUS MCP Server for GUI Scripting is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
- ★★★★★Piyush G· Sep 9, 2024
We evaluated ABAQUS MCP Server for GUI Scripting against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★Chaitanya Patil· Aug 8, 2024
Useful MCP listing: ABAQUS MCP Server for GUI Scripting is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Sakshi Patil· Jul 7, 2024
ABAQUS MCP Server for GUI Scripting reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Ganesh Mohane· Jun 6, 2024
I recommend ABAQUS MCP Server for GUI Scripting for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★Oshnikdeep· May 5, 2024
Strong directory entry: ABAQUS MCP Server for GUI Scripting surfaces stars and publisher context so we could sanity-check maintenance before adopting.
- ★★★★★Dhruvi Jain· Apr 4, 2024
ABAQUS MCP Server for GUI Scripting has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Rahul Santra· Mar 3, 2024
According to our notes, ABAQUS MCP Server for GUI Scripting benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
- ★★★★★Pratham Ware· Feb 2, 2024
We wired ABAQUS MCP Server for GUI Scripting into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
- ★★★★★Yash Thakker· Jan 1, 2024
ABAQUS MCP Server for GUI Scripting is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.