🚀 AlphaFold MCP Server
このサーバーは、AlphaFoldのタンパク質構造予測データベースにアクセスするための包括的なModel Context Protocol (MCP) サーバーです。タンパク質構造予測分析に必要なさまざまなツールとリソースを提供します。
🚀 クイックスタート
AlphaFold MCP Serverは、AlphaFoldの膨大なタンパク質構造予測データにシームレスにアクセスできるようにするMCPサーバーです。構造検索、信頼度分析、バッチ処理、可視化準備などのツールを提供し、予測されたタンパク質構造を扱う研究者、バイオインフォマティシャン、構造生物学者に最適です。
✨ 主な機能
🧬 コア構造ツール
- 構造検索: UniProt IDによるAlphaFold予測の取得
- 複数フォーマットのダウンロード: PDB、CIF、BCIF、JSONフォーマットのサポート
- 可用性チェック: 特定のタンパク質の予測が存在するかどうかを確認
🔍 検索と発見
- 構造検索: タンパク質名、遺伝子、または生物種によるタンパク質の検索
- 生物種別の閲覧: 特定の生物種に利用可能なすべての構造のリスト表示
- カバレッジ統計: 生物種レベルの包括的な統計情報の取得
📊 信頼度と品質分析
- 残基ごとの信頼度: 各アミノ酸の詳細な信頼度スコア
- 領域分析: 高/低信頼度の構造領域の特定
- 品質検証: 予測の全体的な信頼性の評価
⚡ バッチ処理
- 一括検索: 複数のタンパク質を同時に処理
- バッチダウンロード: 効率的な複数構造のダウンロード
- 並列分析: タンパク質セットの信頼度分析
🔬 比較分析
- 構造比較: 複数のタンパク質の並列分析
- 類似性検索: 構造的に関連するタンパク質の検索
- カバレッジ比較: 予測の完全性の分析
🎨 可視化統合
- PyMOLスクリプト: すぐに使える可視化スクリプト
- ChimeraX統合: 信頼度で色分けされた構造の表示
- カスタムエクスポートフォーマット: 柔軟なデータエクスポートオプション
📦 インストール
npm install
npm run build
💻 使用例
基本的な使用法
MCPサーバーとしての使用
MCP設定に追加します。
{
"mcpServers": {
"alphafold-server": {
"command": "node",
"args": ["/path/to/alphafold-server/build/index.js"]
}
}
}
直接使用
npm start
node build/index.js
高度な使用法
基本的な構造分析
await use_mcp_tool("alphafold-server", "check_availability", {
uniprotId: "P04637",
});
await use_mcp_tool("alphafold-server", "get_prediction_metadata", {
uniprotId: "P04637",
});
await use_mcp_tool("alphafold-server", "get_confidence_scores", {
uniprotId: "P04637",
threshold: 70,
});
比較研究
await use_mcp_tool("alphafold-server", "compare_structures", {
uniprotIds: ["P04637", "P53350", "P63151"],
});
await use_mcp_tool("alphafold-server", "batch_confidence_analysis", {
uniprotIds: ["P04637", "P53350", "P63151"],
});
可視化の準備
await use_mcp_tool("alphafold-server", "export_for_pymol", {
uniprotId: "P04637",
includeConfidence: true,
});
await use_mcp_tool("alphafold-server", "export_for_chimerax", {
uniprotId: "P04637",
includeConfidence: true,
});
生物種全体の分析
await use_mcp_tool("alphafold-server", "get_organism_stats", {
organism: "Homo sapiens",
});
await use_mcp_tool("alphafold-server", "list_by_organism", {
organism: "Homo sapiens",
size: 100,
});
📚 ドキュメント
利用可能なツール
コア構造ツール
get_structure
特定のUniProt IDのAlphaFold構造予測を取得します。
パラメータ:
uniprotId
(必須): UniProtアクセッション (例: "P21359", "Q8N726")
format
(オプション): 出力フォーマット - "pdb", "cif", "bcif", または "json" (デフォルト: "json")
例:
{
"uniprotId": "P04637",
"format": "json"
}
download_structure
指定されたフォーマットでAlphaFold構造ファイルをダウンロードします。
パラメータ:
uniprotId
(必須): UniProtアクセッション
format
(オプション): ファイルフォーマット - "pdb", "cif", または "bcif" (デフォルト: "pdb")
check_availability
UniProt IDに対するAlphaFold構造予測が利用可能かどうかを確認します。
パラメータ:
uniprotId
(必須): 確認するUniProtアクセッション
検索と発見ツール
search_structures
タンパク質名または遺伝子によって利用可能なAlphaFold構造を検索します。
パラメータ:
query
(必須): 検索用語 (タンパク質名、遺伝子名など)
organism
(オプション): 生物種でフィルタリング
size
(オプション): 結果の数 (1 - 100、デフォルト: 25)
list_by_organism
特定の生物種に利用可能なすべての構造をリスト表示します。
パラメータ:
organism
(必須): 生物種名 (例: "Homo sapiens", "Escherichia coli")
size
(オプション): 結果の数 (1 - 100、デフォルト: 50)
get_organism_stats
生物種に対するAlphaFoldのカバレッジに関する統計情報を取得します。
パラメータ:
信頼度と品質ツール
get_confidence_scores
構造予測の残基ごとの信頼度スコアを取得します。
パラメータ:
uniprotId
(必須): UniProtアクセッション
threshold
(オプション): 信頼度閾値 (0 - 100)
analyze_confidence_regions
信頼度スコアの分布を分析し、高/低信頼度の領域を特定します。
パラメータ:
uniprotId
(必須): UniProtアクセッション
get_prediction_metadata
予測のバージョン、日付、品質メトリックなどのメタデータを取得します。
パラメータ:
uniprotId
(必須): UniProtアクセッション
バッチ処理ツール
batch_structure_info
複数のタンパク質の構造情報を同時に取得します。
パラメータ:
uniprotIds
(必須): UniProtアクセッションの配列 (最大50)
format
(オプション): 出力フォーマット - "json" または "summary" (デフォルト: "json")
batch_download
複数の構造ファイルをダウンロードします。
パラメータ:
uniprotIds
(必須): UniProtアクセッションの配列 (最大20)
format
(オプション): ファイルフォーマット - "pdb" または "cif" (デフォルト: "pdb")
batch_confidence_analysis
複数のタンパク質の信頼度スコアを分析します。
パラメータ:
uniprotIds
(必須): UniProtアクセッションの配列 (最大30)
比較分析ツール
compare_structures
複数のAlphaFold構造を比較分析します。
パラメータ:
uniprotIds
(必須): 比較するUniProtアクセッションの配列 (2 - 10)
find_similar_structures
与えられたタンパク質に類似するAlphaFold構造を検索します。
パラメータ:
uniprotId
(必須): 参照用のUniProtアクセッション
organism
(オプション): 生物種でフィルタリング
カバレッジと完全性ツール
get_coverage_info
AlphaFold予測における配列カバレッジに関する情報を取得します。
パラメータ:
uniprotId
(必須): UniProtアクセッション
validate_structure_quality
AlphaFold予測の全体的な品質を検証および評価します。
パラメータ:
uniprotId
(必須): UniProtアクセッション
エクスポートと統合ツール
export_for_pymol
PyMOL可視化用にフォーマットされた構造データをエクスポートします。
パラメータ:
uniprotId
(必須): UniProtアクセッション
includeConfidence
(オプション): 信頼度スコアの色分けを含める (デフォルト: true)
export_for_chimerax
ChimeraX可視化用にフォーマットされた構造データをエクスポートします。
パラメータ:
uniprotId
(必須): UniProtアクセッション
includeConfidence
(オプション): 信頼度スコアの色分けを含める (デフォルト: true)
get_api_status
AlphaFold APIの状態とデータベースの統計情報を確認します。
パラメータ: なし
利用可能なリソース
リソーステンプレート
alphafold://structure/{uniprotId}
MIMEタイプ: application/json
説明: UniProt IDに対する完全なAlphaFold構造予測
alphafold://pdb/{uniprotId}
MIMEタイプ: chemical/x-pdb
説明: UniProt IDに対するPDBフォーマットの構造ファイル
alphafold://confidence/{uniprotId}
MIMEタイプ: application/json
説明: 構造予測の残基ごとの信頼度スコア
alphafold://summary/{organism}
MIMEタイプ: application/json
説明: 生物種に対するすべての利用可能な構造の概要
APIリファレンス
サーバーは https://alphafold.ebi.ac.uk/api/
のAlphaFold APIに接続し、以下のデータに構造化されたアクセスを提供します。
- 構造予測: 完全なタンパク質構造データ
- 信頼度スコア: 残基ごとの信頼性メトリック
- メタデータ: 予測のバージョン、日付、品質情報
- 相互参照: 他のデータベースやリソースへのリンク
エラーハンドリング
サーバーには、以下のエラーに対する包括的なエラーハンドリングが含まれています。
- 無効なUniProt ID
- 欠落した構造予測
- API接続問題
- レート制限とタイムアウト
- 不正なリクエスト
レート制限
APIの使用には注意してください。
- バッチ操作は適切なサイズに制限されています。
- 大きなリクエストは自動的に分割されます。
- 組み込みの遅延により、APIの過負荷が防止されます。
コントリビューション
コントリビューションは大歓迎です!以下の点を確認してください。
- TypeScriptの型安全性
- 包括的なエラーハンドリング
- 新機能のドキュメント化
- 実際のAlphaFoldデータを使用したテスト
概要
このプロジェクトは Augmented Nature によって開発されています - augmentednature.ai
Augmented Natureは、科学研究やデータ分析のためのAIパワードのツールとインフラストラクチャの作成に特化しています。
🔧 技術詳細
エラーハンドリング
サーバーには、無効なUniProt ID、欠落した構造予測、API接続問題、レート制限とタイムアウト、不正なリクエストなど、さまざまなエラーに対する包括的なエラーハンドリングが含まれています。
レート制限
APIの使用には注意が必要です。バッチ操作は適切なサイズに制限され、大きなリクエストは自動的に分割され、組み込みの遅延によりAPIの過負荷が防止されます。
📄 ライセンス
MITライセンス - 詳細はLICENSEファイルを参照してください。
引用
このMCPサーバーを研究で使用する場合は、以下を引用してください。
- AlphaFold Database: https://alphafold.ebi.ac.uk/
- Model Context Protocol: https://modelcontextprotocol.io/
サポート
問題や質問については、以下を確認してください。
- AlphaFold APIのドキュメントを確認する
- デバッグヒントのためにエラーメッセージを確認する
- UniProt IDが有効で最新であることを確認する
⚠️ 重要提示
このサーバーはAlphaFoldデータへの便利なインターフェースを提供しますが、構造データを保存またはキャッシュすることはありません。すべてのデータは公式のAlphaFold APIから直接取得されます。
引用
このプロジェクトを研究や出版物で使用する場合は、以下のように引用してください。
@misc{alphafoldmcp2025,
author = {Moudather Chelbi},
title = {AlphaFold MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/AlphaFold-MCP-Server},
note = {Accessed: 2025-06-29}