Skip to content

genomoncology/biomcp

Repository files navigation

BioMCP

BioMCP is a single-binary CLI and MCP server for querying biomedical databases. One command grammar, compact markdown output, 12 remote entities across 15+ data sources, plus local study analytics.

Install

PyPI tool install

uv tool install biomcp-cli
# or: pip install biomcp-cli

This installs the biomcp binary on your PATH.

Binary install

curl -fsSL https://biomcp.org/install.sh | bash

Install skills

Install guided investigation workflows into your agent directory:

biomcp skill install ~/.claude --force

MCP clients

{
  "mcpServers": {
    "biomcp": {
      "command": "biomcp",
      "args": ["serve"]
    }
  }
}

Remote HTTP server

For shared or remote deployments:

biomcp serve-http --host 127.0.0.1 --port 8080

Remote clients connect to http://127.0.0.1:8080/mcp. Probe routes are GET /health, GET /readyz, and GET /.

Runnable demo:

uv run --script demo/streamable_http_client.py

See Remote HTTP Server for the newcomer guide.

From source

cargo build --release --locked

Quick start

biomcp health --apis-only            # verify API connectivity
biomcp list                          # show all entities and commands
biomcp list gene                     # show gene-specific filters and examples
biomcp search all --gene BRAF --disease melanoma  # unified cross-entity discovery

Command grammar

search <entity> [filters]    → discovery
get <entity> <id> [sections] → focused detail
<entity> <helper> <id>       → cross-entity pivots
enrich <GENE1,GENE2,...>     → gene-set enrichment
batch <entity> <id1,id2,...> → parallel gets
search all [slot filters]    → unified fan-out across all entities

Entities and sources

Entity Sources Example
gene MyGene.info, UniProt, Reactome, QuickGO, STRING, CIViC biomcp get gene BRAF pathways
variant MyVariant.info, ClinVar, gnomAD, CIViC, OncoKB, cBioPortal, GWAS Catalog, AlphaGenome biomcp get variant "BRAF V600E" clinvar
article PubMed, PubTator3, Europe PMC biomcp search article -g BRAF --limit 5
trial ClinicalTrials.gov, NCI CTS API biomcp search trial -c melanoma -s recruiting
drug MyChem.info, ChEMBL, OpenTargets, Drugs@FDA, CIViC biomcp get drug pembrolizumab targets
disease Monarch Initiative, MONDO, CIViC, OpenTargets biomcp get disease "Lynch syndrome" genes
pathway Reactome, g:Profiler biomcp get pathway R-HSA-5673001 genes
protein UniProt, InterPro, STRING, PDB/AlphaFold biomcp get protein P15056 domains
adverse-event OpenFDA (FAERS, MAUDE, Recalls) biomcp search adverse-event -d pembrolizumab
pgx CPIC, PharmGKB biomcp get pgx CYP2D6 recommendations
gwas GWAS Catalog biomcp search gwas --trait "type 2 diabetes"
phenotype Monarch Initiative (HPO) biomcp search phenotype "HP:0001250"

Cross-entity helpers

Pivot between related entities without rebuilding filters:

biomcp variant trials "BRAF V600E" --limit 5
biomcp variant articles "BRAF V600E"
biomcp drug adverse-events pembrolizumab
biomcp drug trials pembrolizumab
biomcp disease trials melanoma
biomcp disease drugs melanoma
biomcp disease articles "Lynch syndrome"
biomcp gene trials BRAF
biomcp gene drugs BRAF
biomcp gene articles BRCA1
biomcp gene pathways BRAF
biomcp pathway drugs R-HSA-5673001
biomcp pathway articles R-HSA-5673001
biomcp pathway trials R-HSA-5673001
biomcp protein structures P15056
biomcp article entities 22663011

Gene-set enrichment

biomcp enrich BRAF,KRAS,NRAS --limit 10

Sections and progressive disclosure

Every get command supports selectable sections for focused output:

biomcp get gene BRAF                    # summary card
biomcp get gene BRAF pathways           # add pathway section
biomcp get gene BRAF civic interactions # multiple sections
biomcp get gene BRAF all                # everything

biomcp get variant "BRAF V600E" clinvar population conservation
biomcp get drug pembrolizumab label targets civic approvals
biomcp get disease "Lynch syndrome" genes phenotypes variants
biomcp get trial NCT02576665 eligibility locations outcomes

API keys

Most commands work without credentials. Optional keys improve rate limits:

export NCBI_API_KEY="..."      # PubTator, PMC OA, NCBI ID converter
export OPENFDA_API_KEY="..."   # OpenFDA rate limits
export NCI_API_KEY="..."       # NCI CTS trial search (--source nci)
export ONCOKB_TOKEN="..."      # OncoKB variant helper
export ALPHAGENOME_API_KEY="..." # AlphaGenome variant effect prediction

Multi-worker deployment

BioMCP rate limiting is process-local. For many concurrent workers, run one shared Streamable HTTP biomcp serve-http endpoint so all workers share a single limiter budget:

biomcp serve-http --host 0.0.0.0 --port 8080

Remote clients should connect to http://<host>:8080/mcp. Lightweight process probes are available at GET /health, GET /readyz, and GET /.

Skills

BioMCP ships an embedded agent guide instead of a browsable in-binary catalog. Use biomcp skill to read the embedded BioMCP guide, then install it into your agent directory when you want local copies of the workflow references:

biomcp skill
biomcp skill install ~/.claude --force

See Skills for supported install targets, installed files, and legacy compatibility notes.

Local study analytics

study is BioMCP's local analysis family for downloaded cBioPortal-style datasets. The 12 remote entity commands query upstream APIs for discovery and detail; study commands work on local datasets when you need per-study query, cohort, survival, comparison, or co-occurrence workflows.

Use study download to fetch a dataset into your local study root. Set BIOMCP_STUDY_DIR when you want an explicit dataset location for reproducible scripts and demos; if it is unset, BioMCP falls back to its default study root.

export BIOMCP_STUDY_DIR="$HOME/.local/share/biomcp/studies"
biomcp study download msk_impact_2017
biomcp study list
biomcp study query --study msk_impact_2017 --gene TP53 --type mutations

See the CLI reference for the full study command family and dataset prerequisites.

Ops

biomcp version          # show version and build info
biomcp health           # check all API connectivity
biomcp update           # self-update to latest release
biomcp update --check   # check for updates without installing
biomcp uninstall        # remove biomcp from ~/.local/bin

Documentation

Full documentation at biomcp.org.

License

MIT