关于 OpenSTAAD MCP Server
OpenSTAAD MCP Server 通过 OpenSTAAD API 将 AI Agent 连接到正在运行的 Bentley STAAD.Pro 模型。它支持模型操作、API 指引和多实例连接,所有处理均在本机进行且不含遥测。
主要功能
- 01通过 OpenSTAAD 操作 STAAD.Pro 模型
- 02提供 API 使用指引
- 03连接多个运行中的实例
- 04本地处理且不含遥测
- 05CSV 和 XLSX 数据读写
适用场景
- 01在 STAAD.Pro 模型中定义荷载工况
- 02提取模型数据或重复设置属性
- 03通过 CSV 或 XLSX 处理批量模型数据
MCP 相关
提供 API 指引发现、活动实例列表、对已连接模型执行经过验证的 Python 代码,以及查询连接和分析状态的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OpenSTAAD MCP 服务
这是一个适用于 Bentley STAAD.Pro 的模型上下文协议(MCP)服务,可让 Claude Desktop、Gemini 或 VSCode Copilot 等 AI Agent 与您的 STAAD.Pro 模型交互,并执行荷载工况定义、数据提取、重复设置属性等各种耗时任务。
此 MCP 服务作为 Bentley 基础设施 AI 协同创新计划的一部分推出,旨在帮助用户和客户发掘机遇、加速创新,同时将 Bentley 独特的工程工具能力融入新兴的 Agent 工作流。
主要功能
- 快速灵活:延迟极低,可通过 OpenSTAAD API 使用 STAAD.Pro 的全部功能。
- 适用于 AI:通过专用工具提供文档、指导和反馈,帮助 AI Agent 快速熟悉 STAAD.Pro API。
- 支持多实例:可同时连接多个正在运行的 STAAD.Pro 实例,以并行处理多个模型的任务。
- 隐私优先:所有处理都在您的计算机本地进行。不会向云端发送任何数据,也不会收集遥测数据。
前置条件
- 操作系统:Windows 11 或更新版本
- 已安装并运行 STAAD.Pro 2025 或更新版本
使用 Claude Desktop 快速开始(<2 分钟)
- 从 GitHub Releases 页面下载最新的
openstaad-mcp.mcpb文件。 - 打开 Claude Desktop。
- 点击 ☰ 菜单(左上角)→ File → Settings → Extensions。
- 点击 Advanced → Install Extensions。
- 选择下载的
.mcpb文件。 - 点击 ☰ 菜单(左上角)→ File → Exit
- 重启 Claude Desktop。
Claude Desktop 会自动安装此服务。打开新对话并让 Claude 与您的 STAAD.Pro 模型交互。
提示:开始聊天前,请确保 STAAD.Pro 正在运行且已打开模型。
其他客户端和配置
简而言之:
如果尚未安装,请使用以下命令安装 uv:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
配置客户端,使用以下命令以 stdio 模式启动服务:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
使用 GitHub Copilot 的 VS Code
-
对于 stdio:打开命令面板 → MCP: Add Server... → Command (stdio),然后输入以下命令:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp -
对于 http:首先在终端中启动服务:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http在终端输出中查找生成的令牌和 URL。格式应如下所示:
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然后,在 VS Code 中打开命令面板 → MCP: Add Server... → HTTP URL,并输入终端中显示的 URL(例如
http://127.0.0.1:18120/mcp)。18120是默认端口;如果您同时运行多个实例或修改了默认值,您的端口可能会不同。添加标头Authorization: Bearer <token>,并填入 MCP 服务终端中显示的令牌。
GitHub Copilot CLI
在 Copilot CLI 会话中使用 /mcp add 命令添加服务。有关详情,请参阅 Copilot CLI 文档。
-
对于 stdio 传输,使用以下命令:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp -
对于 HTTP 传输,首先在终端中启动服务:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http在终端输出中查找生成的令牌和 URL。格式应如下所示:
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然后,在 Copilot CLI 中使用终端显示的 URL 添加服务(例如
http://127.0.0.1:18120/mcp)。18120是默认端口;如果您同时运行多个实例或修改了默认值,您的端口可能会不同。添加标头Authorization: Bearer <token>,并填入 MCP 服务终端中显示的令牌。
Claude Desktop(手动配置)
如果你更倾向于手动配置,而不是使用 .mcpb 包,请直接编辑 Claude Desktop
配置文件:
- Windows(MSIX):
%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json - Windows(经典版):
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"openstaad": {
"command": "uvx",
"args": ["--from", "git+https://github.com/BentleySystems/openstaad-mcp", "openstaad-mcp"]
}
}
}
Claude Code(CLI)
-
对于 stdio 传输模式,请使用以下命令:
claude mcp add --transport stdio openstaad -- uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp -
对于 HTTP 传输模式,请先在终端中启动服务:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http在终端输出中查找生成的令牌和 URL。输出内容应如下所示:
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然后使用以下命令在 Claude Code 中添加服务:
claude mcp add --transport http openstaad http://127.0.0.1:18120/mcp --header "Authorization: Bearer <your-token>"18120是默认端口;如果有多个实例正在运行,或者你更改了默认端口,你的端口可能会有所不同。
Gemini CLI
-
对于 stdio 传输模式,请使用以下命令:
gemini mcp add openstaad uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp -
对于 HTTP 传输模式,请先在终端中启动服务:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp --transport http在终端输出中查找生成的令牌和 URL。输出内容应如下所示:
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然后使用以下命令在 Gemini CLI 中添加服务:
gemini mcp add --transport http --header "Authorization: Bearer <your-token>" openstaad http://127.0.0.1:18120/mcp18120是默认端口;如果有多个实例正在运行,或者你更改了默认端口,你的端口可能会有所不同。
传输模式
该服务支持两种传输模式:
| 模式 | 使用场景 |
|---|---|
| stdio(默认) | MCP 客户端直接启动服务进程。Claude Desktop、Claude Code、VS Code Copilot(stdio 配置)均使用此模式。 |
| HTTP | 服务持续运行,客户端通过网络连接。 |
CLI 选项
| 标志 | 默认值 | 描述 |
|---|---|---|
--transport {stdio,http} | stdio | 传输模式 |
--log-level LEVEL | INFO | DEBUG、INFO、WARNING 或 ERROR |
--log-file PATH | OS 默认值 | 日志文件路径 |
--port PORT | 18120 | [http] 要监听的 TCP 端口 |
--token TOKEN | - | [http] 用于身份验证的 Bearer 令牌 |
可用的 MCP 工具
| 工具 | 描述 |
|---|---|
discover_api | 列出可用的 API 技能和使用指南 |
read_skills | 返回所请求技能的详细指南 |
list_instances | 列出活动的 STAAD.Pro 实例及其模型路径和版本 |
execute_code | 对已连接的 STAAD.Pro 模型运行经过验证的 Python 代码 |
get_status | 返回连接状态、STAAD 版本、模型路径和分析状态 |
文件 I/O
execute_code 工具支持可选的服务端文件 I/O,用于批量数据工作流。
服务器可直接读取和写入 CSV 和 XLSX 文件,并将数据注入沙盒中的 input_data 变量,
无需通过 Agent 的上下文窗口传递大型数据集。
| 参数 | 描述 |
|---|---|
input_data_path | .csv 或 .xlsx 文件的路径。服务器读取并解析文件,然后将数据注入沙盒中的 input_data 变量。 |
output_data_path | 沙盒返回值的写入路径。返回值必须是列表的列表(CSV),或 {sheet_name: {columns, rows}} 字典(多工作表 XLSX)。 |
overwrite | 是否允许覆盖现有输出文件(默认值为 false)。 |
input_data 的结构稳定,并因文件扩展名而异:
- CSV:由行列表组成的列表。如果检测到表头,表头位于
input_data[0],数据行从input_data[1:]开始。 - XLSX:字典:
{sheet_name: {"columns": list, "rows": list_of_rows}}。
路径限制: 在进行任何读写操作之前,文件路径必须解析到已配置的允许范围内。
服务器支持客户端配置的 MCP 根目录和服务端配置的允许目录(通过清单中的 --allowed-dirs 或 user_config.allowed_directories 配置)。
服务器会在访问任何文件之前,根据这些范围验证路径。
限制: 文件最大为 50 MB,最多 100K 行、500 列和 50 个输入工作表。
安全说明
- Bearer 令牌身份验证。 在 HTTP 模式下运行时,请传入
--token MY_SECRET_TOKEN,并在客户端请求中加入Authorization: Bearer <token>。 - DNS 重绑定防护。 Starlette 中间件会验证
Host、Sec-Fetch-Site和Origin标头。 - 代码沙箱。
execute_code工具会在执行前通过 AST 分析验证所有 Python 代码。导入、文件访问和危险的内置函数均会被禁止。
隐私政策
请在此处查看 Bentley Systems 的隐私政策。
参与贡献
请参阅 CONTRIBUTING.md,了解如何设置开发环境、命名分支、运行测试和提交拉取请求。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。