Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

BioMCP-TS

NPM · BIOMCP

Biomedical MCP server: genes, variants, trials, literature, patents, optional SQL/R/biowasm tools.

Available components

0 this week 83 Trust /100

Last scanned (1 hour ago)

Scores higher than 77% of npm servers

Category Health and Science

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 1 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency45
Schema Quality & AI Usability69
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6077 tokens (~148/item across 41 items; 41 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 94% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 41 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 41 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 0
    • Stability: 0.97 → pass security
  • 2 Nov 26 0
    • Stability: pass → 0.97 functional
  • 27 Oct 26 0
    • Stability: 0.97 → pass security
  • 26 Oct 26 0
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +2
    • Stability: 0.87 → pass security
  • 15 Oct 26 −2
    • Stability: pass → 0.83 functional
  • 14 Oct 26 0
    • Stability: 0.97 → pass security
  • 13 Oct 26 +1
    • Security disclosure: unverified → fail ▼ functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/biomcp@1.4.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 1 package
Packages resolved 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 41 exposed · ~6,077 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
article_get ~268

Get article by PMID/PMCID/DOI. Citation: fast mode (~4s, 4 providers, auto-fallback to PubMed) or full mode (~15-30s, all 5 providers incl. PubMed). Forward citation lists come from Europe PMC, Semantic Scholar, and OpenCitations; Crossref provides counts and references only.

NameTypeReqDescription
citation_directionstring–Citation direction: "forward" (articles citing this one), "backward" (references), "both" (default)
citation_modestring–Fast: Europe PMC, Semantic Scholar, OpenCitations, Crossref counts/references (~4s). Full: All 5 providers incl. PubMed (~15-30s). Fast mode auto-falls back to PubMed when other providers return no i…
idstringyesArticle identifier: PMID (numeric, e.g. "12345"), PMCID (e.g. "PMC1234567"), or DOI (e.g. "10.1038/s41586-021-03819-2")
limitinteger–Maximum items per section (e.g., 20 citations)
sectionsarray–Sections to include. Use ["citation"] for citation data, ["all"] for everything.

No output schema declared.

No examples provided.

article_search ~204

Search literature across multiple backends with federated search and deduplication

NameTypeReqDescription
dateRangestring–Date range as YYYY-MM-DD/YYYY-MM-DD. Open-ended: "2020-01-01/" or "/2023-12-31". Only pubmed, europepmc, semantic_scholar support this.
limitinteger–Maximum results to return. Applied to final deduplicated results, not per-source. Each source may fetch more internally before deduplication.
offsetinteger–Result offset. EuropePMC windows are capped at 1000 rows; use narrower queries or another source for deeper results
querystringyesSearch query (title, abstract, or keyword). Journal scoping: PubMed matches full journal names and NLM abbreviations; EuropePMC JOURNAL:"..." filters require the NLM abbreviation (e.g. "N Engl J Med")
sourcestring–Specific source to search

No output schema declared.

No examples provided.

batch_get ~25

Get multiple entities in parallel

NameTypeReqDescription
inputsarrayyesList of entity requests

No output schema declared.

No examples provided.

biomcp_configure ~671

Inspect and configure biomcp — unified observability and restricted controllability for every parameter. **What it covers:** three optional feature groups (database, analysis_r, analysis_biowasm) whose knobs live in the .biomcp.json project config file (written by this tool, loaded at server startup — a restart applies changes), plus every environment-only parameter (API keys, proxy, security boundaries), which is query-only. **Actions:** - status (default; call with {}): per-feature running state (with each feature's settable_keys), config file health, conflicts (e.g. an env var vetoing the file), pending-restart flags, dependency prerequisites, and parameter counts. The full parameter catalog is NOT inlined — use filter for detailed rows: 'file', 'env', a feature id ('analysis_r'), or a dotted-id prefix ('features.database'). - set: create/modify file parameters in one atomic batch. Enable/disable is just features.<group>.enabled. null removes a key (restores default). Sensitive keys (connection targets, mirrors) require confirm_sensitive=true. Nothing is written when any key is invalid (dry_run=true validates and diffs without writing). - reset: remove a feature section (target: feature id) or specific keys (target: [dotted ids]). **Hard rules:** environment parameters are never settable here (the response tells you how to set them in your client's env block); env var values are never displayed (masked: presence + fingerprint only); the file write is refused when the server's working directory is not a project root — the response then carries a paste-ready env block instead. **Examples:** {"action":"status"} · {"action":"status","filter":"features.analysis_r"} · {"action":"set","values":{"features.analysis_biowasm.enabled":true}} · {"action":"set","values":{"features.database.enabled":true,"features.database.type":"sqlite","features.database.sqlite_path":["data/geo.db"]}} · {"action":"set","values":{"features.analysis_r.mirror_url":null}} · {"action":"reset"…

NameTypeReqDescription
actionstring–status = inspect (default, works with no other arguments); set = create/modify file parameters; reset = remove.
confirm_sensitiveboolean–Required true when set/reset touches sensitive keys (connection targets, mirrors, credentials).
dry_runboolean–Validate and diff without writing (set/reset).
filterstring–For status: "file" | "env" | feature id | dotted-id prefix — returns detailed rows (effects, how-to-set).
target––For reset: a feature id ("database" | "analysis_r" | "analysis_biowasm") removes the whole section, or a list of dotted file-param ids removes those keys.
valuesobject–For set: {"<dotted file-param id>": <value|null>} — e.g. {"features.analysis_r.enabled": true}. null removes the key. Valid ids are listed by status.

No output schema declared.

No examples provided.

discover ~49

Free-text concept resolution - find entities matching a free-text query

NameTypeReqDescription
querystringyesFree-text query (e.g., "BRAF V600E", "lung cancer", "imatinib")

No output schema declared.

No examples provided.

disease_drugs ~35

Get drugs for a disease via OpenTargets

NameTypeReqDescription
disease_idstringyesDisease ID
limitinteger––

No output schema declared.

No examples provided.

disease_get ~59

Get detailed disease information by ID

NameTypeReqDescription
disease_idstringyesDisease ID (e.g., "DOID:0060268", "C0018794")
limitinteger––
sectionsarray–Sections to include

No output schema declared.

No examples provided.

disease_search ~54

Search for diseases by name, phenotype, or keyword

NameTypeReqDescription
limitinteger–Maximum results
offsetinteger–Result offset
querystringyesDisease name, phenotype, or keyword to search for

No output schema declared.

No examples provided.

disease_trials ~32

Get clinical trials for a disease

NameTypeReqDescription
disease_idstringyesDisease ID
limitinteger––

No output schema declared.

No examples provided.

drug_get ~73

Get detailed drug information by name

NameTypeReqDescription
limitinteger––
namestringyesDrug name (e.g., "imatinib", "aspirin")
sectionsarray–Sections to include (adverse_events = FDA FAERS adverse reactions ranked by report count; limit applies to reaction rows)

No output schema declared.

No examples provided.

drug_search ~53

Search for drugs by name, mechanism, or keyword

NameTypeReqDescription
limitinteger–Maximum results
offsetinteger–Result offset
querystringyesDrug name, mechanism, or keyword to search

No output schema declared.

No examples provided.

drug_trials ~24

Find clinical trials for a drug

NameTypeReqDescription
drugstringyesDrug name

No output schema declared.

No examples provided.

ensembl_consequence ~279

Predict the functional consequence of a variant on demand via Ensembl VEP — works even for NOVEL variants absent from every database, and for non-human species. Input forms: HGVS c./p./g. notation ("NM_004333:c.1799T>A", "ENST00000288602:c.1799T>A") or a dbSNP rsID ("rs113488060"). Prefer HGVS over rsIDs when both are available — rsIDs are resolved through dbSNP's coordinate mapping, which can yield less specific consequences. Returns the most severe consequence plus per-transcript effects (impact, codon/amino-acid change, SIFT/PolyPhen where available) and co-located known variants (ClinVar/COSMIC IDs, gnomAD/1000G frequencies when present). For KNOWN human variants, variant_get additionally provides deep pre-computed scores (CADD, REVEL, AlphaMissense, ClinVar stars) — prefer it there.

NameTypeReqDescription
limitinteger–Max transcript consequences returned (sorted by impact severity)
speciesstring–Species — 'human' (default), 'mouse', …
variantstringyesHGVS notation (NM_004333:c.1799T>A) or dbSNP rsID (rs113488060)

No output schema declared.

No examples provided.

ensembl_homology ~233

Find orthologues or paralogues of a gene across species (Ensembl Compara) — the cross-species gene mapping source in biomcp. Returns target stable IDs, species, taxonomy level, and percent identity, sorted by identity. Accepts an HGNC symbol or Ensembl gene ID; scope to one species with target_species ('mouse') or target_taxon (10090). Use it for conservation questions ('is this gene conserved?', 'what is the mouse orthologue of BRAF?').

NameTypeReqDescription
genestringyesGene symbol (BRAF) or Ensembl gene ID (ENSG00000157764)
limitinteger–Maximum homologies to return (sorted by percent identity)
speciesstring–Source species — 'human' (default), 'mouse', …
target_speciesstring–Restrict results to one species, e.g. 'mouse'
target_taxoninteger–Restrict results to a taxon ID, e.g. 10090 (Mus musculus)
typestring–Homology type to fetch

No output schema declared.

No examples provided.

ensembl_lookup ~244

Resolve a gene in Ensembl terms for ANY Ensembl species (356 available): stable ID (ENSG…), symbol↔ID mapping, versioned identifier, canonical transcript, and coordinates on the current assembly (GRCh38 human, GRCm39 mouse, …). With expand=true, returns all transcripts with translation/protein IDs. Accepts an HGNC symbol (BRAF) or Ensembl gene ID (ENSG00000157764, versioned or bare — versions are resolved to the current record). Species accepts scientific names or aliases ('homo_sapiens'/'human', 'mus_musculus'/'mouse'). For rich human gene annotation (summary, pathways, drugs, diseases) use gene_get instead — this tool is the identifier/structure authority.

NameTypeReqDescription
expandboolean–Include all transcripts with translation/protein IDs
gene_or_idstringyesHGNC symbol (BRAF) or Ensembl gene ID (ENSG00000157764, versioned or bare)
speciesstring–Species name or alias — 'human' (default), 'mouse', 'mus_musculus', 'rat', …

No output schema declared.

No examples provided.

ensembl_region ~191

Query what lives in a genomic interval on the current assembly (GRCh38 for human): genes/transcripts (stable IDs, symbols, biotypes) and known variants (rsIDs, alleles, consequence terms, clinical significance). Ideal for locus triage — "what genes and known variants sit in this GWAS hit interval?". Keep spans modest (<1 Mb recommended); output is capped at limit with a truncated marker. For sequence text use genbank_get; for entity-level annotation chain IDs into gene_get / variant_get.

NameTypeReqDescription
featuresarray–Feature types to include
limitinteger–Maximum features returned
regionstringyesGenomic region chr:start-end (1-based, GRCh38 for human) — e.g. 7:140450000-140480000
speciesstring–Species — 'human' (default), 'mouse', …

No output schema declared.

No examples provided.

genbank_genes ~105

Map a GenBank/RefSeq nucleotide accession to its NCBI Gene IDs (elink nuccore→gene). The returned gene_ids are entrezgene IDs usable directly with MyGene-backed gene tools (gene_get, gene_search). Useful bridge from a sequence record to gene-level annotation.

NameTypeReqDescription
accessionstringyesGenBank/RefSeq accession, versioned or bare — e.g. NG_017013.2, NC_000023.11

No output schema declared.

No examples provided.

genbank_get ~299

Fetch a GenBank/RefSeq nucleotide record as text (GenBank flat file or FASTA). Whole-record fetches are capped at 2,000,000 bp — larger records require a seq_start/seq_stop region (1-based, inclusive, up to 10 Mb span; set strand=2 for a reverse-strand slice where seq_start > seq_stop — the region field echoes the request as given, while NCBI's text shows complement(min..max)). Output guard: sequence_text is truncated to its first 200,000 characters when oversized — request a narrower region for the full text.

NameTypeReqDescription
accessionstringyesGenBank/RefSeq accession, versioned or bare — NC_000023.11, NG_017013.2, KJ668569.2
formatstring–Record format: genbank flat file (default) or fasta
max_response_bytesinteger–Hard cap on the raw NCBI response in characters (default 30,000,000) — oversized responses error instead of truncating
seq_startinteger–Region start (1-based, inclusive) — required with seq_stop for records over 2 Mb
seq_stopinteger–Region stop (1-based, inclusive)
strandnumber–Strand: 1=plus (default), 2=minus (reverse slice; allows seq_start > seq_stop)

No output schema declared.

No examples provided.

genbank_search ~163

Search NCBI nucleotide records (GenBank/RefSeq/INSDC). Queries may be plain terms, an accession, or NCBI field syntax ("TP53[Gene Name] AND Homo sapiens[Organism]", "BRCA1[Gene Name]"). Results include accession.version, definition, length_bp, organism, and topology — chain accessions into genbank_get or genbank_genes.

NameTypeReqDescription
limitinteger–Maximum results
offsetinteger–Result offset for pagination
organismstring–Filter by organism (e.g. "Homo sapiens")
querystringyesNucleotide query, e.g. "TP53[Gene Name] AND Homo sapiens[Organism]" or an accession

No output schema declared.

No examples provided.

gene_articles ~25

Find articles about a gene

NameTypeReqDescription
symbolstringyesHGNC gene symbol

No output schema declared.

No examples provided.

gene_diseases ~61

Get diseases associated with a gene. Requires DISGENET_API_KEY environment variable for DisGeNET data; falls back to OpenTargets gene-disease associations when unavailable.

NameTypeReqDescription
limitinteger––
symbolstringyesHGNC gene symbol

No output schema declared.

No examples provided.

gene_drugs ~37

Find drugs targeting a gene

NameTypeReqDescription
symbolstringyesHGNC gene symbol (e.g., "BRAF", "TP53")

No output schema declared.

No examples provided.

gene_enrich ~31

Perform pathway enrichment analysis for a gene list

NameTypeReqDescription
genesarrayyesList of HGNC gene symbols

No output schema declared.

No examples provided.

gene_get ~131

Get detailed gene information by symbol

NameTypeReqDescription
limitinteger––
sectionsarray–Sections to include
smartboolean–When true, automatically resolves gene aliases and common names to the official HGNC symbol before lookup (e.g., "HER2" → "ERBB2"). Zero overhead when input is already a valid HGNC symbol.
symbolstringyesOfficial HGNC gene symbol (e.g., "BRAF", "TP53", "ERBB2"). Common aliases like "HER2" or "NEU" are NOT accepted unless smart=true is enabled.

No output schema declared.

No examples provided.

gene_search ~73

Search for genes by symbol, name, or keyword

NameTypeReqDescription
chromosomestring–Filter by chromosome (e.g., "7", "X")
limitinteger–Maximum results
offsetinteger–Result offset
querystringyesGene symbol, name, or keyword to search for

No output schema declared.

No examples provided.

gene_trials ~26

Find clinical trials for a gene

NameTypeReqDescription
symbolstringyesHGNC gene symbol

No output schema declared.

No examples provided.

geo_get ~217

Get the full SOFT record details for a GEO entry: series (GSE...), sample (GSM...), or platform (GPL...). A series detail includes summary, organisms, platform_ids, a sample preview, supplementary file URLs, and cross-references for chaining: sra → sra_get(SRP.../SRR...), pubmed_ids → article_get, samples → geo_get(GSM...), platform_ids → geo_get(GPL...). download=true additionally saves the first supplementary file (.gz/.csv/.txt, subject to max_bytes) to a local temp path and returns its path, size, and source URL.

NameTypeReqDescription
accessionstringyesGEO accession (GSE series, GSM sample, or GPL platform; GDS curated DataSets return guidance pointing at the underlying GSE/GSM)
downloadboolean–Download the first supplementary file (.gz) to a local temp path
max_bytesinteger–Size cap in bytes for the downloaded supplementary file (default 52428800 = 50 MB)

No output schema declared.

No examples provided.

geo_search ~218

Search NCBI GEO (Gene Expression Omnibus) for functional genomics studies — expression microarrays, RNA-seq, and other high-throughput sequencing series. Queries accept plain terms ("breast cancer RNA-seq", "melanoma single cell") or NCBI field syntax ("GSE183947[Accession]"). Each result carries cross-links for chaining: sra_project → sra_get, bioproject, pubmed_ids → article_get, and accession → geo_get for full details.

NameTypeReqDescription
entry_typestring–GEO entry type — gse=study (default), gsm=sample, gpl=platform, gds=curated dataset
limitinteger–Maximum results
offsetinteger–Result offset for pagination
organismstring–Filter by organism (e.g. "Homo sapiens", "Mus musculus")
querystringyesFree-text GEO search terms, e.g. "breast cancer RNA-seq", "melanoma single cell"

No output schema declared.

No examples provided.

gtex_eqtl ~140

Get significant cis-eQTL associations for a gene in a specific GTEx tissue (GTEx Analysis v10): variant_id, p_value, and NES (effect direction/size), sorted by ascending p-value. tissue is a required GTEx tissueSiteDetailId (e.g. Whole_Blood, Brain_Cortex).

NameTypeReqDescription
genestringyesHGNC symbol (TP53) or Ensembl gene ID (ENSG00000141510, versioned or bare)
limitinteger–Maximum associations to return
tissuestringyesGTEx tissueSiteDetailId — required, e.g. Whole_Blood

No output schema declared.

No examples provided.

gtex_expression ~159

Get median gene expression across GTEx tissues (GTEx Analysis v10, 54 tissue sites, TPM, sorted highest first). Accepts an HGNC symbol (TP53) or Ensembl gene ID (ENSG00000141510, versioned or bare). Optionally filter to a single tissue via its tissueSiteDetailId (e.g. Brain_Cortex, Whole_Blood).

NameTypeReqDescription
genestringyesHGNC symbol (TP53) or Ensembl gene ID (ENSG00000141510, versioned or bare)
limitinteger–Maximum tissues to return (highest expression first)
tissuestring–GTEx tissueSiteDetailId filter, e.g. Brain_Cortex, Whole_Blood

No output schema declared.

No examples provided.

patent_get ~125

Get patent details by publication number (e.g. "US11027025B2", "EP3904939B1", "US20260240819A1"). Sections: abstract, claims (US fulltext via USPTO Public Search; EP/WO via EPO OPS), citations (backward + forward), family, classifications.

NameTypeReqDescription
limitinteger–Max entries per section array
patent_idstringyesPublication number, e.g. "US11027025B2"
sectionsarray–Sections to include (default: core only)

No output schema declared.

No examples provided.

patent_search ~472

Search patents worldwide (US, EP, WO, JP, and 100+ authorities). Quote exact multi-word concepts (e.g. "mRNA display") to avoid off-topic matches. Backend characters: ppubs = USPTO Public Search full-text conceptual search (US only, keyless, relevance-ranked; default US backend) | ops = EPO OPS worldwide bibliographic search over titles/abstracts (needs EPO_OPS_CONSUMER_KEY/EPO_OPS_CONSUMER_SECRET) | uspto_odp = US application metadata, bibliographic only but inventor/CPC/continuity-rich (needs USPTO_API_KEY) | google_patents = worldwide best-effort (often unavailable). Auto mode queries worldwide + ppubs concurrently; if ppubs fails hard it falls back to uspto_odp once (tagged with _note). Pass source to force a specific backend. Results are ranked by relevance by default (ppubs sort_by). Foundational prior art is auto-discovered via co-citation mining of the top results and returned in seminal_prior_art (surfaces seminal documents whose own vocabulary predates the query concept).

NameTypeReqDescription
assigneestring–Filter by assignee/applicant organization, e.g. "Moderna"
cpcstring–Filter by CPC classification symbol (full symbol, e.g. "C12N15/11")
date_rangestring–Date range "YYYY-MM-DD/YYYY-MM-DD" (either side may be empty)
inventorstring–Filter by inventor name
limitinteger–Maximum results
offsetinteger–Result offset for pagination
querystringyesFree-text query; quote exact multi-word concepts like "mRNA display" for precise matching
seminalboolean–Discover foundational prior art via co-citation analysis of the top results (default: true; adds ~5-30s; set false for the fastest bibliographic lookups)
sort_bystring–Result ranking: "relevance" (default, conceptual match ranking) or "recency" (newest first). Currently affects the ppubs backend only
sourcestring–Force a specific backend
statusstring–Filter by grant status

No output schema declared.

No examples provided.

pdb ~284

Access 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.

NameTypeReqDescription
downloadboolean–Save the structure file to disk and return the file path. Only used with pdb_id.
formatstring–File format: "cif" (mmCIF, recommended, always available) or "pdb" (legacy format, may not exist for some entries). Only used with download=true.
limitinteger–Max search results
offsetinteger–Search result offset
pdb_idstring–PDB identifier (e.g., "1CRN", "4HHB"). Required for get/download.
querystring–Free-text search query to find PDB entries. Omit pdb_id when searching.
sectionsarray–Metadata sections: polymer_entities (chains and sequences), ligands (small molecules and ions), assembly (biological assembly), experiment (method, resolution), citation (publication). Use "all" for…

No output schema declared.

No examples provided.

sra_get ~164

Get full details for an NCBI SRA accession: SRR run (instrument, spots, bases, size), SRX experiment (library design), SRP study (experiment list), or SRS sample. Chain from geo_get (sra field) or sra_search (experiment_accession / first_run_accession). European (ERP/ERR) and DDBJ (DRP/DRR) accessions are NOT indexed in NCBI SRA — use ENA (https://www.ebi.ac.uk/ena) for those.

NameTypeReqDescription
accessionstringyesNCBI SRA accession: SRP (study), SRX (experiment), SRR (run), or SRS (sample), e.g. SRR14432476

No output schema declared.

No examples provided.

sra_search ~162

Search NCBI's Sequence Read Archive (SRA) for sequencing experiments and runs. The query may be free text, an accession (SRP study, SRX experiment, SRR run, SRS sample), or NCBI field syntax ("RNA-SEQ AND Homo sapiens[Organism]"). Results list experiment/study/sample accessions, organism, library strategy, run count, and first_run_accession for chaining into sra_get.

NameTypeReqDescription
limitinteger–Maximum results
offsetinteger–Result offset for pagination
querystringyesFree text or accession — SRP study, SRX experiment, SRR run, SRS sample, or terms like "RNA-SEQ AND Homo sapiens[Organism]"

No output schema declared.

No examples provided.

trial_get ~56

Get detailed trial information by NCT ID

NameTypeReqDescription
limitinteger––
nct_idstringyesNCT ID (e.g., "NCT01234567")
sectionsarray–Sections to include

No output schema declared.

No examples provided.

trial_search ~114

Search clinical trials by condition, intervention, or keyword

NameTypeReqDescription
intervention_typestring–Filter by intervention type (Drug, Device, etc.)
limitinteger–Maximum results
page_tokenstring–Page token from previous response for pagination
phasestring–Filter by phase (Phase 1, Phase 2, etc.)
querystringyesCondition, intervention, or keyword to search for
statusstring–Filter by status (Recruiting, Completed, etc.)

No output schema declared.

No examples provided.

variant_get ~108

Get 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.

NameTypeReqDescription
idstringyesVariant ID (rsid, HGVS, or ClinVar ID)
limitinteger––
sectionsarray–Sections to include: core, frequency, predictions, clinical, alphagenome_scores (currently unavailable — returns an error stub pending AlphaGenome gRPC reimplementation)

No output schema declared.

No examples provided.

variant_oncokb ~72

Get OncoKB annotations for a variant in a cancer gene. Requires ONCOKB_TOKEN environment variable.

NameTypeReqDescription
genestringyesGene symbol (e.g., BRAF, EGFR)
protein_changestringyesProtein change (e.g., V600E, L858R)

No output schema declared.

No examples provided.

variant_search ~307

Search for variants. Use structured parameters for best results: - rsid: e.g. query="rs113488022" - HGVS: e.g. query="NM_004333.4:c.1799T>A" - Gene filter: e.g. gene="BRAF" with hgvsp="V600E" or consequence="missense" - ClinVar significance: e.g. significance="pathogenic" Do NOT use compound free-text like "BRAF V600E" — use separate gene and hgvsp parameters instead.

NameTypeReqDescription
consequencestring–Variant consequence (e.g., missense, synonymous)
genestring–Filter by gene symbol (e.g., "BRAF"). Use together with hgvsp for protein change queries.
hgvscstring–cDNA change
hgvspstring–Protein change (e.g., V600E). Use with gene parameter for compound queries.
limitinteger–Maximum results
max_frequencynumber–Maximum allele frequency (0-1)
min_caddnumber–Minimum CADD score
offsetinteger–Result offset
querystring–Variant query (rsid or HGVS notation). Avoid compound queries like "BRAF V600E" — use gene + hgvsp parameters instead.
rsidstring–dbSNP rsID
significancestring––

No output schema declared.

No examples provided.

variant_trials ~34

Find clinical trials for a variant

NameTypeReqDescription
variantstringyesVariant ID (rsID, HGVS, or variant ID)

No output schema declared.

No examples provided.

Install

How do I install the BioMCP-TS MCP server?

BioMCP-TS runs locally as an npm package, launched with npx -y biomcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · biomcp

# add to Claude Code
claude mcp add yeyuan98-biomcp-ts -- npx -y biomcp
Common questions

What is the BioMCP-TS MCP server?

BioMCP-TS is an MCP server listed in the public MCP registry as io.github.yeyuan98/biomcp-ts. Biomedical MCP server: genes, variants, trials, literature, patents, optional SQL/R/biowasm tools. This page covers its npm package (biomcp).

Is the BioMCP-TS MCP server safe to use?

BioMCP-TS scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the BioMCP-TS MCP server expose?

BioMCP-TS exposes 41 tools: gene_search, gene_get, gene_diseases, gene_drugs, gene_trials, and 36 more. Their descriptions and schemas cost roughly 6,077 tokens of context every time the server is loaded.

Is the BioMCP-TS MCP server still maintained?

BioMCP-TS is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the BioMCP-TS MCP server under?

BioMCP-TS declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.