openstaad-mcp is an MCP Server enabling AI Agents to interact with STAAD.Pro
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
claude mcp add openstaad-mcp -- uvx --from{
"mcpServers": {
"openstaad-mcp": {
"command": "uvx",
"args": ["--from"]
}
}
}Resumen de MCP Servers
# OpenSTAAD MCP Server
A Model Context Protocol (MCP) server for Bentley [STAAD.Pro](https://www.bentley.com/software/staad/) that **enables AI agents** like Claude Desktop, Gemini, or VSCode Copilot **to interact with your STAAD.Pro models** and perform various time-consuming tasks like load cases definition, data extraction, repetitive property setting and more.
This MCP server was introduced as part of Bentley's [Infrastructure AI Co-Innovation Initiative](https://www.bentley.com/software/infrastructure-ai-co-innovation-initiative/) to help our users and accounts discover opportunities and innovate faster, while connecting Bentley's unique engineering tool capabilities to their emerging agentic workflows.
## Key Features
- **Fast and flexible**: Enjoy minimal latency, interact with every STAAD.Pro features covered by the OpenSTAAD API.
- **AI-friendly**: Provides documentation, guidance and feedback via dedicated tools to help your AI agent ramp up quickly on the STAAD.Pro API.
- **Multi-instance support**: Connects to multiple running STAAD.Pro instances simultaneously to parallelize tasks across models.
- **Privacy-first**: All processing happens locally on your machine. No data is sent to the cloud. No telemetry.
## Prerequisites
- OS: **Windows 11 or newer**
- [STAAD.Pro](https://www.bentley.com/software/staad/) 2025 or newer installed and running
## Quick Start with Claude Desktop (<2min)
1. Download the latest **`openstaad-mcp.mcpb`** file from the [GitHub Releases](https://github.com/BentleySystems/openstaad-mcp/releases) page.
2. Open **Claude Desktop**.
3. Click the **☰ menu** (top-left) → **File** → **Settings** → **Extensions**.
4. Click **Advanced** → **Install Extensions**.
5. Select the downloaded `.mcpb` file.
6. Click the **☰ menu** (top-left) → **File** → **Exit**
7. Restart Claude Desktop.
Claude Desktop will install the server automatically. Open a new conversation and ask Claude to interact with your STAAD.Pro model.
**Tip: Make sure STAAD.Pro is running with a model open before you start chatting.**
---
## Other Clients & Configuration
**TL;DR:**
If not already installed, [install uv](https://docs.astral.sh/uv/getting-started/installation/) with the command:
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
Configure your client to start the server in stdio mode with the command:
```powershell
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
```
### VS Code with GitHub Copilot
- For **stdio**: Open the Command Palette → **MCP: Add Server...** → **Command (stdio)** and enter the following command:
```powershell
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
```
- For **http**: First, start the server in a terminal:
```powershell
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http
```
Look for the generated token and URL in the terminal output. It should look like this:
```
WARNING: No --token provided. Auto-generated token: abc123def456ghi789jkl012mno345pq
INFO: Starting MCP server 'OpenSTAAD MCP' with transport 'http' (stateless) on http://127.0.0.1:18120/mcp
```
Then, in VS Code, open the Command Palette → **MCP: Add Server...** → **HTTP URL** and enter the URL shown in the terminal (e.g. `http://127.0.0.1:18120/mcp`). `18120` is the default port, but yours may differ if you have multiple instances running or if you changed the default. Add the header `Authorization: Bearer <token>` with the token shown in the MCP server terminal.
### GitHub Copilot CLI
Use the `/mcp add` command inside a Copilot CLI session to add the server. See the [Copilot CLI documentation](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) for more details.
- For **stdio** transport, use the command:
```powershell
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
```
- For **HTTP** transport, first start the server in a terminal:
```powershell
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http
```
Look for the generated token and URL in the terminal output. It should look like this:
```
WARNING: No --token provided. Auto-generated token: abc123def456ghi789jkl012mno345pq
INFO: Starting MCP server 'OpenSTAAD MCP' with transport 'http' (stateless) on http://127.0.0.1:18120/mcp
```
Then add the server in Copilot CLI using the URL shown in the terminal (e.g. `http://127.0.0.1:18120/mcp`). `18120` is the default port, but yours may differ if you have multiple instances running or if you changed the default. Add the header `Authorization: Bearer <token>` with the token shown in the MCP server terminal.
### Claude Desktop (manual configuration)
If you prefer manual setup over the `.mcpb` bundle, edit the Claude Desktop
config file directly:
- **Windows (MSIX)**: `%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json`
- **Windows (classic)**: `%APPDATA%\Claude\claude_desktop_config.json`
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
```jsonc
{
"mcpServers": {
"openstaad": {
"command": "uvx",
"args": ["--from", "git+https://github.com/BentleySystems/openstaad-mcp", "openstaad-mcp"]
}
}
}
```
### Claude Code (CLI)
- For **stdio** transport, use the command:
```powershell
claude mcp add --transport stdio openstaad -- uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
```
- For **HTTP** transport, first start the server in a terminal:
```powershell
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http
```
Look for the generated token and URL in the terminal output. It should look like this:
```
WARNING: No --token provided. Auto-generated token: abc123def456ghi789jkl012mno345pq
INFO: Starting MCP server 'OpenSTAAD MCP' with transport 'http' (stateless) on http://127.0.0.1:18120/mcp
```
Then add the server in Claude Code with the command:
```powershell
claude mcp add --transport http openstaad http://127.0.0.1:18120/mcp --header "Authorization: Bearer <your-token>"
```
`18120` is the default port, but yours may differ if you have multiple instances running or if you changed the default.
### Gemini CLI
- For **stdio** transport, use the command:
```powershell
gemini mcp add openstaad uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
```
- For **HTTP** transport, first start the server in a terminal:
```powershell
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http
```
Look for the generated token and URL in the terminal output. It should look like this:
```
WARNING: No --token provided. Auto-generated token: abc123def456ghi789jkl012mno345pq
INFO: Starting MCP server 'OpenSTAAD MCP' with transport 'http' (stateless) on http://127.0.0.1:18120/mcp
```
Then add the server in Gemini CLI with the command:
```powershell
gemini mcp add --transport http --header "Authorization: Bearer <your-token>" openstaad http://127.0.0.1:18120/mcp
```
`18120` is the default port, but yours may differ if you have multiple instances running or if you changed the default.
### Transport Modes
The server supports two transport modes:
| Mode | When to use |
|------|-------------|
| **stdio** (default) | The MCP client launches the server process directly. Used by Claude Desktop, Claude Code, VS Code Copilot (stdio config). |
| **HTTP** | The server runs persistently and clients connect over the network. |
### CLI Options
| Flag | Default | Description |
|------|---------|-------------|
| `--transport {stdio,http}` | `stdio` | Transport mode |
| `--log-level LEVEL` | `INFO` | `DEBUG`, `INFO`, `WARNING`, or `ERROR` |
| `--log-file PATH` | OS default | Path to log file |
| `--port PORT` | `18120` | **[http]** TCP port to listen on |
| `--token TOKEN` | - | **[http]** Bearer token for authentication |
---
## Available MCP Tools
| Tool | Description |
|------|-------------|
| `discover_api` | Lists available API skills and usage guidance |
| `read_skills` | Returns detailed guidance for requested skills |
| `list_instances` | Lists active STAAD.Pro instances with model paths and versions |
| `execute_code` | Runs validated Python code against the connected STAAD.Pro model |
| `get_status` | Returns connection state, STAAD version, model path, analysis status |
### File I/O
The `execute_code` tool supports optional **server-side file I/O** for bulk data workflows.
Instead of passing large datasets through the agent's context window, the server reads/writes
CSV and XLSX files directly and injects the data into the sandbox as the `input_data` variable.
| Parameter | Description |
|-----------|-------------|
| `input_path` | Path to a `.csv` or `.xlsx` file. The server reads and parses it, then injects the data as the immutable `input_data` variable in the sandbox. |
| `output_path` | Path where the sandbox return value will be written. The return value must be a list-of-lists (CSV) or a `{sheet_name: {columns, rows}}` dict (multi-sheet XLSX). |
| `overwrite` | Allow overwriting an existing output file (default `false`). |
**Path containment:** File paths must resolve inside a configured allowed boundary before any read/write occurs.
The server supports both **client-configured MCP roots** and **server-configured allowed directories** (via `--allowed-dirs` or `user_config.allowed_directories` in the manifest).
The server validates paths against these boundaries before any file access.
**Limits:** Max file size 50 MB, max 100K rows, max 500 columns, max 50 input sheets.
## Security Notes
- **Bearer token authentication.** Pass `--token MY_SECRET_TOKEN` when running in HTTP mode and include `Authorization: Bearer <token>Lo que la gente pregunta sobre openstaad-mcp
¿Qué es BentleySystems/openstaad-mcp?
+
BentleySystems/openstaad-mcp es mcp servers para el ecosistema de Claude AI. openstaad-mcp is an MCP Server enabling AI Agents to interact with STAAD.Pro Tiene 29 estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala openstaad-mcp?
+
Puedes instalar openstaad-mcp clonando el repositorio (https://github.com/BentleySystems/openstaad-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar BentleySystems/openstaad-mcp?
+
Nuestro agente de seguridad ha analizado BentleySystems/openstaad-mcp y le ha asignado un Trust Score de 79/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene BentleySystems/openstaad-mcp?
+
BentleySystems/openstaad-mcp es mantenido por BentleySystems. La última actividad registrada en GitHub es de today, con 6 issues abiertos.
¿Hay alternativas a openstaad-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega openstaad-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/bentleysystems-openstaad-mcp)<a href="https://claudewave.com/repo/bentleysystems-openstaad-mcp"><img src="https://claudewave.com/api/badge/bentleysystems-openstaad-mcp" alt="Featured on ClaudeWave: BentleySystems/openstaad-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。