mcpField
O
OpenSTAAD MCP Server

OpenSTAAD MCP Server

ローカル
github.com/BentleySystems科学・教育546 日前に更新

OpenSTAAD MCP Server について

OpenSTAAD MCP Serverは、OpenSTAAD APIを介してAIエージェントを実行中のBentley STAAD.Proモデルに接続します。モデル操作、APIガイダンス、複数インスタンスへの接続に対応し、テレメトリーなしでローカル処理します。

主な機能

  1. 01OpenSTAAD経由でSTAAD.Proモデルを操作
  2. 02API利用ガイダンス
  3. 03複数の実行中インスタンスに接続
  4. 04テレメトリーなしのローカル処理
  5. 05CSVおよびXLSXデータの入出力

活用シーン

  1. 01STAAD.Proモデルで荷重ケースを定義
  2. 02モデルデータの抽出やプロパティの反復設定
  3. 03CSVまたはXLSXでモデルデータを一括処理

MCP 対応

APIガイダンスの検索、稼働中インスタンスの一覧表示、接続モデルでの検証済みPythonコードの実行、接続状態と解析状態の確認ツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbopenstaad-mcp.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

OpenSTAAD MCP Server

Bentley の STAAD.Pro 用の Model Context Protocol(MCP)サーバーです。Claude Desktop、Gemini、VSCode Copilot などの AI エージェントが STAAD.Pro のモデルを操作し、荷重ケースの定義、データの抽出、繰り返しのプロパティ設定など、時間のかかるさまざまなタスクを実行できるようにします。

この MCP サーバーは、Bentley の Infrastructure AI Co-Innovation Initiative の一環として導入されました。ユーザーやアカウントをお持ちのお客様が機会を見つけてより迅速にイノベーションを起こせるよう支援するとともに、Bentley 独自のエンジニアリングツールの機能を、新たに登場しているエージェント型ワークフローにつなぎます。

主な機能

  • 高速かつ柔軟:レイテンシーを最小限に抑え、OpenSTAAD API が対応する STAAD.Pro のすべての機能を操作できます。
  • AI に最適:専用ツールを通じてドキュメント、ガイダンス、フィードバックを提供し、AI エージェントが STAAD.Pro API をすばやく使いこなせるよう支援します。
  • 複数インスタンスのサポート:実行中の複数の STAAD.Pro インスタンスに同時に接続し、モデル間でタスクを並列化できます。
  • プライバシー優先:すべての処理はお使いのマシン上でローカルに実行されます。データがクラウドに送信されることはありません。テレメトリーもありません。

前提条件

  • OS:Windows 11 以降
  • STAAD.Pro 2025 以降がインストールされ、実行中であること

Claude Desktop ですぐに使う(2 分以内)

  1. GitHub Releases ページから最新の openstaad-mcp.mcpb ファイルをダウンロードします。
  2. Claude Desktop を開きます。
  3. ☰ メニュー(左上)→ File → Settings → Extensions の順にクリックします。
  4. Advanced → Install Extensions の順にクリックします。
  5. ダウンロードした .mcpb ファイルを選択します。
  6. ☰ メニュー(左上)→ File → Exit の順にクリックします。
  7. Claude Desktop を再起動します。

Claude Desktop がサーバーを自動的にインストールします。新しい会話を開き、STAAD.Pro モデルを操作するよう Claude に依頼してください。

ヒント:チャットを始める前に、モデルを開いた状態で 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 はデフォルトのポートですが、複数のインスタンスを実行している場合やデフォルトを変更した場合は、異なることがあります。MCP サーバーのターミナルに表示されたトークンを使って、ヘッダー Authorization: Bearer <token> を追加します。

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
    

    次に、ターミナルに表示された URL(例:http://127.0.0.1:18120/mcp)を使って Copilot CLI でサーバーを追加します。18120 はデフォルトのポートですが、複数のインスタンスを実行している場合やデフォルトを変更した場合は、異なることがあります。MCP サーバーのターミナルに表示されたトークンを使って、ヘッダー Authorization: Bearer <token> を追加します。

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/mcp
    

    18120 はデフォルトのポートですが、複数のインスタンスを実行している場合や、デフォルトを変更した場合は異なることがあります。

トランスポートモード

サーバーは、次の 2 つのトランスポートモードに対応しています。

モード使用する場面
stdio(デフォルト)MCP クライアントがサーバープロセスを直接起動します。Claude Desktop、Claude Code、VS Code Copilot(stdio 設定)で使用されます。
HTTPサーバーが常時稼働し、クライアントがネットワーク経由で接続します。
CLI オプション
フラグデフォルト説明
--transport {stdio,http}stdioトランスポートモード
--log-level LEVELINFODEBUG、INFO、WARNING、または ERROR
--log-file PATHOS defaultログファイルのパス
--port PORT18120[http] リッスンする TCP ポート
--token TOKEN-[http] 認証用ベアラートークン

利用可能な 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 変数にデータを挿入します。

パラメーター説明
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 です。

セキュリティに関する注意事項

  • ベアラートークン認証。 HTTP モードで実行する際は --token MY_SECRET_TOKEN を渡し、クライアントリクエストに Authorization: Bearer <token> を含めてください。
  • DNS リバインディング対策。 Starlette ミドルウェアが Host、Sec-Fetch-Site、Origin ヘッダーを検証します。
  • コードサンドボックス。 execute_code ツールは実行前に AST 解析ですべての Python コードを検証します。インポート、ファイルアクセス、危険な組み込み関数は禁止されています。

プライバシーポリシー

Bentley Systems のプライバシーポリシーはこちらをご覧ください。

コントリビューション

開発環境のセットアップ、ブランチの命名、テストの実行、プルリクエストの送信に関するガイドラインは、CONTRIBUTING.mdをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。