mcpField
Y
YADE MCP Server

YADE MCP Server

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

YADE MCP Server について

YADE MCP Serverは、AIエージェントを離散要素法エンジンYADEに接続します。API検索、実行中セッションでのコード実行、長時間シミュレーションの管理を行う研究者や開発者向けです。

主な機能

  1. 01YADE APIの閲覧と検索
  2. 02実行中のYADEセッションでPythonを実行
  3. 03バックグラウンドシミュレーションの登録と管理
  4. 04タスクの出力と状態の確認
  5. 05コンソール入力をエージェントに伝達

活用シーン

  1. 01YADEのクラスやAPIメソッドを調べる
  2. 02実行中のシミュレーションでコードを実行
  3. 03長時間シミュレーションを監視または停止
  4. 04YADEコンソールで入力されたコマンドを確認

MCP 対応

MCPクライアントにAPIの閲覧・検索、ライブPython実行、タスクのライフサイクル管理、コンソール入力を提供します。実行ツールにはYADE bridgeが必要ですが、APIドキュメント用ツールは不要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"yusong652-yade": {
"command": "uvx",
"args": [
"yade-mcp"
]
}
}
}
起動コマンドuvx yade-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiyade-mcp0.11.2

ツール

7

掲載時のツール一覧 · 6 日前に更新

パラメーター型必須説明
pathanyいいえ閲覧する API パスをドット区切りで指定します。段階的に詳細を表示します: - None または '':ルート — すべてのカテゴリを一覧表示 - 'engines':すべてのエンジンクラスを一覧表示 - 'engines.NewtonIntegrator':NewtonIntegrator の完全なドキュメント - 'materials':すべての材料クラスを一覧表示 - 'materials.FrictMat':FrictMat の完全なドキュメント - 'interactions.geometry':接触ジオメトリクラスを一覧表示 - 'interactions.laws.Law2_ScGeom_FrictPhys_CundallStrack':完全なドキュメント - 'utils':ユーティリティ関数 - 'omega':Omega(O)シミュレーション制御

詳細

yade-mcp

yade-mcp ヘッダー

English | 简体中文

PyPI Downloads GitHub stars Glama License: MIT Python 3.10+

O.engines += [LLM()] # yet another engine.

yade-mcp は、Model Context Protocol を通じて、AI エージェントをオープンソースの個別要素法エンジンである YADE に接続します。エージェントは YADE API を閲覧し、実行中の YADE セッションでコードを実行し、長時間のシミュレーションをバックグラウンドタスクとして起動し、YADE コンソールで入力した内容を読み取ります。

yade-mcp のデモ

ツール(7)

ブリッジが不要なドキュメントツールが2つ、ブリッジが必要な実行ツールが5つあります。

ツール目的ブリッジ
yade_browse_apiYADE の Python クラスツリーをたどる不要
yade_query_apiAPI 全体を対象に 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 を参照してください。

コメント

MCP は初めてですか?

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

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