OpenMM MCP Server について
OpenMM MCP Server は、OpenMM による分子動力学シミュレーションを行う MCP サーバーで、Abacus による DFT 計算にも対応しています。自然言語によるシミュレーションタスクの投入、管理、実行が可能で、計算化学や生物物理学の研究者を対象としています。
主な機能
- 01OpenMM シミュレーションの作成と制御
- 02Abacus による量子力学計算のサポート
- 03タンパク質と膜系の事前設定テンプレート
- 04CUDA、OpenCL、CPU のプラットフォーム選択
- 05非同期タスクの実行と状態管理
活用シーン
- 01水分子やタンパク質の分子動力学シミュレーション
- 02圧力制御を含む膜タンパク質シミュレーションの設定
- 03完了したシミュレーションタスクの確認と結果分析
MCP 対応
シミュレーションの作成、タスク制御、結果分析のツールを MCP クライアントに公開し、LLM が自然言語で OpenMM と Abacus を操作できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenMM MCP Server
🧬 OpenMM & Abacus MCP Server
OpenMM を使用した分子動力学シミュレーションと、Abacus を使用した DFT 計算を行うための、包括的な Model Context Protocol(MCP)サーバーです。このサーバーは、LLM との連携を通じて、複雑な分子シミュレーションを自然言語で操作できるインターフェースを提供します。
✨ 特長
- OpenMM の完全な統合:高度なインテグレーター、バロスタット、拘束条件など、すべての OpenMM 機能をサポートします
- DFT 計算:量子力学計算のための Abacus DFT エンジンとの統合
- 事前設定済みテンプレート:タンパク質シミュレーション、膜システムなどにすぐに使える設定
- 高度なサンプリング:メタダイナミクス、自由エネルギー計算、拡張サンプリング手法
- GPU アクセラレーション:高性能コンピューティングのための CUDA および OpenCL プラットフォームのサポート
- タスク管理:永続化と監視に対応した非同期タスク実行
- 自然言語インターフェース:簡単な英語のコマンドで複雑なシミュレーションを操作できます
🚀 クイックスタート
インストール
# Clone the repository
git clone <repository_url>
cd openmm-mcp-server
# Install dependencies
pip install -r requirements.txt
# Optional: Install OpenMM for actual simulations
conda install -c conda-forge openmm
# Test installation
python test_mcp_server.py
Roo Code との統合
Code/Cline/Claude の MCP 設定に追加します。
{
"mcpServers": {
"openmm-server": {
"command": "python",
"args": ["run_openmm_server.py"],
"cwd": "path-to\\openmm-mcp-server",
"alwaysAllow": [
"create_md_simulation",
"create_advanced_md_simulation",
"setup_protein_simulation",
"setup_membrane_simulation",
"create_dft_calculation",
"control_simulation",
"get_task_status",
"list_all_tasks",
"analyze_results"
]
}
}
}
重要:パスを実際のプロジェクトのパスに置き換えてください!
🛠️ 利用可能なツール
基本ツール
create_md_simulation- 簡単な MD シミュレーションを作成しますcreate_dft_calculation- DFT 計算を作成しますcontrol_simulation- シミュレーションの実行を制御します(開始/停止/一時停止)get_task_status- タスクのステータスを確認しますlist_all_tasks- すべてのタスクを一覧表示しますanalyze_results- シミュレーション結果を分析します
高度なツール
create_advanced_md_simulation- OpenMM の全機能をサポートします(50 以上のパラメーター)setup_protein_simulation- 事前設定済みのタンパク質シミュレーションテンプレートsetup_membrane_simulation- 膜タンパク質シミュレーションの設定
💬 使用例
簡単な水のシミュレーション
"Run a molecular dynamics simulation of a water molecule at 300K for 10000 steps"
高度なタンパク質シミュレーション
"Set up a protein production simulation for 100 nanoseconds at physiological temperature 310K, using Amber19 force field with TIP3P-FB water model, 0.15M salt concentration, and GPU acceleration"
膜タンパク質シミュレーション
"Create a POPC membrane protein simulation for 50 nanoseconds with surface tension control"
📊 OpenMM パラメーターのリファレンス
インテグレーター
LangevinMiddle- Langevin middle インテグレーター(推奨)Verlet- Verlet インテグレーター(NVE アンサンブル)Brownian- ブラウン動力学VariableLangevin- 可変ステップサイズ LangevinVariableVerlet- 可変ステップサイズ VerletNoseHoover- Nose-Hoover サーモスタット
力場
- Amber14:
["amber14-all.xml", "amber14/tip3pfb.xml"] - Amber19:
["amber19-all.xml", "amber19/tip3pfb.xml"] - CHARMM36:
["charmm36_2024.xml", "charmm36/water.xml"]
水モデル
tip3p- TIP3P 水モデルtip3pfb- TIP3P-FB 水モデル(推奨)tip4pew- TIP4P-Ew 水モデルspce- SPC/E 水モデル
プラットフォーム
CUDA- NVIDIA GPU(最速)OpenCL- 汎用 GPUCPU- CPU 計算Reference- リファレンス実装
非結合相互作用の計算方法
PME- Particle Mesh Ewald(周期系に推奨)NoCutoff- カットオフなし(小規模システム向け)CutoffNonPeriodic- 非周期系のカットオフCutoffPeriodic- 周期系のカットオフEwald- 従来の Ewald 和
拘束条件
None- 拘束条件なしHBonds- 水素結合の拘束条件(推奨)AllBonds- すべての結合の拘束条件HAngles- 水素結合角の拘束条件
バロスタット
MonteCarloBarostat- 等方圧力制御MonteCarloAnisotropicBarostat- 異方圧力制御MonteCarloMembraneBarostat- 膜システムの圧力制御
精度
mixed- 混合精度(推奨)single- 単精度double- 倍精度
🔧 設定
環境変数:
export TASK_DATA_DIR="./simulation_data"
export MAX_CONCURRENT_TASKS=4
export DEFAULT_OPENMM_PLATFORM="CUDA"
export LOG_LEVEL="INFO"
export LOG_FILE="./mcp_server.log"
📁 プロジェクト構成
openmm-mcp-server/
├── run_openmm_server.py # Startup script
├── test_mcp_server.py # Test script
├── requirements.txt # Dependencies
├── README.md # English documentation
├── README_CN.md # Chinese documentation
├── src/
│ ├── server_new.py # Main server
│ ├── advanced_md_tools.py # Advanced MD tools
│ ├── task_manager.py # Task management
│ ├── openmm_engine.py # OpenMM engine
│ ├── abacus_engine.py # Abacus DFT engine
│ ├── config.py # Configuration management
│ ├── tools/ # MCP tool implementations
│ ├── resources/ # MCP resource implementations
│ └── utils/ # Utility functions
├── tests/ # Test files
├── examples/ # Example code
├── docs/ # Documentation
└── task_data/ # Task data directory (auto-created)
📚 その他のドキュメント
- インストールガイド - 詳細なインストール手順
- 使用ガイド - 包括的な使用例
- Roo Code との統合 - 詳細な統合ガイド
- OpenMM パラメーター - パラメーターの完全なリファレンス
- プロジェクト分析 - 技術的な分析と改善点
🔍 トラブルシューティング
よくある問題
-
「OpenMM が見つかりません」という警告
- これは正常です。サーバーはモックモードで実行されます
- 実際のシミュレーションを行うには、OpenMM をインストールしてください:
conda install -c conda-forge openmm
-
「コマンドが見つかりません」というエラー
- Python が PATH に含まれているか確認してください
- プロジェクトのパスが正しいか確認してください
- 絶対パスを使用してみてください
-
権限エラー
- プロジェクトディレクトリに読み取り/書き込み権限があることを確認してください
- task_data ディレクトリに書き込み可能か確認してください
設定の確認
# Test server startup
python run_openmm_server.py
# Test MCP functionality
python test_mcp_server.py
🤝 コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- テストを追加します
- プルリクエストを送信します
🆘 サポート
問題が発生した場合:
- テストスクリプトを実行してください:
python test_mcp_server.py - ドキュメントを確認してください
- ログファイルを確認してください(設定されている場合)
- GitHub で issue を作成してください
📄 ライセンス
このプロジェクトは GNU General Public License v3.0 の下でライセンスされています。
シミュレーションをお楽しみください!🎉
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。