mcpField
O
OpenMM MCP Server

OpenMM MCP Server

ローカル
github.com/PhelanShao科学・教育3674 週間前に更新

OpenMM MCP Server について

OpenMM MCP Server は、OpenMM による分子動力学シミュレーションを行う MCP サーバーで、Abacus による DFT 計算にも対応しています。自然言語によるシミュレーションタスクの投入、管理、実行が可能で、計算化学や生物物理学の研究者を対象としています。

主な機能

  1. 01OpenMM シミュレーションの作成と制御
  2. 02Abacus による量子力学計算のサポート
  3. 03タンパク質と膜系の事前設定テンプレート
  4. 04CUDA、OpenCL、CPU のプラットフォーム選択
  5. 05非同期タスクの実行と状態管理

活用シーン

  1. 01水分子やタンパク質の分子動力学シミュレーション
  2. 02圧力制御を含む膜タンパク質シミュレーションの設定
  3. 03完了したシミュレーションタスクの確認と結果分析

MCP 対応

シミュレーションの作成、タスク制御、結果分析のツールを MCP クライアントに公開し、LLM が自然言語で OpenMM と Abacus を操作できるようにします。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

OpenMM MCP Server

English | 中文


🧬 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 - 可変ステップサイズ Langevin
  • VariableVerlet - 可変ステップサイズ Verlet
  • NoseHoover - 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 - 汎用 GPU
  • CPU - 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)
📚 その他のドキュメント
🔍 トラブルシューティング
よくある問題
  1. 「OpenMM が見つかりません」という警告

    • これは正常です。サーバーはモックモードで実行されます
    • 実際のシミュレーションを行うには、OpenMM をインストールしてください:conda install -c conda-forge openmm
  2. 「コマンドが見つかりません」というエラー

    • Python が PATH に含まれているか確認してください
    • プロジェクトのパスが正しいか確認してください
    • 絶対パスを使用してみてください
  3. 権限エラー

    • プロジェクトディレクトリに読み取り/書き込み権限があることを確認してください
    • task_data ディレクトリに書き込み可能か確認してください
設定の確認
# Test server startup
python run_openmm_server.py

# Test MCP functionality
python test_mcp_server.py
🤝 コントリビューション
  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. テストを追加します
  5. プルリクエストを送信します
🆘 サポート

問題が発生した場合:

  1. テストスクリプトを実行してください:python test_mcp_server.py
  2. ドキュメントを確認してください
  3. ログファイルを確認してください(設定されている場合)
  4. GitHub で issue を作成してください
📄 ライセンス

このプロジェクトは GNU General Public License v3.0 の下でライセンスされています。


シミュレーションをお楽しみください!🎉

コメント

MCP は初めてですか?

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

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