Gmx_vmd について
MCP-GMX-VMD は、GROMACS による分子動力学シミュレーションと VMD による可視化を、マイクロサービス構成で連携させる MCP サーバーです。シミュレーションの設定、実行、解析、可視化を行う研究者を対象としています。
主な機能
- 01GROMACS シミュレーションの設定と実行
- 02RMSD や RMSF などのトラジェクトリ解析
- 03VMD による構造の 3D 可視化
- 04カスタムワークフローディレクトリの管理
- 05MCP に基づくモジュール式アーキテクチャ
活用シーン
- 01水環境中のタンパク質シミュレーションの構築
- 02MD トラジェクトリの RMSD 解析
- 03トラジェクトリを読み込んで VMD で構造を表示
MCP 対応
本プロジェクトは、シミュレーション、解析、可視化の機能を MCP クライアントに公開する MCP サーバーです。Claude Desktop や Cursor などから自然言語で呼び出せます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-GMX-VMD
MCP-GMX-VMD は、マイクロサービスアーキテクチャを通じて GROMACS 分子動力学シミュレーションと VMD(Visual Molecular Dynamics)による可視化を統合するサービスです。このツールを使用すると、分子動力学シミュレーションの設定、実行、解析、可視化ができます。
機能
- 分子動力学シミュレーション:使いやすいインターフェースで GROMACS シミュレーションを設定して実行します
- 軌跡解析:シミュレーションの軌跡(RMSD、RMSF など)を解析します
- 3D 可視化:VMD を使用して分子構造とシミュレーションの軌跡を可視化します
- カスタムワークフローディレクトリ:ユーザーが指定したディレクトリにシミュレーションのワークフローを作成して管理します
- モジュール型アーキテクチャ:MCP(Model Context Protocol)を基盤として構築されており、他のツールと柔軟に統合できます
前提条件
- Python 3.9+
- GROMACS(インストール済みで、PATH からアクセス可能であること)
- VMD(Visual Molecular Dynamics、インストール済みで、PATH からアクセス可能であること)
- (オプション)可視化機能を強化する Python VMD モジュール
インストール
-
リポジトリをクローンします:
git clone https://github.com/yourusername/mcp-gmx-vmd.git cd mcp-gmx-vmd -
仮想環境を作成して有効化します:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
依存関係をインストールします:
pip install -r requirements.txt -
パッケージをインストールします(開発モード):
pip install -e .
設定
このサービスでは、VMD のパス、検索パス、その他の設定に設定ファイル(config.json)を使用します。このファイルが存在しない場合は、次の構成で作成してください:
{
"vmd": {
"path": "/path/to/vmd/executable",
"search_paths": ["/path/to/search"]
},
"gmx": {
"path": "/path/to/gromacs/executable"
}
}
macOS ユーザーの場合、VMD のパスは通常次のとおりです:
/Applications/VMD.app/Contents/MacOS/startup.command
サーバーの起動
MCP-GMX-VMD サーバーを起動するには:
python mcp_server.py
サービスが起動し、リクエストを待ち受けます。
使用例
シミュレーションワークフローの作成:
import requests
# Create a new workflow
response = requests.get(
"http://localhost:8000/gmx-vmd://workflow/create?name=my_simulation"
)
workflow_id = response.json()["workflow_id"]
# Prepare a simulation with custom directory
custom_dir = "/path/to/custom/directory"
response = requests.get(
f"http://localhost:8000/gmx-vmd://simulation/prepare?workflow_id={workflow_id}&pdb_file=protein.pdb&workspace_dir={custom_dir}"
)
軌跡の解析:
# Analyze RMSD
analysis_params = {
"analysis_type": "rmsd",
"trajectory_file": "md/md.xtc",
"structure_file": "md/md.gro",
"selection": "protein",
"output_prefix": "rmsd_analysis"
}
response = requests.get(
f"http://localhost:8000/gmx-vmd://analysis/trajectory?workflow_id={workflow_id}¶ms={json.dumps(analysis_params)}"
)
構造の可視化:
# Load and visualize trajectory
response = requests.get(
f"http://localhost:8000/gmx-vmd://visualization/load-trajectory?workflow_id={workflow_id}&trajectory_file=md/md.xtc&structure_file=md/md.gro"
)
LLM との統合
このサービスは、Claude などの LLM アシスタントと統合したり、Cursor IDE と組み合わせて、より対話的に使用したりできます。統合すると、自然言語のコマンドで分子シミュレーションと解析を直接実行できます。
MCP サーバーへの接続
- 以下の JSON をコピーし、パスのプレースホルダーを実際のシステムパスに置き換えます:
{
"mcpServers": {
"gmx_vmd": {
"command": "{{PATH_TO_UV}}",
"args": [
"--directory",
"{PATH_TO_SRC}/mcp-gmx-vmd",
"run",
"mcp",
"run",
"mcp_server.py"
],
"env": {
"PYTHONPATH": "{PATH_TO_SRC}/mcp-gmx-vmd",
"MCP_DEBUG": "1",
"PYTHONUNBUFFERED": "1"
}
}
}
}
-
設定ファイルを適切な場所に保存します:
- Claude Desktop の場合:
claude_desktop_config.jsonとして次の場所に保存します:~/Library/Application Support/Claude/claude_desktop_config.json - Cursor IDE の場合:
mcp.jsonとして次の場所に保存します:~/.cursor/mcp.json
- Claude Desktop の場合:
-
アプリケーション(Claude Desktop または Cursor)を再起動します
- Claude Desktop では、利用可能な統合として GMX-VMD が表示されます
- Cursor では、再起動後に統合を利用できます
LLM で MCP-GMX-VMD を使用する
設定が完了すると、自然言語で MCP-GMX-VMD サービスを操作できます:
- 「水環境中でのタンパク質シミュレーションを設定して」
- 「タンパク質の軌跡の RMSD を解析して」
- 「二次構造を表示するように、このタンパク質構造を可視化して」
- 「MD 軌跡の水素結合を計算して」
LLM は、リクエストを MCP-GMX-VMD サービスへの適切な API 呼び出しに変換します。
詳細設定
カスタムワークフローディレクトリ
カスタムディレクトリにワークフローを作成するには、ワークフローの作成時に workspace_dir パラメーターを指定します:
response = requests.get(
f"http://localhost:8000/gmx-vmd://workflow/create?name=custom_workflow&workspace_dir=/path/to/custom/directory"
)
VMD 可視化テンプレート
このサービスには、一般的なタスク向けの可視化テンプレートがいくつか組み込まれています。次のようにテンプレートを適用できます:
response = requests.get(
f"http://localhost:8000/gmx-vmd://visualization/apply-template?workflow_id={workflow_id}&template_name=protein_cartoon"
)
トラブルシューティング
VMD の表示に関する問題
VMD の GUI が起動直後に閉じる場合は、次のいずれかの方法を試してください:
- VMD を別のターミナルウィンドウで起動します(サービスのデフォルトの動作)
vmd -dispdev textを使用して、GUI を使わずコマンドラインで操作します- VMD のインストールとアクセス権限を確認します
アクセス権限に関する問題
カスタムディレクトリでアクセス権限の問題が発生した場合:
# Set appropriate permissions for the directory
chmod -R 755 /path/to/your/custom/directory
ライセンス
YouTube の概要
謝辞
- VMD は、イリノイ大学アーバナ・シャンペーン校の理論・計算生物物理学グループによって開発されています
- GROMACS は、分子動力学シミュレーション用の多機能なパッケージです
- MCP(Model Context Protocol )は、基盤となる通信フレームワークを提供します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
