Skip to main content
Glama
README.md
# ๐Ÿ”ฌ PocketScout MCP

**Scout the binding landscape before you design the binder.**

PocketScout is a fast triage tool for drug-target binding sites โ€” it gives an AI assistant the tools to pull together everything known about a protein's pockets (structure, chemistry, conservation, literature) into a single briefing in minutes. It's especially handy as the reconnaissance step before computational binder design, filling the gap between *"I have a target"* and *"I'm running RFdiffusion."*

## Get Started

### Use instantly on claude.ai (no install)

1. Go to [claude.ai โ†’ Customize โ†’ Connectors โ†’ **+**](https://claude.ai/customize/connectors)
2. Name: `PocketScout`
3. URL: `https://pocketscout-mcp.up.railway.app/mcp`
4. Ask Claude:

> "Assess KRAS G12C (PDB 6OIM) as a target for de novo protein binder design. Where are the best pockets, and what should I watch out for?"

### Use with Claude Code

```bash
claude mcp add pocketscout --transport http https://pocketscout-mcp.up.railway.app/mcp
```

### Use with Claude Desktop

Add to your `claude_desktop_config.json`:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "pocketscout": {
      "url": "https://pocketscout-mcp.up.railway.app/mcp"
    }
  }
}
```

Restart Claude Desktop, then ask Claude to assess a target.

---

## The Problem

Drug discovery scientists spend hours to days manually gathering information across 6-10 browser tabs before they can make an informed decision about a target. Scientists evaluating an unfamiliar target, new team members trying to get up to speed, and scouting or BD roles screening many candidates face the same bottleneck: they check UniProt for function, browse PDB for structures, search ChEMBL for prior art, read papers for allosteric insights โ€” and then synthesize it all in their heads.

This manual triage step is where campaigns quietly go wrong. A scientist picks the obvious orthosteric site without checking that 200 compounds have already failed there. They miss an allosteric pocket described in a 2023 paper. They don't realize the binding site residues aren't conserved in mouse until their in vivo model fails. For binder-design campaigns specifically, it's the gap between "I have a target" and knowing which pocket to hand off to RFdiffusion.

## The Solution

PocketScout gives an AI assistant (Claude, or any MCP-compatible model) the tools to perform systematic binding site triage in minutes instead of hours โ€” whether you're screening a target for the first time, briefing a new team member, or preparing a computational design campaign. Eight tools compose into a scientific workflow that reflects how expert medicinal chemists actually evaluate targets.

## Tools

| Tool | What it does | Key APIs |
|------|-------------|----------|
| `characterize_target` | Biological context + AlphaFold confidence | UniProt, AlphaFold DB |
| `get_related_structures` | All PDB structures, ligands, quality | RCSB PDB Search |
| `get_binding_sites` | Map known pockets with residue contacts | RCSB PDB Data + gemmi |
| `get_ligand_history` | Competitive landscape from bioactivity data | ChEMBL |
| `check_conservation` | Human vs. mouse at binding residues | UniProt Orthologs |
| `search_target_literature` | Structural/design-focused papers | PubMed E-utilities |
| `check_known_variants` | Flag known disease/resistance variants at binding-site residues | UniProt |
| `consolidate_binding_sites` | Union of pockets across all structures of a target, ranked by recurrence | RCSB PDB + gemmi |

### Orchestration Prompts

`target_briefing` โ€” Quick triage briefing for a drug target: what the protein is, its main pockets, the competitive landscape, and the one or two things worth knowing before going deeper. Use this for fast first-pass assessment.

`binding_site_assessment` โ€” In-depth, design-focused workup. Guides the AI through all tools in scientific workflow order, producing a ranked recommendation of binding regions with evidence, trade-offs, and design parameters.

### Install locally (optional)

If you prefer to run the server yourself:

```bash
pip install pocketscout-mcp
```

Or from source:

```bash
git clone https://github.com/Proprius-Labs/pocketscout-mcp.git
cd pocketscout-mcp
pip install -e .
```

> **Requires Python 3.11+.** If your system Python is older, use [uv](https://docs.astral.sh/uv/): `uv pip install pocketscout-mcp`

Then configure Claude Desktop to run locally:

```json
{
  "mcpServers": {
    "pocketscout": {
      "command": "pocketscout-mcp"
    }
  }
}
```

> **Tip**: If you installed in a virtual environment, use the full path:
> `"command": "/path/to/venv/bin/pocketscout-mcp"`

### Test with MCP Inspector

```bash
fastmcp dev src/pocketscout_mcp/server.py
```

## Design Decisions

### Why these tools?

The tool set reflects the actual decision workflow of an experienced drug discovery scientist evaluating a new target. Each tool answers a specific question that gates the next decision:

1. **characterize_target**: *"What am I looking at?"* โ€” You can't interpret binding sites without knowing the protein family, location, and structure quality. AlphaFold confidence is included here because it determines whether downstream structural analysis is trustworthy.

2. **get_related_structures**: *"How much do we know?"* โ€” A target with 200 co-crystal structures is a different problem than one with a single cryo-EM map. This step sets expectations for the binding site analysis.

3. **get_binding_sites**: *"Where can I bind?"* โ€” The core deliverable. Downloads the mmCIF coordinate file, uses gemmi to compute residue contacts within 4.5 A of each co-crystallized ligand, and classifies pockets (orthosteric, allosteric, cofactor) with size-based druggability assessment. When a structure has both cofactor and non-cofactor ligands, non-overlapping sites are automatically reclassified as allosteric.

4. **get_ligand_history**: *"What's been tried?"* โ€” Determines whether you're entering a crowded or greenfield space. A crowded orthosteric site argues for novel sites or modalities.

5. **check_conservation**: *"Will my mouse model work?"* โ€” Non-conserved binding residues mean your preclinical model may give misleading results. This is the step most scientists skip โ€” and the one that most often causes late-stage failures.

6. **search_target_literature**: *"What do the experts know that the databases don't?"* โ€” Cryptic sites from MD simulations, allosteric mechanisms from mutagenesis studies, resistance mutations that reshape pockets โ€” these insights live in papers, not databases.

7. **check_known_variants**: *"Will this pocket mutate out from under me?"* โ€” Binding-site residues that are documented resistance/disease variants (e.g. EGFR T790M) flag pockets that change under drug pressure.

8. **consolidate_binding_sites**: *"Which pocket is real and recurrent?"* โ€” Unions pockets across all structures of a target so the dominant, repeatedly-observed site stands out from one-offs.

### Why not include pocket prediction?

Tools like fpocket, P2Rank, and SiteMap predict novel binding sites computationally. These are valuable but require computational infrastructure (CPU/GPU) that doesn't fit the MCP model of lightweight API-based tools. PocketScout focuses on *known* binding intelligence from experimental data and literature. Pocket prediction belongs in a separate compute-oriented server.

### Why pre-compute interpretations?

Each tool returns both raw data and an `interpretation` field with scientific context. This is a deliberate design choice: the interpretation encodes domain expertise that helps the AI make better reasoning decisions. A raw list of ChEMBL activities is harder for Claude to reason about than a structured competitive landscape assessment.

### Why local-context conservation across mouse, rat, and cynomolgus?

Full multi-species conservation requires multiple sequence alignment, which is computationally expensive and error-prone without proper gap handling. The tool now checks three preclinical model organisms โ€” mouse (NCBI taxonomy 10090), rat (10116), and cynomolgus macaque (9541) โ€” covering both rodent and non-human primate translatability questions in a single call. Each species is assessed independently using local-context (sliding-window) matching to handle insertions/deletions between the human and ortholog sequences, providing accurate residue correspondence without requiring a full MSA or a BioPython dependency. The tool is deliberately kept lightweight: no MSA, no external alignment tools, no heavy dependencies.

## Architecture

```
User: "Assess PDB 7S4S for de novo binder design"
  โ”‚
  โ–ผ
Claude (or any MCP client)
  โ”‚
  โ”œโ”€โ”€ characterize_target(pdb_id="7S4S")
  โ”‚     โ””โ”€โ”€ UniProt API + AlphaFold DB
  โ”‚
  โ”œโ”€โ”€ get_related_structures(pdb_id="7S4S")
  โ”‚     โ””โ”€โ”€ RCSB PDB Search API
  โ”‚
  โ”œโ”€โ”€ get_binding_sites(pdb_id="7S4S")
  โ”‚     โ””โ”€โ”€ RCSB PDB Data API
  โ”‚
  โ”œโ”€โ”€ get_ligand_history(uniprot_id="...")
  โ”‚     โ””โ”€โ”€ ChEMBL REST API
  โ”‚
  โ”œโ”€โ”€ check_conservation(uniprot_id="...", residues=[...])
  โ”‚     โ””โ”€โ”€ UniProt Orthologs
  โ”‚
  โ”œโ”€โ”€ check_known_variants(uniprot_id="...", residues=[...])
  โ”‚     โ””โ”€โ”€ UniProt variants
  โ”‚
  โ”œโ”€โ”€ consolidate_binding_sites(uniprot_id="...")
  โ”‚     โ””โ”€โ”€ RCSB PDB + gemmi (cross-structure)
  โ”‚
  โ””โ”€โ”€ search_target_literature(gene_name="...")
        โ””โ”€โ”€ PubMed E-utilities
  โ”‚
  โ–ผ
Ranked binding site assessment with evidence + trade-offs
```

## Example Output

See [examples/egfr_assessment.md](examples/egfr_assessment.md) for a complete walkthrough using EGFR (PDB 1M17) โ€” a well-studied kinase with rich structural and chemical data.

## Configuration

### PubMed API Key (optional but recommended)

NCBI rate limits to 3 requests/second without a key. Get a free key at [NCBI](https://www.ncbi.nlm.nih.gov/account/settings/) and set:

```bash
export NCBI_API_KEY=your_key_here
```

## Limitations

- **No pocket prediction**: PocketScout reports *known* binding sites from experimental structures. Novel/cryptic site prediction requires computational tools not included here.
- **Simplified conservation**: Human vs. mouse, rat, and cynomolgus comparison using local context matching. Handles indels but not a full MSA โ€” accurate for most drug targets.
- **Public data only**: All data comes from public APIs (UniProt, PDB, ChEMBL, PubMed, AlphaFold DB). Proprietary databases are not accessed.

## Roadmap

- [x] Coordinate-level binding site analysis with gemmi
- [x] Per-residue AlphaFold pLDDT from CIF files
- [x] Multi-species conservation (mouse/rat/cynomolgus via local-context matching)
- [ ] Integration with computational pocket prediction (fpocket MCP)
- [ ] Allosteric site detection from ensemble structures
- [ ] Patent landscape integration (SureChEMBL)

## Contributing

PRs welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

## License

MIT

## Author

**Paul Mangiamele, PhD**
[Proprius Labs](https://propriuslabs.ai) ยท [LinkedIn](https://www.linkedin.com/in/paulmm/)

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation4/5

Tools have distinct purposes: CharacterizeTarget, GetRelatedStructures, GetBindingSites, GetLigandHistory, CheckConservation, CheckKnownVariants, SearchTargetLiterature, and ConsolidateBindingSites. Some potential overlap exists between GetBindingSites and ConsolidateBindingSites (both analyze binding pockets), but descriptions clarify that ConsolidateBindingSites aggregates across multiple structures while GetBindingSites analyzes a single structure. An agent could still confuse when to use one versus the other, but the 'heaviest tool' warning helps.

Naming Consistency5/5

All tool names follow a consistent verb-noun (PascalCase) pattern: CharacterizeTarget, GetRelatedStructures, GetBindingSites, etc. No deviations or mixed conventions.

Tool Count5/5

8 tools is well-scoped for a specialized structural biology MCP server. Each tool covers a distinct analysis step, and the count is neither too thin nor too heavy.

Completeness4/5

The toolset covers key aspects: target characterization, structure discovery, binding site mapping, ligand history, conservation, variants, literature, and consolidation. However, there is no explicit tool for exporting or visualizing results, nor for direct comparison between human and model organism structures beyond conservation. These are minor gaps that might require workarounds but don't break core workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues