Skip to main content
ClaudeWave

openstaad-mcp is an MCP Server enabling AI Agents to interact with STAAD.Pro

MCP ServersRegistry oficial29 estrellas6 forksPythonMITActualizado today
ClaudeWave Trust Score
79/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
Last scanned: 6/11/2026
Install in Claude Code / Claude Desktop
Method: UVX (Python) · --from
Claude Code CLI
claude mcp add openstaad-mcp -- uvx --from
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "openstaad-mcp": {
      "command": "uvx",
      "args": ["--from"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

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.

Featured on ClaudeWave: BentleySystems/openstaad-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/bentleysystems-openstaad-mcp)](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

Alternativas a openstaad-mcp