🚀 AlphaFold MCP Server
AlphaFold MCP Server 是一個全面的模型上下文協議(MCP)服務器,它通過豐富的工具和資源,為蛋白質結構預測分析提供對 AlphaFold 蛋白質結構數據庫的訪問。這個服務器能幫助研究人員、生物信息學家和結構生物學家更高效地處理和分析預測的蛋白質結構。
🚀 快速開始
本 MCP 服務器可與 AlphaFold 龐大的蛋白質結構預測集合實現無縫集成,提供結構檢索、置信度分析、批量處理和可視化準備等工具,非常適合從事預測蛋白質結構研究的科研人員、生物信息學家和結構生物學家使用。
✨ 主要特性
🧬 核心結構工具
- 結構檢索:通過 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
:分析置信度分數分佈並識別高/低置信度區域。
get_prediction_metadata
:獲取預測的元數據,包括版本、日期和質量指標。
批量處理工具
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 預測中序列覆蓋的信息。
validate_structure_quality
:驗證和評估 AlphaFold 預測的整體質量。
導出與集成工具
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 API 來獲取數據,並提供了豐富的工具和資源,方便用戶進行蛋白質結構預測分析。代碼結構清晰,便於擴展和維護。
📄 許可證
本項目採用 MIT 許可證,詳情請參閱 LICENSE 文件。
引用
如果您在研究中使用了此 MCP 服務器,請引用以下內容:
- AlphaFold 數據庫:https://alphafold.ebi.ac.uk/
- 模型上下文協議:https://modelcontextprotocol.io/
引用格式
如果您在研究或出版物中使用了本項目,請按以下方式引用:
@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}
}
貢獻
歡迎貢獻代碼!請確保:
- 代碼具備 TypeScript 類型安全。
- 有全面的錯誤處理機制。
- 為新功能提供文檔說明。
- 使用真實的 AlphaFold 數據進行測試。
關於
本項目由 Augmented Nature 開發 - augmentednature.ai。Augmented Nature 專注於為科學研究和數據分析創建人工智能驅動的工具和基礎設施。
支持
如果您遇到問題或有疑問,請:
- 查閱 AlphaFold API 文檔。
- 查看錯誤消息以獲取調試提示。
- 確保 UniProt ID 有效且最新。
⚠️ 重要提示
本服務器提供了一個方便的接口來訪問 AlphaFold 數據,但不存儲或緩存結構數據。所有數據均直接從官方 AlphaFold API 獲取。