🚀 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 数据进行测试
关于
本项目由 Augmented Nature 开发 - augmentednature.ai
Augmented Nature 专注于为科学研究和数据分析创建人工智能驱动的工具和基础设施。
📄 许可证
本项目采用 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 获取。