Skip to main content
Glama
README.md
# 🧬 BioLab MCP Server

> **The Stripe for Scientific Data** — Unified MCP server providing AI-agent-ready access to AlphaFold, PubMed, ChEMBL, Ensembl, and 37+ scientific databases.

[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://python.org)
[![MCP Protocol](https://img.shields.io/badge/MCP-Protocol-purple.svg)](https://modelcontextprotocol.io)

---

## What is BioLab MCP?

BioLab MCP is a premium [Model Context Protocol](https://modelcontextprotocol.io) server that gives AI agents (Claude, Cursor, etc.) direct access to the world's leading scientific databases through a single, reliable interface.

**Problem:** Researchers and AI developers need data from 10+ incompatible APIs with different auth methods, rate limits, and response formats.

**Solution:** One MCP server. One API key. All databases. Validated, structured responses.

---

## šŸš€ Quick Start

### 1. Install

```bash
git clone https://github.com/your-org/biolab-mcp-server
cd biolab-mcp-server
uv sync
```

### 2. Configure Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or
`%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "biolab": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/biolab-mcp-server", "biolab-server"]
    }
  }
}
```

### 3. Ask Claude

```
"Search AlphaFold for TP53 protein structure and confidence scores"
"Find the top 10 papers on CRISPR cancer therapy from 2023-2024"
"What drugs target EGFR? Show me IC50 values from ChEMBL"
"Are there any Phase 3 trials recruiting for lung cancer with pembrolizumab?"
```

---

## šŸ”¬ Available Tools (8 MCP Tools)

| Tool | Description | Databases |
|------|-------------|-----------|
| `query_alphafold` | Protein structure predictions with pLDDT scores | AlphaFold DB, UniProt |
| `search_pubmed` | Scientific literature with metadata extraction | PubMed, PMC |
| `query_chembl` | Drug compounds, IC50/Ki bioactivity data | ChEMBL |
| `get_genomic_data` | Gene locations and variant frequencies | Ensembl, gnomAD |
| `search_proteins` | Protein metadata and interaction networks | UniProt, STRING |
| `get_clinical_trials` | Clinical study search and monitoring | ClinicalTrials.gov |
| `find_drug_targets` | Disease-gene associations with confidence scores | Open Targets |
| `find_related_papers` | Cross-database semantic literature search | PubMed + Semantic Scholar + EuropePMC |

---

## šŸ’° Pricing

| Tier | Price | Requests/Month | Databases |
|------|-------|----------------|-----------|
| **Free** | $0/month | 100 | AlphaFold, PubMed, ChEMBL |
| **Researcher** | $24/month | 5,000 | All 37+ |
| **Lab** | $99/month | 50,000 | All 37+ + Team keys |
| **Enterprise** | Custom | Unlimited | All + Private deploy |

---

## šŸ› ļø Development

### Prerequisites
- Python 3.11+
- [uv](https://docs.astral.sh/uv/) package manager

### Setup

```bash
# Clone and install
git clone https://github.com/your-org/biolab-mcp-server
cd biolab-mcp-server
uv sync --dev

# Copy environment config
cp .env.example .env

# Generate an API key
uv run biolab generate-key --tier researcher --label "my-key"
```

### Run Tests

```bash
uv run pytest tests/ -v
```

### Project Structure

```
src/biolab/
ā”œā”€ā”€ server.py          # MCP Server (stdio transport, 8 tools)
ā”œā”€ā”€ auth.py            # API key management (SQLite)
ā”œā”€ā”€ cache.py           # Disk-based caching
ā”œā”€ā”€ config.py          # Settings via pydantic-settings
ā”œā”€ā”€ models.py          # Pydantic response models
ā”œā”€ā”€ cli.py             # CLI tools
└── tools/
    ā”œā”€ā”€ alphafold.py   # AlphaFold Database
    ā”œā”€ā”€ pubmed.py      # PubMed / PMC
    ā”œā”€ā”€ chembl.py      # ChEMBL drug database
    ā”œā”€ā”€ genomics.py    # Ensembl + gnomAD
    ā”œā”€ā”€ proteins.py    # UniProt + STRING
    ā”œā”€ā”€ clinical.py    # ClinicalTrials.gov
    ā”œā”€ā”€ targets.py     # Open Targets
    └── literature.py  # Cross-database search
```

---

## šŸ—ļø Architecture

```
Claude / Cursor (MCP Client)
        ↕ JSON-RPC 2.0 (stdio)
BioLab MCP Server (FastAPI + MCP SDK)
        ↕ HTTP + caching
Scientific Databases:
  AlphaFold DB ─ PubMed/PMC ─ ChEMBL
  Ensembl ─ gnomAD ─ UniProt ─ STRING
  ClinicalTrials.gov ─ Open Targets
  Semantic Scholar ─ Europe PMC
```

---

## šŸ¤ Contributing

We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

---

## šŸ“„ License

MIT License — see [LICENSE](LICENSE) for details.

Data from third-party databases is subject to their respective licenses. Please review terms for:
- [AlphaFold](https://alphafold.ebi.ac.uk/)
- [NCBI PubMed](https://www.ncbi.nlm.nih.gov/home/about/policies/)
- [ChEMBL](https://chembl.gitbook.io/chembl-interface-documentation/about)

---

## šŸ“¬ Contact

- **Website**: [biolabmcp.com](https://biolabmcp.com)
- **Email**: hello@biolabmcp.com
- **GitHub Issues**: For bug reports and feature requests