Boltz2 工具设置

本教程将指导您设置并运行基于MCP(模型上下文协议)服务器的Boltz2分子对接工具。

概述

该目录包含以下 MCP 服务器实现:

  • boltz_MCP.py:使用 Boltz2 提供分子对接功能

先决条件

硬件要求

  • GPU:推荐使用 NVIDIA A100 或 H100 GPU

系统要求

  • 基于Linux的系统(已在Ubuntu/CentOS上测试)

  • CUDA 兼容的 GPU 驱动程序

  • API 调用的网络访问

设置说明

1. Environment Setup

# Create and activate conda environment for Boltz2
conda create -n tooluniverse-env python=3.11 -c conda-forge -y
conda activate tooluniverse-env

# Navigate to the Boltz repository
git clone https://github.com/jwohlwend/boltz.git
cd boltz

# Install Boltz2 in editable mode with CUDA support
pip install -e ".[cuda]"

2. Verify Boltz2 Installation

# Test Boltz2 installation
python -c "import boltz; print('Boltz2 installed successfully')"

# Verify CUDA support
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"

3. Install ToolUniverse and MCP Dependencies

# Return to parent directory from boltz subdirectory
cd ..
# Install compatible NumPy version first
pip install "numpy==2.0"

# Install ToolUniverse
git clone https://github.com/mims-harvard/ToolUniverse.git
cd ToolUniverse

python -m pip install . --no-cache-dir

# Install additional dependencies
pip install pyarrow fastparquet lxml
pip install -U sentence-transformers

4. Environment Configuration

设置环境变量

在调用 ToolUniverse 的 MCP 工具的客户端机器上设置所需的环境变量(不要在运行该工具的 GPU 服务器上设置):

# For Boltz2 server (running on port 8080)
export BOLTZ_MCP_SERVER_HOST="your-gpu-hostname"

重要说明:即使 MCP 服务器运行在另一台 GPU 机器上,也请在执行 ToolUniverse 代码的机器上设置此变量。

查找您的GPU主机名:

# Get current hostname by running this command on the GPU where your MCP server will run.
hostname

# Example hostnames:
# - gpu-node-01
# - compute-a100-001.cluster.edu
# - localhost (if running locally)

运行 MCP 服务器

1. Start Boltz2 MCP Server

# Start the Boltz2 MCP server on the GPU where you want it to run.
python path/to/boltz_mcp_server.py

服务器将启动于 http://0.0.0.0:8080,但可通过您的 GPU 主机名访问(例如:http://your-gpu-hostname:8080),并提供分子对接功能。

使用示例

有关全面的使用示例和测试模式,请参阅测试文件:

# View MCP tool usage examples
cat ToolUniverse/src/tooluniverse/test/test_mcp_tool.py

该测试文件包含与Boltz2分子对接MCP服务器交互的详细示例,包括正确的API调用和参数格式化。