An Finite Element Analysis Model Context Protocol Server for AI
The FEA-MCP Server provides a unified API interface for interacting with various Finite Element Analysis (FEA) software packages. It enables AI control of FEA modelling, analysis, and post-processing through a consistent interface, regardless of the underlying software implementation (currently ETABS and LUSAS are supported).
- Multiple Software: Supports mainstream FEA software including:
- Geometric Modelling:
- Create Point/Joint
- Create Line/Frame/Beam/Column
- Create Volume/Solid
- Sweep Points/Lines/Surfaces (LUSAS only)
- Get modelled Points/Lines/Surfaces/Volumes
- Select objects (LUSAS only)
- Other:
- Read model units
The server provides the following main API functions:
get_units: Returns the model unitscreate_objects_by_coordinates: Batch-creates various geometric objects (points, lines/frames, surfaces/areas, volumes/solids)get_all_geometries: Returns all the modelled geometric objects (points, lines/frames, surfaces/areas, volumes/solids)get_points: Returns all the modelled points
(the following are only available for ETABS)
get_frames: Returns all the modelled framesget_areas: Returns all the modelled areas
(the following are only available for LUSAS)
get_lines: Returns all the modelled linesget_surfaces: Returns all the modelled surfacesget_volumes: Returns all the modelled volumessweep_points: Sweeps points to create linessweep_lines: Sweeps lines to create surfacessweep_surfaces: Sweeps surfaces to create volumesselect: Select modelled objects
- Model Management: Define materials, sections, loads, and boundary conditions
- Analysis Control: Run simulations and retrieve results
- Coordinate System Support: Work with multiple coordinate systems
Required python libraries:
pywin32>=228 # Windows COM interface support
comtypes>=1.4.0 # Windows COM interface support
mcp>=0.1.0 # Model Control Protocol library
System Requirements:
- Windows operating system
- Installed FEA software (ETABS, LUSAS)
-
Install the required python libraries from command line:
pip install pywin32 comtypes mcp //or pip install -r requirements. txt -
Download this repository and save the extracted files locally (e.g. at
C:\your_path_to_the_extracted_server\FEA-MCP\). -
(Optional) Edit the MCP server configuration file, located at
src/config.json(see configuration section). By default the server is set to use LUSAS v21.1. -
Install Claude Desktop (or other AI client with MCP support).
-
Configure Claude Desktop to launch the MCP Server automatically (see Claude Desktop section).
-
You are good to go!
The configuration file is located at src/config.json and contains the following main settings:
{
"server": {
"name": "FEA MCP",
"version": "1.0.0"
},
"fea": {
"software": "LUSAS",
"version": "21.1"
}
}- server: Server name and version information
- fea:
software: FEA software (ETABS, LUSAS)version: software version (e.g. 21.1 for LUSAS)
Open 5ire > Tools > New, input the following info and then click Save:
| Input | Value |
|---|---|
| Tool Key | fea |
| Description | Finite Elements Analysis connection server (ETABS, LUSAS) |
| Command | python C:\your_path_to_the_extracted_server\FEA-MCP\src\server.py |
Caution: update the path! (single slashes)
Then turn on the server and you are good to go!
Open Claude Desktop and navigate to File > Settings > Developer > Edit Config, edit claude_desktop_config.json and add the following JSON.
{
"mcpServers": {
"fea": {
"command": "python",
"args": [
"C:\\your_path_to_the_extracted_server\\FEA-MCP\\src\\server.py"
]
}
}
}Caution: update the path and use double backslash! Then restart Claude Desktop (from the tray icon, right click > Quit).
The MCP server is already setup in .vscode\mcp.json. Open the repository folder in visual studio, select .vscode\mcp.json and click "Start" above the server name (more info here).
Google's Gemini seems to crash when the create_objects_by_coordinates tool is enabled.
You can test and debug the MCP server using the MCP Inspector by running the following command:
npx @modelcontextprotocol/inspector mcp run src\server.py