This document describes how to use the Protein Hunter MCP (Model Context Protocol) server.
Protein Hunter MCP provides protein design and analysis capabilities through the Model Context Protocol, enabling AI assistants to perform complex protein engineering tasks.
uvx protein-hunter-mcp stdio# Install dependencies
uv sync
# Run post-installation (PyRosetta, Boltz weights, etc.)
uv run postinstall.pyDefault mode for MCP client integration:
# Using uvx (from PyPI)
uvx --from protein-hunter-mcp@latest stdio
# Using uv run (local development)
uv run protein-hunter-mcp stdio
# Or directly
uv run server.py stdioFor web-based integrations:
uv run protein-hunter-mcp http --host 0.0.0.0 --port 3003For SSE-based integrations:
uv run protein-hunter-mcp sse --host 0.0.0.0 --port 3003Run with custom transport:
uv run protein-hunter-mcp server --transport stdio --port 3003Add to your MCP configuration file:
For published version:
{
"mcpServers": {
"protein-hunter-mcp": {
"command": "uvx",
"args": ["--from", "protein-hunter-mcp@latest", "stdio"]
}
}
}For local development:
{
"mcpServers": {
"protein-hunter-mcp": {
"command": "uv",
"args": ["--directory", "/data/sources/protein_hunter_mcp", "run", "server.py", "stdio"]
}
}
}- Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.json - Cline (VSCode): Configure in Cline settings
A simple test tool to verify the server is working.
Parameters:
name(str, optional): Name to greet (default: "World")
Returns:
message: Greeting messageversion: Server versiontransport: Transport mode being usedoutput_dir: Output directory path
Example:
{
"name": "ph_hello",
"arguments": {
"name": "Protein Hunter"
}
}Response:
{
"message": "Hello, Protein Hunter!",
"version": "0.1.0",
"transport": "stdio",
"output_dir": "/path/to/protein_hunter_output"
}ph_boltz_predict: Predict protein structures using Boltzph_chai_predict: Predict protein structures using Chai-labph_ligandmpnn_design: Design proteins with LigandMPNNph_pyrosetta_refine: Refine protein structures with PyRosettaph_analyze_structure: Analyze protein structure propertiesph_visualize: Visualize protein structures
By default, the server creates output files in ./protein_hunter_output/. You can customize this:
uv run protein-hunter-mcp stdio --output-dir /path/to/custom/outputMCP_HOST: Default host (default: "0.0.0.0")MCP_PORT: Default port (default: "3003")MCP_TRANSPORT: Default transport mode (default: "stdio")
Run tests:
uv run pytestRun with coverage:
uv run pytest --cov=protein_hunter_mcpprotein_hunter_mcp/
├── src/
│ └── protein_hunter_mcp/
│ ├── __init__.py
│ └── server.py # Main server implementation
├── server.py # Entry point
├── pyproject.toml # Project configuration
├── mcp-config.json # MCP client config (stdio)
└── mcp-config-server.json # MCP client config (server mode)
- Add method to
ProteinHunterMCPclass inserver.py - Register in
_register_tools()method - Document in this file
- Add tests in
test/
Format code:
uv run ruff format .Lint code:
uv run ruff check .Type check:
uv run mypy src/- Check dependencies are installed:
uv sync - Verify post-installation completed:
uv run postinstall.py - Check logs for specific errors
- Verify the server starts manually:
uv run protein-hunter-mcp stdio - Check MCP configuration file syntax
- Restart the MCP client application
Ensure CUDA drivers are properly installed for Boltz operations:
nvidia-smi # Check GPU availabilityFor issues, please check:
- Project README.md
- MIGRATION.md (for conversion notes)
- GitHub Issues (if repository is public)
See LICENSE file for details.