蛋白质设计MCP服务器
 ](https://hub.docker.com/r/jeonghyeonkim8652/protein-design-mcp)   
一 主控程序 该服务器允许LLM代理访问计算蛋白质设计工具。让你的法学硕士设计活页夹、生成从头折叠、预测结构、评分界面,或者用Rosetta放松——它会自动调用正确的工具。
共19个工具,涵盖生成设计、结构预测、基于物理的评分和分析。基于RFdiffusion、ProteinMPNN、ESMFold、AlphaFold2构建, 螺栓-2, PyRosettaESM2和OpenMM。
| 分发 | 开箱即用的工具 | 附加功能 |
|---|---|---|
pip install "protein-design-mcp[gpu]" | 13个核心工具 | [rosetta] (需要许可证), [boltz] (孤立静脉) |
docker pull jeonghyeonkim8652/protein-design-mcp | 13个核心工具(GPU),10个(CPU) | PyRosetta/Boltz未捆绑(许可证+火炬冲突) |
6种非捆绑工具(rosetta_* x4, predict_*_boltz x2)通过pip extras干净地安装——请参阅 可选工具.
安装
选择适合你情况的方法。从最简单到最可定制。
______________________________________________________________________
1.自动设置(推荐)
一个命令。检测您的环境,提取Docker(如果可用),写入MCP客户端配置。
pip install protein-design-mcp
protein-design-mcp-setup它的作用:
- 检查Docker和NVIDIA GPU
- 拉取Docker镜像(或回退到本地Python模式)
- 自动写入Claude Desktop或Claude Code的配置
- 模型权重在第一次工具调用时延迟下载
选项:
protein-design-mcp-setup --docker # Force Docker mode
protein-design-mcp-setup --local # Force local Python mode
protein-design-mcp-setup --modal URL # Use Modal cloud GPU
protein-design-mcp-setup -y # Skip confirmation prompt______________________________________________________________________
2.史密斯利
如果你使用 史密瑟里:
npx -y @smithery/cli install protein-design-mcp --client claude______________________________________________________________________
3.pip+手动配置
pip install protein-design-mcp # Core CPU (10 tools)
pip install "protein-design-mcp[gpu]" # + PyTorch + ESM (13 tools)
pip install "protein-design-mcp[gpu,rosetta]" # + PyRosetta (17 tools) *
pip install "protein-design-mcp[gpu,rosetta,boltz]" # + Boltz-2 (all 19 tools) **\*PyRosetta需要一个 免费学术许可The [rosetta] 额外安装 pyrosetta-installer 它会在您接受许可证后提取车轮。
\*\*Boltz需要 torch>=2.2 这与RFdiffusion的 torch==2.0.1.安装在隔离的真空中,而不是旁边 [gpu].
添加到MCP客户端配置中:
克劳德桌面版 (~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"protein-design": {
"command": "protein-design-mcp"
}
}
}克劳德代码 (.mcp.json 在项目根目录中):
{
"mcpServers": {
"protein-design": {
"command": "protein-design-mcp"
}
}
}编辑配置后重新启动客户端。
______________________________________________________________________
4.Docker
隔离、可复制的环境,预装了所有计算后端。 主注册表: .
拉
# Latest release (GPU image, ~12GB, bundles RFdiffusion + ProteinMPNN + ESMFold + ColabFold + ESM2 + OpenMM)
docker pull jeonghyeonkim8652/protein-design-mcp:latest
docker pull jeonghyeonkim8652/protein-design-mcp:1.0.0 # pin a specific versionGHCR反射镜(等效):
docker pull ghcr.io/jasonkim8652/protein-design-mcp:latest图片中包含的工具: 第13页,共19页6个许可证/冲突门控工具(rosetta_*, predict_*_boltz)没有捆绑在一起,而是通过pip extras安装。看 可选工具.
运行(GPU)
模型权重在首次使用时缓慢下载,并保存在指定的卷中,因此后续运行是即时的:
docker volume create protein-design-models
docker run --rm -i \
--gpus all \
-v protein-design-models:/models \
-v $(pwd):/data \
jeonghyeonkim8652/protein-design-mcp:latestGPU模式需要 NVIDIA容器工具包映像stdin/stdout是MCP协议——您通常不会直接运行它,您的MCP客户端会运行它(见下文)。
运行(CPU)
无GPU——适用于同一图像:
docker run --rm -i \
-e DEVICE=cpu \
-v protein-design-models:/models \
-v $(pwd):/data \
jeonghyeonkim8652/protein-design-mcp:latestCPU模式禁用 design_binder, design_fold, generate_backbone (RFdiffusion仅适用于GPU)→ 10 工具可用。
MCP客户端配置
克劳德桌面版 (~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上,或 %APPDATA%/Claude/claude_desktop_config.json 在Windows上):
{
"mcpServers": {
"protein-design": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--gpus", "all",
"-e", "SKIP_MODEL_DOWNLOAD=true",
"-v", "protein-design-models:/models",
"-v", "/absolute/path/to/your/pdbs:/data",
"jeonghyeonkim8652/protein-design-mcp:latest"
]
}
}
}克劳德代码 (.mcp.json 在项目根目录中):
{
"mcpServers": {
"protein-design": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--gpus", "all",
"-v", "protein-design-models:/models",
"-v", "${workspaceFolder}:/data",
"jeonghyeonkim8652/protein-design-mcp:latest"
]
}
}
}对于 仅CPU主机,下降 "--gpus", "all" 并添加 "-e", "DEVICE=cpu".
编辑配置后重新启动MCP客户端。
Docker Hub上可用的标签
| 标签 | 目的 |
|---|---|
latest | 跟踪上的最新版本 main |
1.0.0, 1.0, 1 | 塞姆弗钉(建议用于生产) |
| `` | 精确提交SHA(不可变) |
查看完整的标签列表 .
本地建设
git clone https://github.com/jasonkim8652/protein-design-mcp.git
cd protein-design-mcp
docker build -t protein-design-mcp:dev . # GPU image
docker build -f Dockerfile.lite -t protein-design-mcp:lite . # CPU-only, ~3-5GBGPU构建需要约30 GB的可用磁盘和约20分钟。
______________________________________________________________________
5.模态(云GPU)
没有本地GPU?部署到您自己的 模态 账户按需无服务器GPU,按秒计费(约1.10美元/小时A10G)。容器在闲置5分钟后自动停止。
pip install modal
modal setup # One-time: link your Modal account
git clone https://github.com/jasonkim8652/protein-design-mcp.git
cd protein-design-mcp
pip install -e .
modal deploy deploy/modal_app.py # Deploy GPU endpoint部署后,Modal会打印您的端点URL。通过本地代理连接:
{
"mcpServers": {
"protein-design": {
"command": "python",
"args": ["-m", "protein_design_mcp.modal_proxy"],
"env": {
"MODAL_URL": "https://--protein-design-tools.modal.run"
}
}
}
}全部19种工具可用。本地PDB文件会自动发送到Modal。
______________________________________________________________________
6.来源(发展)
git clone https://github.com/jasonkim8652/protein-design-mcp.git
cd protein-design-mcp
pip install -e ".[gpu,dev]"
python -m protein_design_mcp.server______________________________________________________________________
CPU与GPU
| GPU | CPU | |
|---|---|---|
| 可用工具 | 所有19 | 14(否 design_binder, design_fold, generate_backbone, predict_structure_boltz, predict_affinity_boltz) |
| 射频扩散 | ~ 30s/设计 | 已禁用 |
| 螺栓-2 | ~10-30s | 已禁用 |
| ESMFold | ~10s | ~2-5min |
| ESM2 | ~5秒 | ~30秒 |
| 蛋白质MPNN | 约30秒 | 约5-10分钟 |
| PyRosetta | 快速 | 可比 |
| OpenMM | 快速 | 可比 |
| AlphaFold2(API) | 作品 | 作品 |
GPU被自动检测。要强制CPU模式,请设置 DEVICE=cpu.
可用工具
标记的工具 (可选) 没有捆绑在Docker镜像中。看 可选工具 用于安装。
设计与生成
design_binder (仅GPU)
端到端粘合剂设计:RF扩散(骨架)->ProteinMPNN(序列)->ESMFold(验证)。
{
"target_pdb": "path/to/target.pdb",
"hotspot_residues": ["A45", "A46", "A49"],
"num_designs": 10,
"binder_length": 80
}返回带有序列、PDB结构、pLDDT、pTM和mpnn_score的排名设计。
generate_backbone (仅GPU)
使用无条件射频扩散从头生成骨架。不需要靶蛋白。
{"length": 100, "num_designs": 5}design_fold (仅GPU)
端到端从头折叠设计:射频扩散(无条件骨干)→ 蛋白质MPNN(序列)→ AlphaFold2(验证,退回ESMFold)。返回按pLDDT/pTM筛选的排名设计。
{"length": 120, "num_designs": 10, "num_sequences_per_backbone": 4}design_sequence
使用ProteinMPNN设计给定骨架的序列。不像 optimize_sequence (它改进了现有的序列),这种设计从零开始,只提供了一个骨干PDB——之后的正确工具 generate_backbone可选择使用ESMFold验证每个设计。
{
"backbone_pdb": "path/to/backbone.pdb",
"num_sequences": 8,
"sampling_temp": 0.1,
"fixed_positions": [1, 5, 10],
"validate": true
}optimize_sequence
使用ProteinMPNN重新设计蛋白质序列以提高稳定性和/或结合亲和力。
{
"current_sequence": "MTKLYV...",
"target_pdb": "path/to/target.pdb",
"optimization_target": "both",
"fixed_positions": [1, 5, 10]
}结构预测
predict_structure
通过ESMFold(快速)或AlphaFold2(准确)进行单链结构预测。
{"sequence": "MTKLYV...", "predictor": "esmfold"}返回PDB文件,平均pLDDT,pTM,每残留置信度。
predict_complex
使用AlphaFold2多聚体进行多链复杂结构预测。
{
"sequences": ["BINDER_SEQ...", "TARGET_SEQ..."],
"chain_names": ["binder", "target"]
}使用pLDDT、pTM/ipTM和PAE矩阵返回预测的复杂PDB。
predict_structure_boltz (仅GPU, 可选的)
单链结构预测 螺栓-2 --与AF2竞争的快速、高精度开放式模型。
{"sequence": "MTKLYV...", "model": "boltz2", "num_samples": 1}返回预测的PDB、平均pLDDT、pTM。
predict_affinity_boltz (仅GPU, 可选的)
用Boltz-2预测多链复合物+结合亲和力。返回亲和力得分以及预测的复杂结构和置信度指标。
{"sequences": ["BINDER_SEQ...", "TARGET_SEQ..."], "model": "boltz2"}validate_design
预测设计序列的结构,并根据参考值计算RMSD。
{
"sequence": "MTKLYV...",
"expected_structure": "path/to/reference.pdb",
"predictor": "esmfold"
}分析与评分
analyze_interface
分析蛋白质-蛋白质界面:接触、埋表面积、氢键、盐桥。
{"complex_pdb": "path/to/complex.pdb", "chain_a": "A", "chain_b": "B"}suggest_hotspots
从多个来源预测绑定热点。接受蛋白质名称、UniProt ID、PDB ID或文件路径。
{"target": "EGFR", "criteria": "druggable", "include_literature": true}标准: "exposed" (SASA), "druggable" (口袋几何形状), "conserved" (进化)。
score_stability
通过ESM2伪对数似然法进行蛋白质稳定性评分。可选择对单个突变进行评分。
{
"sequence": "MTKLYV...",
"mutations": ["A42G", "L55V"]
}返回总体稳定性得分和每个突变的增量对数似然性(稳定/不稳定)。
energy_minimize
OpenMM(AMBER14+隐式溶剂)的全原子能量最小化。
{"pdb_path": "path/to/structure.pdb", "num_steps": 500, "solvent": "implicit"}从输入中返回最小化的PDB、能量变化和RMSD。
Rosetta(基于物理的设计和评分)-- 可选的
PyRosetta支持的基于物理的评分、放松和固定骨干设计工具。全部使用 ref2015 默认情况下。 未捆绑在Docker中 --通过安装 pip install "protein-design-mcp[rosetta]" 在接受PyRosetta许可证后。
rosetta_score
使用Rosetta能量函数对结构进行评分。返回总分、每残基能量和成分分解。
{"pdb_path": "path/to/structure.pdb", "score_function": "ref2015"}rosetta_relax
FastRelax协议,以找到低能量构象。从输入中返回放松的PDB、前后能量和CA-RMSD。
{"pdb_path": "path/to/structure.pdb", "nstruct": 1}rosetta_interface_score
通过以下方式进行接口分析 InterfaceAnalyzerMover:结合能(dG_分离)、埋表面积(dSASA)、界面氢键、封隔剂。
{"pdb_path": "path/to/complex.pdb", "chains": "A_B"}rosetta_design
固定骨干网重新设计管道:得分→ PackRotamers→ MinMover→ 分数。返回设计的PDB、突变列表和能量增量。复合工具——在基准测试模式下,调用 rosetta_score / rosetta_relax 相反,个人。
{"pdb_path": "path/to/input.pdb", "chains": "A_B", "fixed_positions": [12, 14, 18]}效用
get_design_status
检查长时间运行的设计作业的进度。
{"job_id": "abc123"}可选工具:PyRosetta+Boltz-2
这6个工具(rosetta_score, rosetta_relax, rosetta_interface_score, rosetta_design, predict_structure_boltz, predict_affinity_boltz)都是 未包含在Docker镜像中 因为:
- PyRosetta 需要Rosetta许可证(学术免费,商业付费),并且不能在容器中合法重新分发。
- 螺栓-2 需求
torch>=2.2,而RFdiffusion的依赖链(e3nn,dgl)引脚torch==2.0.1两者不能共存。
安装PyRosetta工具
- 注册于 pyroseta.org/下载 并接受许可。
- 在MCP服务器旁边安装:
pip install "protein-design-mcp[gpu,rosetta]"
python -c "import pyrosetta_installer; pyrosetta_installer.install_pyrosetta()"- 验证:
python -c "import pyrosetta; print(pyrosetta.__version__)"
The 4 rosetta_* 工具立即可用。
安装Boltz-2工具
创建一个单独的virtualenv(与RFdiffusion割炬堆栈隔离):
python -m venv ~/.venvs/protein-design-boltz
source ~/.venvs/protein-design-boltz/bin/activate
pip install "protein-design-mcp[boltz]"然后把你的MCP客户端指向这个venv protein-design-mcp 二进制(或运行两个MCP服务器——一个用于RFdiffusion/Docker工具,一个用于Boltz)。
并排配置两个MCP服务器
{
"mcpServers": {
"protein-design": {
"command": "docker",
"args": ["run", "-i", "--rm", "--gpus", "all",
"-v", "protein-design-models:/models",
"jeonghyeonkim8652/protein-design-mcp:latest"]
},
"protein-design-boltz": {
"command": "/home/you/.venvs/protein-design-boltz/bin/protein-design-mcp"
}
}
}您的LLM将通过两个服务器查看所有19个工具,并调用适当的工具。
配置
| 变量 | 描述 | 默认值 |
|---|---|---|
DEVICE | "auto", "cuda",或 "cpu" | auto |
RFDIFFUSION_PATH | 射频扩散安装路径 | /opt/RFdiffusion |
PROTEINMPNN_PATH | ProteinMPNN安装路径 | /opt/ProteinMPNN |
COLABFOLD_BACKEND | "api" (远程MSA)或 "local" (本地数据库) | api |
CACHE_DIR | 缓存目录 | ~/.cache/protein-design-mcp |
TORCH_HOME | ESM模型权重目录 | (PyTorch默认) |
SKIP_MODEL_DOWNLOAD | 在Docker中跳过急切的权重下载 | true |
建筑
MCP Server (stdio)
|
+-- Design tools
| +-- design_binder RFdiffusion -> ProteinMPNN -> ESMFold
| +-- design_fold RFdiffusion -> ProteinMPNN -> AlphaFold2
| +-- generate_backbone RFdiffusion (unconditional)
| +-- design_sequence ProteinMPNN (+ optional ESMFold validation)
| +-- optimize_sequence ProteinMPNN + ESMFold
|
+-- Structure prediction
| +-- predict_structure ESMFold or AlphaFold2
| +-- predict_complex AlphaFold2-Multimer (ColabFold)
| +-- predict_structure_boltz Boltz-2 (monomer)
| +-- predict_affinity_boltz Boltz-2 (complex + affinity)
| +-- validate_design Structure prediction + RMSD
|
+-- Rosetta (PyRosetta)
| +-- rosetta_score ref2015 energy scoring
| +-- rosetta_relax FastRelax
| +-- rosetta_interface_score InterfaceAnalyzerMover
| +-- rosetta_design PackRotamers + MinMover
|
+-- Analysis tools
| +-- analyze_interface PDB geometry analysis
| +-- suggest_hotspots SASA + pockets + UniProt + PubMed
| +-- score_stability ESM2 pseudo-log-likelihood
| +-- energy_minimize OpenMM (AMBER14)
|
+-- Utilities
+-- get_design_status Job queue polling
+-- Structure fetching (RCSB, AlphaFold DB, UniProt)
+-- Conservation scoring, caching发展
git clone https://github.com/jasonkim8652/protein-design-mcp.git
cd protein-design-mcp
pip install -e ".[gpu,dev]"
pytest tests/ # Run tests
ruff check . # Lint
black . # Format
mypy src/ # Type check许可证
Apache许可证2.0-请参阅 许可证 了解详情。
