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调用和参数格式化。