🚀 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 获取。