🚀 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 過載
🔧 技術細節
該服務器由 Augmented Nature 開發,在開發過程中注重 TypeScript 的類型安全,包含全面的錯誤處理機制,為新功能提供文檔,並使用真實的 AlphaFold 數據進行測試。
📄 許可證
本項目採用 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}
}
支持
如果您遇到問題或有疑問,請:
- 查看 AlphaFold API 文檔
- 查看錯誤消息以獲取調試提示
- 確保 UniProt ID 有效且最新
注意:本服務器提供了一個方便的接口來訪問 AlphaFold 數據,但不存儲或緩存結構數據。所有數據均直接從官方 AlphaFold API 獲取。