article_get
Get article by PMID/PMCID/DOI. Citation: fast mode (~4s, auto-fallback to PubMed) or full mode (~15-30s, all 5 providers). Provider coverage depends on ID type.
Search genes, variants, drugs, diseases, literature, clinical trials and protein structures across dozens of biomedical databases in one connection.
LABSCO SUMMARY
The federation is the point: article_search queries five literature backends at once and deduplicates by identifier, and section-based fetching means a slow or broken source degrades one part of the answer instead of failing the call. Everything works keyless except OncoKB annotations and the DisGeNET path.
A biomedical MCP server that federates many upstream sources behind one set of tools — MyGene, MyVariant, MyChem, MyDisease, ClinVar, OpenTargets, OncoKB, DisGeNET, ClinicalTrials.gov, PubMed, EuropePMC and more. Searches fan out across backends and deduplicate, and a failed source degrades that section rather than the whole call.
Nothing for the default path: npx biomcp starts a zero-config stdio server on Node.js 22.13 or newer. Two tools need credentials — variant_oncokb requires ONCOKB_TOKEN, and gene_diseases uses DISGENET_API_KEY when present, falling back to OpenTargets associations without it. Other optional keys raise rate limits.
One command — npx biomcp
USE CASES
Resolve the symbol, read its detail, and see which diseases and drugs it is linked to.
Look it up by rsid or HGVS, pull the clinical significance and frequency, and add cancer annotations if it sits in a cancer gene.
Search trials by condition or intervention, then read eligibility and locations for the promising ones.
Run a federated search across the backends and open the papers that matter by identifier.
Search the PDB for the protein and download the structure file.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
article_getGet article by PMID/PMCID/DOI. Citation: fast mode (~4s, auto-fallback to PubMed) or full mode (~15-30s, all 5 providers). Provider coverage depends on ID type.
article_searchSearch literature across multiple backends with federated search and deduplication
batch_getGet multiple entities in parallel
discoverFree-text concept resolution - find entities matching a free-text query
disease_drugsGet drugs for a disease via OpenTargets
disease_getGet detailed disease information by ID
disease_searchSearch for diseases by name, phenotype, or keyword
disease_trialsGet clinical trials for a disease
drug_getGet detailed drug information by name
drug_searchSearch for drugs by name, mechanism, or keyword
drug_trialsFind clinical trials for a drug
gene_articlesFind articles about a gene
gene_diseasesGet diseases associated with a gene. Requires DISGENET_API_KEY environment variable for DisGeNET data; falls back to OpenTargets gene-disease associations when unavailable.
gene_drugsFind drugs targeting a gene
gene_enrichPerform pathway enrichment analysis for a gene list
gene_getGet detailed gene information by symbol
gene_searchSearch for genes by symbol, name, or keyword
gene_trialsFind clinical trials for a gene
pdbAccess the Protein Data Bank (RCSB PDB) for macromolecular structure data.
SEARCH: Provide "query" to find structures (e.g., "kinase inhibitor", "hemoglobin"). GET: Provide "pdb_id" to retrieve entry metadata with optional detail sections. DOWNLOAD: Provide "pdb_id" + download=true to save the structure file and get the file path.
trial_getGet detailed trial information by NCT ID
trial_searchSearch clinical trials by condition, intervention, or keyword
variant_getGet detailed variant information with optional sections. Core data (id, gene, rsid, significance) is always returned at the top level. Use sections to request additional data.
variant_oncokbGet OncoKB annotations for a variant in a cancer gene. Requires ONCOKB_TOKEN environment variable.
variant_searchSearch for variants. Use structured parameters for best results:
Do NOT use compound free-text like "BRAF V600E" — use separate gene and hgvsp parameters instead.
variant_trialsFind clinical trials for a variant
BEFORE YOU INSTALL
25 tools when we connected; the project documents 40. The patent, GEO, SRA, GenBank, GTEx and Ensembl tools are documented but were not listed, likely because the published 0.4.3 build predates the documentation. db_query, db_list_tables and db_describe_table register only when DB_TYPE is set.
npx on PATH
All 4 documented clients run the server on your machine.
INSTALLATION
npx biomcp{
"mcpServers": {
"biomcp": {
"command": "npx",
"args": [
"biomcp"
],
"env": {}
}
}
}{
"mcpServers": {
"biomcp": {
"type": "stdio",
"command": "npx",
"args": [
"biomcp"
],
"env": {}
}
}
}codex mcp add biomcp -- npx biomcp{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"biomcp": {
"type": "local",
"command": [
"npx",
"biomcp"
],
"environment": {},
"enabled": true,
"timeout": 30000
}
}
}