Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for Bentley STAAD.Pro via the OpenSTAAD API
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。
ターミナルでこれを実行します
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント BentleySystems で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.3.0)がレジストリに届いたのは37 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPBも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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.
.mcpb file.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.
TL;DR:
If not already installed, install uv with the command:
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:
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
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 with the token shown in the MCP server terminal.
Use the /mcp add command inside a Copilot CLI session to add the server. See the Copilot CLI documentation for more details.
uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
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 with the token shown in the MCP server terminal.
If you prefer manual setup over the .mcpb bundle, edit the Claude Desktop config file directly:
%LOCALAPPDATA%\Packages\Claude_ \LocalCache\Roaming\Claude\claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": { "openstaad": { "command": "uvx", "args": ["--from", "git+https://github.com/BentleySystems/openstaad-mcp", "openstaad-mcp"] } } }
claude mcp add --transport stdio openstaad -- uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
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:
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 mcp add openstaad uvx --from git+https://github.com/BentleySystems/openstaad-mcp openstaad-mcp
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:
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.
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. |
| 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 |
| 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 |
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_data_path | Path to a .csv or .xlsx file. The server reads and parses it, then injects as the input_data variable in the sandbox. |
output_data_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). |
input_data has a stable, extension-specific shape:
input_data[0] and data rows start at input_data[1:].{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.
--token MY_SECRET_TOKEN when running in HTTP mode and include Authorization: Bearer in client requests.Host, Sec-Fetch-Site and Origin headers.execute_code tool validates all Python code via AST analysis before execution. Imports, file access, and dangerous builtins are blocked.Please find the Bentley Systems privacy policy here.
See CONTRIBUTING.md for guidelines on setting up your development environment, branch naming, running tests, and submitting pull requests.