YADE MCP Server について
YADE MCP Serverは、AIエージェントを離散要素法エンジンYADEに接続します。API検索、実行中セッションでのコード実行、長時間シミュレーションの管理を行う研究者や開発者向けです。
主な機能
- 01YADE APIの閲覧と検索
- 02実行中のYADEセッションでPythonを実行
- 03バックグラウンドシミュレーションの登録と管理
- 04タスクの出力と状態の確認
- 05コンソール入力をエージェントに伝達
活用シーン
- 01YADEのクラスやAPIメソッドを調べる
- 02実行中のシミュレーションでコードを実行
- 03長時間シミュレーションを監視または停止
- 04YADEコンソールで入力されたコマンドを確認
MCP 対応
MCPクライアントにAPIの閲覧・検索、ライブPython実行、タスクのライフサイクル管理、コンソール入力を提供します。実行ツールにはYADE bridgeが必要ですが、APIドキュメント用ツールは不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 6 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | any | いいえ | 閲覧する API パスをドット区切りで指定します。段階的に詳細を表示します: - None または '':ルート — すべてのカテゴリを一覧表示 - 'engines':すべてのエンジンクラスを一覧表示 - 'engines.NewtonIntegrator':NewtonIntegrator の完全なドキュメント - 'materials':すべての材料クラスを一覧表示 - 'materials.FrictMat':FrictMat の完全なドキュメント - 'interactions.geometry':接触ジオメトリクラスを一覧表示 - 'interactions.laws.Law2_ScGeom_FrictPhys_CundallStrack':完全なドキュメント - 'utils':ユーティリティ関数 - 'omega':Omega(O)シミュレーション制御 |
詳細
yade-mcp
O.engines += [LLM()] # yet another engine.
yade-mcp は、Model Context Protocol を通じて、AI エージェントをオープンソースの個別要素法エンジンである YADE に接続します。エージェントは YADE API を閲覧し、実行中の YADE セッションでコードを実行し、長時間のシミュレーションをバックグラウンドタスクとして起動し、YADE コンソールで入力した内容を読み取ります。

ツール(7)
ブリッジが不要なドキュメントツールが2つ、ブリッジが必要な実行ツールが5つあります。
| ツール | 目的 | ブリッジ |
|---|---|---|
yade_browse_api | YADE の Python クラスツリーをたどる | 不要 |
yade_query_api | API 全体を対象に BM25 キーワード検索を行う | 不要 |
yade_execute_code | 実行中の YADE プロセスで Python を実行し、同期的に結果を返す | 必要 |
yade_execute_task | スクリプトを長時間実行のバックグラウンドタスクとして送信する | 必要 |
yade_check_task_status | 実行中または完了したタスクの出力やステータスを確認する | 必要 |
yade_interrupt_task | イテレーションの境界で実行中のタスクを停止するか、キューにあるタスクをキャンセルする | 必要 |
yade_list_tasks | 送信したタスクをメタデータとともに一覧表示する | 必要 |
プロンプトの例
- 「密な充填体で三軸圧縮試験を設定し、偏差応力と軸ひずみの関係をプロットして」
- 「不規則な粒子をレベルセットボディとして作成し、平面に落として」
- 「シミュレーションはまだ実行中です。停止せずに不釣り合い力を確認して」
- 「GlobalStiffnessTimeStepper がタイムステップをどう決めるか調べてから、このモデルに追加して」
- 「コンソールに入力したコマンドでエラーが発生しました。何が問題だったのでしょうか?」
- 「昨日実行されたものを一覧表示し、各タスクで生成された内容を要約して」
初回セットアップ
前提条件
- YADE がインストールされていること
- uv がインストールされていること。エージェントクライアントが
yade-mcpの実行に使うuvxランチャーが含まれています。これがない場合、サーバーの起動時にクライアントでNo such file or directoryと表示されます。 - AI エージェント:Claude Code、Codex CLI、Gemini CLI、または MCP 対応クライアント
エージェントによるセットアップ(推奨)
これを AI エージェントにコピーして、自己設定を任せてください。
Fetch and follow this bootstrap guide end-to-end:
https://raw.githubusercontent.com/yusong652/yade-mcp/master/docs/agentic/yade-mcp-bootstrap.md
手動セットアップ
1. MCP サーバーを登録します。お使いのエージェントに合わせて、該当する行を使用してください。
# Claude Code
claude mcp add yade-mcp -- uvx yade-mcp
# Codex CLI
codex mcp add yade-mcp -- uvx yade-mcp
# Gemini CLI
gemini mcp add yade-mcp uvx yade-mcp
または、MCP 設定ファイルに手動で入力してください。
{
"mcpServers": {
"yade-mcp": {
"command": "uvx",
"args": ["yade-mcp"]
}
}
}
2. ブリッジを YADE の Python にインストールします。
YADE には特定のインタープリターが組み込まれています(Debian および Ubuntu パッケージではシステムの python3、またはビルド時に使用したインタープリターです)。conda や venv の Python は別のインタープリターであり、そこにインストールしたパッケージは YADE から見えません。正しいインタープリターを確実に指定するには、sys.executable がそのインタープリターを指す YADE 内からインストールします。YADE のコンソールで、次を実行してください。
import sys, subprocess
subprocess.check_call([sys.executable, "-m", "pip", "install", "--user", "yade-mcp-bridge"])
ここでは、次の 2 つの問題が発生することがあります。
No module named pip:インタープリターに pip がありません。たとえばsudo apt install python3-pipのように、システムのパッケージマネージャーを使ってインストールしてください。externally-managed-environment(Debian 12、Ubuntu 23.04 以降):pip はデフォルトで--userを拒否します。上記のコマンドで"--user"の後に"--break-system-packages"を追加してください。
その後、YADE を終了して再起動し、新しいパッケージディレクトリを読み込ませます。
このブリッジは YADE 自体への取り込みが提案されています(yade-dev/trunk !1187)。YADE に同梱されれば、この手順は不要になり、from yade import mcpbridge でブリッジが起動します。
3. ブリッジを起動します。YADE のコンソールで次を実行してください。
import yade_mcp_bridge
yade_mcp_bridge.start()
次の 1 行が出力されます:YADE MCP Bridge on http://localhost:9002, log: <cwd>/.yade-mcp/bridge.log。
動作確認
AI エージェントを再起動し、YADE に接続されているか確認するよう依頼してください。エージェントは yade_execute_code を呼び出します。応答の ok: true は、処理の全体が正常に動作していることを示します。
日常の起動
初回セットアップが完了した後は、新しい YADE セッションごとにブリッジを再起動するだけです。YADE のコンソールで次を実行してください。
import yade_mcp_bridge
yade_mcp_bridge.start()
MCP クライアントの設定は保持されます。
設定
ポート
ブリッジはデフォルトで 9002 番ポートをリッスンします。別のポートを使うには、start() に渡してください。
yade_mcp_bridge.start(port=9008)
別途指定しない限り、MCP サーバーは 9002 に接続します。対応する URL で登録してください。
{
"mcpServers": {
"yade-mcp": {
"command": "uvx",
"args": ["yade-mcp", "--bridge-url", "http://localhost:9008"]
}
}
}
コンテナー
YADE をコンテナー内で実行する場合、外部から接続できるように、ブリッジをすべてのインターフェースにバインドしてください。
yade_mcp_bridge.start(host="0.0.0.0")
コンテナーの起動時にポートを公開してください(Docker の場合は -p 9002:9002)。
機能
- 実行中の YADE プロセス内でのライブ REPL:
yade_execute_codeはセッション固有の名前空間で Python を実行するため、呼び出しの間も状態が保持されます。タスクの実行中も動作するため、シミュレーションを停止せずに中間結果を読み取れます。 - タスクのライフサイクル:スクリプトをバックグラウンドタスクとして送信し、出力を末尾まで確認し、反復の境界で停止して、修正後に再送信できます。タスクはキューに入り、1 つずつ実行されるため、複数段階のパイプラインをまとめて送信できます。
- セッションをまたいだタスク履歴:すべてのタスクのスクリプト、出力、最終状態が記録されます。新しいエージェントセッションでは、実行済みの内容を一覧表示し、説明を受けなくても作業を引き継げます。
- コンソール入力をエージェントに送信:YADE のコンソールに入力した行は、エージェントが次に呼び出されたときにコンテキストに届くため、コンソールとエージェントを同時に使って作業できます。
- ブリッジなしで API ドキュメントを利用:YADE の Python API に関するクラスツリーと BM25 検索は、現行の YADE リリースに合わせて更新されたコーパスを使い、オフラインで動作します。
- 複数クライアント対応:Claude Code、Codex CLI、Gemini CLI、GitHub Copilot CLI、OpenCode、toyou ra-nagisa、その他の MCP クライアントで動作します。
トラブルシューティング
ブートストラップガイドのトラブルシューティングを参照してください。
コントリビューション
開発環境のセットアップとガイドラインについては、CONTRIBUTING.md を参照してください。
ライセンス
MIT。詳しくは LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。