# Installation Guide
## Prerequisites
- **Python 3.12**
- **Conda** (recommended for managing CUDA dependencies)
- **NVIDIA GPU** with CUDA support (required for Evo2)
## Step-by-Step Installation
### 1. Install Evo2 Dependencies
Evo2 requires specific CUDA and deep learning dependencies that must be installed in a particular order. **This order is critical for proper functionality.**
#### Step 1.1: Install CUDA Dependencies
Using conda, install the NVIDIA CUDA toolkit components:
```bash
conda install -c nvidia cuda-nvcc cuda-cudart-dev
```
#### Step 1.2: Install Transformer Engine
Install the transformer engine for PyTorch:
```bash
conda install -c conda-forge transformer-engine-torch=2.3.0
```
#### Step 1.3: Install Flash Attention
Install flash-attn with the `--no-build-isolation` flag:
```bash
pip install flash-attn==2.8.0.post2 --no-build-isolation
```
**Note**: The `--no-build-isolation` flag is important for compatibility with the previously installed CUDA components.
#### Step 1.4: Install Evo2
Finally, install the Evo2 package:
```bash
pip install evo2
```
### 2. Install evo2-mcp
After completing all Evo2 dependencies, you can install the MCP server using pip:
```bash
pip install evo2_mcp
```
For development or latest changes:
```bash
pip install git+https://github.com/not-a-feature/evo2-mcp.git@main
```
To use this server with an MCP client, add the following to your `mcp.json` configuration:
```json
{
"mcpServers": {
"evo2-mcp": {
"command": "python",
"args": ["-m", "evo2_mcp.main"]
}
}
}
```
## Troubleshooting
### CUDA-related Errors
If you encounter CUDA-related errors:
1. Verify your NVIDIA GPU and driver are properly installed:
```bash
nvidia-smi
```
2. Ensure CUDA toolkit is accessible:
```bash
nvcc --version
```
3. Check that PyTorch detects CUDA:
```python
import torch
print(torch.cuda.is_available())
```
### Installation Order Issues
If Evo2 fails to import or run:
1. Uninstall all related packages:
```bash
pip uninstall evo2 flash-attn transformer-engine-torch -y
conda remove cuda-nvcc cuda-cudart-dev transformer-engine-torch -y
```
2. Follow the installation steps again in the exact order specified above.
### Memory Issues
Evo2 models are large and require significant GPU memory. If you encounter out-of-memory errors:
- Ensure you have a GPU with at least 16GB VRAM (24GB+ recommended)
- Close other GPU-intensive applications
- Consider using the dummy implementation for testing (see Development section)
## Development Installation (Without Evo2)
For testing and development without requiring the full Evo2 installation, you can use the dummy implementation:
```bash
# Set environment variable to use dummy implementation
export EVO2_MCP_USE_DUMMY=true # Linux/macOS
set EVO2_MCP_USE_DUMMY=true # Windows (cmd)
$env:EVO2_MCP_USE_DUMMY="true" # Windows (PowerShell)
# Install only the MCP server
pip install evo2_mcp
```
This is useful for:
- CI/CD pipelines
- Development without GPU access
- Testing MCP integration without model dependencies
## Verifying Installation
After installation, verify everything works:
```python
# Test Evo2 import
import evo2
# Test MCP server
from evo2_mcp import mcp
print("Installation successful!")
```
Or run the test suite:
```bash
# With real Evo2
pytest -m real_evo2
# With dummy implementation
EVO2_MCP_USE_DUMMY=true pytest
```