
OpenSTAAD MCP Server
io.github.BentleySystems由 GitHub 账号 BentleySystems 发布v1.3.0更新于 Oct 24, 2026
MCP server for Bentley STAAD.Pro via the OpenSTAAD API
概览
本地 MCP 服务器,让 AI 助手通过 OpenSTAAD API 读取和修改 Bentley STAAD.Pro 结构模型。
- 可以做什么
- 发现并阅读 STAAD.Pro OpenSTAAD API 的技能说明与使用指引
- 列出正在运行的 STAAD.Pro 实例及其模型路径和版本,查询连接状态、版本与分析状态
- 对已连接的 STAAD.Pro 模型执行经校验的 Python 代码,用于定义荷载工况、设置属性和提取数据
- 将 CSV 或 XLSX 输入文件读入沙箱,并把结果写回 CSV 或多工作表 XLSX 文件
- 适用场景
- 适合希望让助手自动完成 STAAD.Pro 重复性工作的结构工程师,例如荷载工况定义、属性批量设置和数据提取,也可同时处理多个已打开的模型。
- 运行要求
- 需要 Windows 11 或更新版本,并已安装且正在运行 STAAD.Pro 2025 或更新版本,且已打开模型。可通过 Claude Desktop 安装 .mcpb 扩展包,或用 uv/uvx 以 stdio 模式本地运行;HTTP 模式默认监听 18120 端口,需使用 Authorization Bearer 令牌。无需云端账号或 API 密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 OpenSTAAD MCP Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
OpenSTAAD MCP Server
A Model Context Protocol (MCP) server for Bentley STAAD.Pro 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 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 2025 or newer installed and running
Quick Start with Claude Desktop (<2min)
- Download the latest
openstaad-mcp.mcpbfile from the GitHub Releases page. - Open Claude Desktop.
- Click the ☰ menu (top-left) → File → Settings → Extensions.
- Click Advanced → Install Extensions.
- Select the downloaded
.mcpbfile. - Click the ☰ menu (top-left) → File → Exit
- 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 with the command:
Configure your client to start the server in stdio mode with the command:
VS Code with GitHub Copilot
-
For stdio: Open the Command Palette → MCP: Add Server... → Command (stdio) and enter the following command:
-
For http: First, start the server in a terminal:
Look for the generated token and URL in the terminal output. It should look like this:
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).18120is the default port, but yours may differ if you have multiple instances running or if you changed the default. Add the headerAuthorization: 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 for more details.
-
For stdio transport, use the command:
-
For HTTP transport, first start the server in a terminal:
Look for the generated token and URL in the terminal output. It should look like this:
Then add the server in Copilot CLI using the URL shown in the terminal (e.g.
http://127.0.0.1:18120/mcp).18120is the default port, but yours may differ if you have multiple instances running or if you changed the default. Add the headerAuthorization: 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
Claude Code (CLI)
-
For stdio transport, use the command:
-
For HTTP transport, first start the server in a terminal:
Look for the generated token and URL in the terminal output. It should look like this:
Then add the server in Claude Code with the command:
18120is 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:
-
For HTTP transport, first start the server in a terminal:
Look for the generated token and URL in the terminal output. It should look like this:
Then add the server in Gemini CLI with the command:
18120is 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:
CLI Options
Available MCP Tools
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.
input_data has a stable, extension-specific shape:
- CSV: a list of row lists. If a header is detected, it is
input_data[0]and data rows start atinput_data[1:]. - XLSX: a dict:
{sheet_name: {"columns": list, "rows": list_of_rows}}.
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_TOKENwhen running in HTTP mode and includeAuthorization: Bearer <token>in client requests. - DNS rebinding protection. Starlette Middlewares validate
Host,Sec-Fetch-SiteandOriginheaders. - Code sandbox. The
execute_codetool validates all Python code via AST analysis before execution. Imports, file access, and dangerous builtins are blocked.
Privacy Policy
Please find the Bentley Systems privacy policy here.
Contributing
See CONTRIBUTING.md for guidelines on setting up your development environment, branch naming, running tests, and submitting pull requests.
来源:README.md,提交 9910fef
工具
0版本历史
2- v1.3.0最新Oct 1, 2026
- v1.2.0Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分