mcpField
P
PLUMED2 MCP Server / PLUMED2 MCP 服务器

PLUMED2 MCP Server / PLUMED2 MCP 服务器

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

PLUMED2 MCP Server / PLUMED2 MCP 服务器 について

PLUMED2 MCP Serverは、分子動力学研究者向けにPLUMED入力ファイルの生成、検証、最適化を支援します。一般的なシミュレーションのテンプレートを備え、システム情報に基づく性能改善案も提示します。

主な機能

  1. 01集団変数やバイアスを含む入力を生成
  2. 02一般的なシミュレーション用テンプレート
  3. 03構文を検証してエラーを報告
  4. 04システム情報に基づく性能改善案

活用シーン

  1. 01メタダイナミクス用のPLUMED入力を生成
  2. 02既存入力ファイルの構文上の問題を確認
  3. 03大規模システム向けの最適化案を取得
  4. 04タンパク質フォールディングなどのテンプレートを利用

MCP 対応

MCPサーバーとして、入力生成、構文検証、性能最適化、テンプレート取得のツールをAIアシスタントに提供します。Claude DesktopやClineなどのMCPクライアントで設定できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

PLUMED2 MCP Server / PLUMED2 MCP サーバー

English | 中文


English

概要

PLUMED2 MCP サーバーは、分子動力学シミュレーション用の PLUMED 入力ファイルの生成、検証、最適化に役立つ強力なツールを AI アシスタントに提供する、Model Context Protocol(MCP)サーバーです。このサーバーにより、AI ワークフローに PLUMED の専門知識をシームレスに組み込めます。

機能
  • 🔧 入力ファイルの生成:集団変数、バイアス手法、出力設定を含む PLUMED 入力ファイルを生成します
  • 📋 テンプレートシステム:一般的なシミュレーションシナリオ(タンパク質のフォールディング、薬物結合、相転移、核生成)向けの定義済みテンプレートを利用できます
  • ⚡ パフォーマンスの最適化:大規模なシステム向けに PLUMED のパフォーマンスを最適化するための、的確な提案を得られます
  • ✅ 構文検証:詳細なエラー報告と参照情報の確認を行い、PLUMED の構文を検証します
  • 🌐 国際対応:専門的なドキュメントを備えた、すべて英語のコードベースです
インストール
前提条件
  • Python 3.11 以降
  • pip パッケージマネージャー
依存関係のインストール
cd plumed_mcp_server
pip install -r requirements.txt
MCP クライアントの設定

MCP クライアントの設定(Claude Desktop、Cline など)に、次の設定を追加してください。

{
  "mcpServers": {
    "plumed2": {
      "command": "python",
      "args": [
        "-m", "plumed_mcp_server.main"
      ],
      "cwd": "/path/to/plumed_mcp_server",
      "alwaysAllow": [
        "generate_plumed_input",
        "validate_plumed_syntax", 
        "optimize_plumed_performance",
        "get_plumed_template"
      ]
    }
  }
}

注:/path/to/plumed_mcp_server は、インストールディレクトリの実際のパスに置き換えてください。

利用可能なツール
1. generate_plumed_input

シミュレーション要件に基づいて、PLUMED 入力ファイルを生成します。

パラメーター:

  • collective_variables(必須):計算する集団変数のリスト
  • bias_methods(任意):適用するバイアス手法のリスト
  • output_config(任意):出力設定
  • system_info(任意):最適化用のシステム情報
  • molinfo_config(任意):分子情報の設定
  • group_definitions(任意):カスタムグループの定義
2. validate_plumed_syntax

PLUMED 入力の構文を検証し、一般的なエラーがないか確認します。

パラメーター:

  • plumed_input(必須):検証する PLUMED 入力の内容
  • number_of_replicas(任意):@replicas 構文の検証に使用するレプリカ数
3. optimize_plumed_performance

PLUMED シミュレーションのパフォーマンス最適化に関する提案を得られます。

パラメーター:

  • plumed_input(必須):分析する PLUMED 入力の内容
  • system_info(任意):システム情報(原子数、シミュレーションの長さなど)
4. get_plumed_template

定義済みまたはカスタムの PLUMED テンプレートを取得します。

パラメーター:

  • template_name(必須):取得するテンプレートの名前
  • system_type(任意):テンプレートのカスタマイズに使用するシステムの種類
使用例
例 1:メタダイナミクスで簡単な距離 CV を生成する

AI へのプロンプト:

Generate a PLUMED input file for metadynamics simulation of a protein. I want to use the distance between atoms 1 and 2 as a collective variable, with metadynamics bias. Include output every 100 steps.

AI の想定される応答: AI は、次のようなパラメーターを指定して generate_plumed_input ツールを使用します。

{
  "collective_variables": [
    {
      "type": "DISTANCE",
      "label": "d1",
      "atoms": [1, 2]
    }
  ],
  "bias_methods": [
    {
      "type": "METAD",
      "arg": "d1",
      "sigma": 0.1,
      "height": 1.0,
      "pace": 500
    }
  ],
  "output_config": {
    "stride": 100,
    "file": "colvar.dat"
  }
}

生成される出力:

# PLUMED input file generated by PLUMED2 MCP Server
# Collective Variables
d1: DISTANCE ATOMS=1,2

# Bias Methods  
METAD ARG=d1 SIGMA=0.1 HEIGHT=1.0 PACE=500

# Output
PRINT ARG=d1 STRIDE=100 FILE=colvar.dat
例 2:PLUMED の構文を検証する

AI へのプロンプト:

Please validate this PLUMED input:
d: DISTANCE ATOMS=1,2
METAD ARG=d SIGMA=0.1 HEIGHT=1.0 PACE=500
PRINT ARG=d STRIDE=100 FILE=colvar.dat

AI の想定される応答: AI は validate_plumed_syntax ツールを使用して検証結果を報告します。構文エラー、警告、提案などが含まれます。

例 3:パフォーマンスの最適化を取得する

AI へのプロンプト:

Optimize this PLUMED input for a large system with 100,000 atoms:
[PLUMED input content]

AI の想定される応答: AI は optimize_plumed_performance ツールを使用して、ネイバーリストの使用、ストライド値の調整、集団変数の計算の最適化など、具体的な提案を提示します。

例 4:テンプレートを使用する

AI へのプロンプト:

Give me a PLUMED template for protein folding studies.

AI の想定される応答: AI は template_name: "protein_folding" を指定して get_plumed_template ツールを使用し、タンパク質のフォールディングシミュレーションで一般的に使われる集団変数とバイアス手法を含む、完全なテンプレートを返します。

テスト

インストールを確認するには、テストスイートを実行してください。

cd plumed_mcp_server
python -m pytest tests/ -v

33 件すべてのテストが成功するはずです(成功率 100%)。

開発

このサーバーはFastMCPフレームワークを使用して構築されており、モジュール設計の原則に従っています。

  • tools/:MCP ツールの実装
  • logic/:コアビジネスロジックモジュール
  • resources/:MCP リソースプロバイダー
  • tests/:包括的なテストスイート
貢献

貢献を歓迎します!すべてのテストが合格することを確認し、既存のコードスタイルに従ってください。

ライセンス

このプロジェクトはオープンソースです。詳細については、ライセンスファイルを確認してください。


中文

概要

PLUMED2 MCP サーバーは、分子動力学シミュレーション用のPLUMED入力ファイルを生成、検証、最適化するための強力なツールをAI アシスタントに提供する、モデルコンテキストプロトコル(MCP)サーバーです。このサーバーにより、PLUMEDの専門知識をAIワークフローにシームレスに統合できます。

機能
  • 🔧 入力ファイルの生成:集合変数、バイアス手法、出力設定を含む完全なPLUMED入力ファイルを生成します
  • 📋 テンプレートシステム:一般的なシミュレーションシナリオ(タンパク質のフォールディング、薬物結合、相転移、核生成)用の定義済みテンプレートにアクセスできます
  • ⚡ パフォーマンスの最適化:大規模システム向けのPLUMEDパフォーマンス最適化について、インテリジェントな提案を受け取れます
  • ✅ 構文検証:PLUMEDの構文を検証し、詳細なエラーレポートと参照チェックを提供します
  • 🌐 国際化:完全に英語化されたコードベースと専門的なドキュメント
インストール
前提条件
  • Python 3.11以降
  • pipパッケージマネージャー
依存関係のインストール
cd plumed_mcp_server
pip install -r requirements.txt
MCP クライアントの設定

以下の設定をMCP クライアントの設定に追加します(Claude Desktop、Clineなど)。

{
  "mcpServers": {
    "plumed2": {
      "command": "python",
      "args": [
        "-m", "plumed_mcp_server.main"
      ],
      "cwd": "/path/to/plumed_mcp_server",
      "alwaysAllow": [
        "generate_plumed_input",
        "validate_plumed_syntax", 
        "optimize_plumed_performance",
        "get_plumed_template"
      ]
    }
  }
}

注意:/path/to/plumed_mcp_serverを実際のインストールディレクトリのパスに置き換えてください。

利用可能なツール
1. generate_plumed_input

シミュレーションの要件に基づいて、完全なPLUMED入力ファイルを生成します。

パラメーター:

  • collective_variables(必須):計算する集合変数のリスト
  • bias_methods(任意):適用するバイアス手法のリスト
  • output_config(任意):出力設定
  • system_info(任意):最適化に使用するシステム情報
  • molinfo_config(任意):分子情報の設定
  • group_definitions(任意):カスタムグループの定義
2. validate_plumed_syntax

PLUMEDの入力構文を検証し、よくあるエラーを確認します。

パラメーター:

  • plumed_input(必須):検証するPLUMED入力の内容
  • number_of_replicas(任意):@replicas構文の検証に使用するレプリカ数
3. optimize_plumed_performance

PLUMEDシミュレーションのパフォーマンス最適化に関する提案を取得します。

パラメーター:

  • plumed_input(必須):分析するPLUMED入力の内容
  • system_info(任意):システム情報(原子数、シミュレーション長など)
4. get_plumed_template

定義済みまたはカスタムのPLUMEDテンプレートを取得します。

パラメーター:

  • template_name(必須):取得するテンプレート名
  • system_type(任意):テンプレートのカスタマイズに使用するシステムの種類
使用例
例1:メタダイナミクスを用いた簡単な距離CVの生成

AIへのプロンプト:

为蛋白质的元动力学模拟生成一个PLUMED输入文件。我想使用原子1和2之间的距离作为集体变量,应用元动力学偏置。每100步输出一次。

AIの応答例: AIは以下のパラメーターでgenerate_plumed_inputツールを使用します。

{
  "collective_variables": [
    {
      "type": "DISTANCE",
      "label": "d1",
      "atoms": [1, 2]
    }
  ],
  "bias_methods": [
    {
      "type": "METAD",
      "arg": "d1",
      "sigma": 0.1,
      "height": 1.0,
      "pace": 500
    }
  ],
  "output_config": {
    "stride": 100,
    "file": "colvar.dat"
  }
}

生成される出力:

# PLUMED input file generated by PLUMED2 MCP Server
# Collective Variables
d1: DISTANCE ATOMS=1,2

# Bias Methods  
METAD ARG=d1 SIGMA=0.1 HEIGHT=1.0 PACE=500

# Output
PRINT ARG=d1 STRIDE=100 FILE=colvar.dat
例2:PLUMED構文の検証

AIへのプロンプト:

请验证这个PLUMED输入:
d: DISTANCE ATOMS=1,2
METAD ARG=d SIGMA=0.1 HEIGHT=1.0 PACE=500
PRINT ARG=d STRIDE=100 FILE=colvar.dat

AIの応答例: AIはvalidate_plumed_syntaxツールを使用し、構文エラー、警告、提案を含む検証結果を報告します。

例3:パフォーマンス最適化の取得

AIへのプロンプト:

为包含100,000个原子的大型系统优化这个PLUMED输入:
[PLUMED输入内容]

AIの応答例: AIはoptimize_plumed_performanceツールを使用し、近傍リストの使用、ステップ値の調整、集合変数の計算の最適化など、具体的な提案を提示します。

例4:テンプレートの使用

AIへのプロンプト:

给我一个用于蛋白质折叠研究的PLUMED模板。

AIの応答例: AIはtemplate_name: "protein_folding"をパラメーターとしてget_plumed_templateツールを使用し、タンパク質フォールディングシミュレーションでよく使われる集合変数とバイアス手法を含む完全なテンプレートを返します。

テスト

インストールを検証するには、テストスイートを実行してください。

cd plumed_mcp_server
python -m pytest tests/ -v

33件すべてのテストが合格するはずです(成功率100%)。

開発

このサーバーはFastMCPフレームワークを使用して構築されており、モジュール設計の原則に従っています。

  • tools/:MCP ツールの実装
  • logic/:コアビジネスロジックモジュール
  • resources/:MCP リソースプロバイダー
  • tests/:包括的なテストスイート
貢献

貢献を歓迎します!すべてのテストが合格することを確認し、既存のコードスタイルに従ってください。

ライセンス

このプロジェクトはオープンソースです。詳細については、ライセンスファイルを確認してください。

コメント

MCP は初めてですか?

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

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