https://github.com/GreatApo/FEA-MCP
FEA AI MCP Server (for LUSAS, ETABS etc)
https://github.com/GreatApo/FEA-MCP
Last synced: 2 months ago
JSON representation
FEA AI MCP Server (for LUSAS, ETABS etc)
- Host: GitHub
- URL: https://github.com/GreatApo/FEA-MCP
- Owner: GreatApo
- License: mit
- Created: 2025-04-06T13:36:57.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-04-27T23:15:19.000Z (6 months ago)
- Last Synced: 2025-04-28T00:23:58.485Z (6 months ago)
- Language: Python
- Homepage:
- Size: 755 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - **FEA-MCP** - FEA AI MCP Server (for LUSAS, ETABS etc) `python` `mcp` `server` `ai` `pip install git+https://github.com/GreatApo/FEA-MCP` (🤖 AI/ML)
- awesome-mcp-servers - **FEA-MCP** - FEA AI MCP Server (for LUSAS, ETABS etc) `python` `mcp` `server` `ai` `pip install git+https://github.com/GreatApo/FEA-MCP` (AI/ML)
README

# FEA-MCP Server
An Finite Element Analysis Model Context Protocol Server for AI
## 🚀 Overview
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).
## ✨ Supported Features
- **Multiple Software**: Supports mainstream FEA software including:
- [ETABS](https://www.csiamerica.com/products/etabs)
- [LUSAS](https://www.lusas.com/)
- **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
### 🖥️ MCP Tools
The server provides the following main API functions:
- `get_units`: Returns the model units
- `create_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 frames
- `get_areas`: Returns all the modelled areas
(the following are only available for **LUSAS**)
- `get_lines`: Returns all the modelled lines
- `get_surfaces`: Returns all the modelled surfaces
- `get_volumes`: Returns all the modelled volumes
- `sweep_points`: Sweeps points to create lines
- `sweep_lines`: Sweeps lines to create surfaces
- `sweep_surfaces`: Sweeps surfaces to create volumes
- `select`: Select modelled objects
## 🎯 Future Work
- Model Management: Define materials, sections, loads, and boundary conditions
- Analysis Control: Run simulations and retrieve results
- Coordinate System Support: Work with multiple coordinate systems
## ⚙️ Installation
#### Requirements
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)
#### Guide
1. Install the required python libraries from command line:
```
pip install pywin32 comtypes mcp
//or
pip install -r requirements. txt
```
2. Download this repository and save the extracted files locally (e.g. at ```C:\your_path_to_the_extracted_server\FEA-MCP\```).
3. (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.
4. Install Claude Desktop (or other AI client with MCP support).
5. Configure Claude Desktop to launch the MCP Server automatically (see Claude Desktop section).
6. You are good to go!
#### Configuration
The configuration file is located at `src/config.json` and contains the following main settings:
```json
{
"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)
## 🤖 AI Clients
#### 5ire
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!
#### Claude Desktop
Open Claude Desktop and navigate to `File > Settings > Developer > Edit Config`, edit `claude_desktop_config.json` and add the following JSON.
```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).
#### Visual Studio Code - GitHub Copilot
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](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)).
## 🐞 Bugs
Google's Gemini seems to crash when the `create_objects_by_coordinates` tool is enabled.
## 🐛 Debug
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
```