蛋白质结构预测服务

基于ESMFold的蛋白质分析服务,提供蛋白质序列嵌入提取、批量处理及作业监控功能。

  • by MacromNex
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Biomolecular-Design-Nexus/esmfold_mcp

使用说明

ESMfold MCP服务器

通过Docker使用ESMFold预测蛋白质结构

用于ESMFold蛋白质分析的MCP(模型上下文协议)服务器,具有5个核心工具:

  • 从序列或FASTA文件中提取ESM-2蛋白包埋
  • 提交大规模嵌入提取作业
  • 同时批量处理多个FASTA文件
  • 监控和检索后台作业结果
  • 访问服务器信息和可用型号

Docker快速入门

方法1:从GitHub中提取预构建映像

最快的开始方式。每次发布时,预构建的Docker镜像都会自动发布到GitHub容器注册表。

# Pull the latest image
docker pull ghcr.io/macromnex/esmfold_mcp:latest

# Register with Claude Code (runs as current user to avoid permission issues)
claude mcp add esmfold -- docker run -i --rm --user `id -u`:`id -g` --gpus all --ipc=host -v `pwd`:`pwd` ghcr.io/macromnex/esmfold_mcp:latest

注: 从项目目录运行。 `pwd` 展开到当前工作目录。

要求:

  • 支持GPU的Docker(nvidia-docker 或带有NVIDIA运行时的Docker)
  • 已安装克劳德代码

就是这样!ESMfold MCP服务器现在可以在Claude Code中使用。


方法2:在本地构建Docker镜像

自己构建映像并将其安装到Claude Code中。适用于自定义或离线环境。

# Clone the repository
git clone https://github.com/MacromNex/esmfold_mcp.git
cd esmfold_mcp

# Build the Docker image
docker build -t esmfold_mcp:latest .

# Register with Claude Code (runs as current user to avoid permission issues)
claude mcp add esmfold -- docker run -i --rm --user `id -u`:`id -g` --gpus all --ipc=host -v `pwd`:`pwd` esmfold_mcp:latest

注: 从项目目录运行。 `pwd` 展开到当前工作目录。

要求:

  • 支持GPU的Docker
  • 已安装克劳德代码
  • Git(克隆存储库)

关于Docker标志:

  • -i --Claude Code的交互模式
  • --rm --退出后自动移除容器
  • --user `id -u`:`id -g` --以当前用户身份运行容器,因此输出文件归您所有(不是root)
  • --gpus all --授予对所有可用GPU的访问权限
  • --ipc=host --使用主机IPC命名空间以获得更好的性能
  • -v --装载您的项目目录,以便容器可以访问您的数据

验证安装

添加MCP服务器后,您可以验证它是否正常工作:

# List registered MCP servers
claude mcp list

# You should see 'esmfold' in the output

在Claude Code中,您现在可以使用所有5个ESMfold工具:

  • extract_protein_embeddings
  • submit_protein_embeddings
  • submit_batch_protein_embeddings
  • get_job_status
  • get_job_result

后续步骤

  • 详细文件:参见 detail.md 有关以下内容的全面指南:
    • 可用的MCP工具和参数
    • 本地Python环境设置(Docker的替代方案)
    • ESM-2选型指南
    • 示例工作流和用例
    • 输出格式选项(NPZ、JSON)

使用示例

注册后,您可以直接在Claude Code中使用ESMfold工具。以下是一些常见的工作流程:

示例1:从FASTA中提取嵌入

I have protein sequences in /path/to/proteins.fasta. Can you extract ESM-2 embeddings using extract_protein_embeddings with the esm2_t33_650M_UR50D model and save the embeddings to /path/to/embeddings/?

示例2:大规模嵌入提取

I have a large dataset of 500 protein sequences in /path/to/large_dataset.fasta. Can you submit a batch embedding extraction job using submit_protein_embeddings with the esm2_t36_3B_UR50D model, then monitor the job until completion and retrieve the results?

示例3:突变嵌入分析

I have variant sequences in /path/to/variants.fasta for a mutational study. Can you extract embeddings for all variants using extract_protein_embeddings and save to /path/to/variant_embeddings/ so I can compare them?

故障排除

找不到Docker?

docker --version  # Install Docker if missing

GPU无法访问?

  • 确保安装了NVIDIA Docker运行时
  • 核对 docker run --gpus all ubuntu nvidia-smi

未找到克劳德代码?

# Install Claude Code
npm install -g @anthropic-ai/claude-code

许可证

基于元人工智能研究(ESMFold/ESM-2)