MCP Directory

BioMCP

Official

One command grammar to search and pivot across PubMed, ClinVar, ClinicalTrials.gov, and dozens of biomedical sources.

Unverified
stdio (local)
No auth
Rust

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uv tool install biomcp-cli

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

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

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • The biomcp binary on PATH (binary installer, `uv tool install biomcp-cli`, `pip install biomcp-cli`, or build from source)
  • An MCP-capable client such as Claude Desktop
  • Optional API keys for higher rate limits or optional enrichments (NCBI, Semantic Scholar, OpenFDA, NCI, OncoKB, AlphaGenome, DisGeNET)

About BioMCP

BioMCP cuts through the biomedical data maze by exposing one MCP server that reaches sources normally behind different APIs, identifiers, and search habits. A single command grammar (search / suggest / discover / get / cross-entity helpers / enrich / batch / search all) drives discovery, focused detail retrieval, and pivots across genes, variants, articles, trials, drugs, diseases, pathways, proteins, adverse events, pharmacogenomics, GWAS, and phenotypes. Results are compact and evidence-oriented, with JSON responses exposing _meta.next_commands and _meta.section_sources for follow-ups and provenance. It runs over stdio for local MCP clients (e.g. Claude Desktop) and can also serve a remote Streamable HTTP endpoint for shared/multi-worker deployments.

Tools & capabilities (9)

search <entity> [filters]

Discovery search across an entity (e.g. article, trial, variant, adverse-event, gwas, phenotype); `search article` fans out across PubTator3, Europe PMC, PubMed, and optional Semantic Scholar with deduplicated identifiers.

search all [slot filters]

Counts-first cross-entity orientation that summarizes matches across entities and suggests the highest-yield next commands.

suggest <question>

Routes a biomedical how-to question to a shipped worked example and two starter commands (playbook routing).

discover <query>

Concept resolution before entity selection.

get <entity> <id> [sections]

Focused detail card for a gettable entity (gene, variant, article, trial, diagnostic, drug, disease, pathway, protein, adverse-event, pgx) with selectable sections for progressive disclosure.

<entity> <helper> <id> (cross-entity pivots)

Pivot between related entities without rebuilding filters, e.g. `variant trials`, `variant articles`, `drug adverse-events`, `drug trials`, `disease trials`, `disease drugs`, `gene pathways`, `pathway drugs`, `protein structures`, `article citations/references/recommendations/entities`.

enrich <GENE1,GENE2,...>

Top-level gene-set enrichment via g:Profiler.

batch <entity> <id1,id2,...>

Run up to 10 focused `get` calls in parallel in one command; with `--json` returns per-entity objects with metadata.

study (local analytics)

Local analysis family for downloaded cBioPortal-style datasets: download, query, cohort, survival, compare, and co-occurrence workflows with terminal/SVG/PNG charts (per-gene mutations, CNA, expression, structural variants/fusions).

What this server can do

BioMCP provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Give a low-noise cross-entity overview of a gene in a disease (e.g. `search all --gene BRAF --disease melanoma --counts-only`)
  • Summarize ClinVar significance and gnomAD population frequency for a variant in one read-only call
  • Find and follow the paper trail for an article via citations, references, recommendations, and entities
  • Pivot from a drug to its adverse events or clinical trials, or from a disease to associated drugs and trials
  • Run local cohort/survival/co-occurrence analytics over downloaded cBioPortal-style genomic datasets

Security notes

MIT-licensed. No telemetry, analytics, or remote log upload. Performs on-demand queries against upstream providers; upstream terms govern reuse of retrieved results. Most commands work with no credentials; optional API keys (NCBI_API_KEY, S2_API_KEY, OPENFDA_API_KEY, NCI_API_KEY, ONCOKB_TOKEN, ALPHAGENOME_API_KEY, DISGENET_API_KEY) improve rate limits or unlock optional enrichments. KEGG distinguishes academic vs non-academic use, and COSMIC is kept indirect-only due to licensing.

BioMCP FAQ

Do I need API keys to use BioMCP?

No. Most commands work without credentials. Optional keys (NCBI_API_KEY, S2_API_KEY, OPENFDA_API_KEY, NCI_API_KEY, ONCOKB_TOKEN, ALPHAGENOME_API_KEY, DISGENET_API_KEY) improve rate limits or unlock optional enrichments such as OncoKB therapy evidence or scored DisGeNET associations.

How do I run BioMCP as a remote server?

Use `biomcp serve-http --host 127.0.0.1 --port 8080`; clients connect to http://<host>:8080/mcp. Health probes are available at GET /health, /readyz, and /. Running one shared HTTP endpoint lets concurrent workers share a single rate-limiter budget.

Does BioMCP store or mirror the biomedical data?

No. It performs on-demand queries against upstream providers instead of vendoring or mirroring datasets, though upstream terms govern reuse of retrieved results. It adds no telemetry, analytics, or remote log upload.

Alternatives to BioMCP

Compare all alternatives →

Official MCP reference server that fetches a URL and returns its content as clean Markdown, with chunking.

Verified
stdio (local)
No auth
Python
2 tools
Updated 12 days agoRepo

Official Firecrawl MCP server — scrape, crawl, map, search, and structured extraction for any LLM client.

Verified
stdio (local)
API key
TypeScript
8 tools
Updated 10 days agoRepo

Exa's neural web search and crawling MCP server — runs locally via npx or as a hosted remote endpoint.

Verified
stdio (local)
API key
TypeScript
6 tools
Updated 11 days agoRepo