BioMCP-TS
Biomedical MCP server: genes, variants, trials, literature, patents, optional SQL/R/biowasm tools.
Connector by yeyuan98 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/yeyuan98-biomcp-ts
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: deep-research, data-analysis
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 47 read · 4 write · 7 delete
- Secrets
- 5 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 58
Read from the source code; the running server may list different tools.
Read 47 · Look things up without changing anything.
analysis_bam_summaryanalysis_bcf_summaryanalysis_biowasm_session_infoanalysis_r_session_infoarticle_getarticle_searchbatch_getdb_describe_tabledb_list_tablesdb_querydiscoverdisease_drugs
Show 35 more tools
disease_getdisease_searchdisease_trialsdrug_getdrug_searchdrug_trialsensembl_consequenceensembl_homologyensembl_lookupensembl_regiongenbank_genesgenbank_getgenbank_searchgene_articlesgene_diseasesgene_drugsgene_enrichgene_getgene_searchgene_trialsgeo_searchgtex_eqtlgtex_expressionjournal_metricspatent_getpatent_searchpreprint_fulltextsra_getsra_searchtrial_gettrial_searchvariant_getvariant_oncokbvariant_searchvariant_trials
Write 4 · Create, change, send or run things.
analysis_bam_view_regionanalysis_bcf_view_regionanalysis_biowasm_convertgeo_get
Delete 7 · Delete, drop, revoke or wipe things.
analysis_bed_opanalysis_biowasm_clianalysis_r_deseq2analysis_r_edgeranalysis_r_limmabiomcp_configurepdb
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
DISGENET_API_KEYNCBI_API_KEYONCOKB_TOKENOPENFDA_API_KEYS2_API_KEY
Other settings (environment variables or headers).
ANALYSIS_BIOWASMANALYSIS_RDB_TYPE
Network hosts it talks to 60
alphafold.ebi.ac.uk· found in codeapi-v3.monarchinitiative.org· found in codeapi.biorxiv.org· found in codeapi.crossref.org· found in codeapi.disgenet.com· found in codeapi.fda.gov· found in codeapi.github.com· found in codeapi.openalex.org· found in codeapi.opencitations.net· found in codeapi.platform.opentargets.org· found in codeapi.reporter.nih.gov· found in codeapi.semanticscholar.org· found in codeapi.uspto.gov· found in codearchive.org· found in codeartistic-license.rtfd.org· found in codebioc.r-universe.dev· found in codebiorxiv.org· found in codebiowasm.com· found in codecivicdb.org· found in codeclinicaltrials.gov· found in codecode.bioconductor.org· found in codecran.r-project.org· found in codecran.r-universe.dev· found in codedata.rcsb.org· found in codedepmap.org· found in codedgidb.org· found in codedisgenet.org· found in codedoi.org· found in codeebi.ac.uk· found in codeeuropepmc.org· found in code
Show 30 more hosts
eutils.ncbi.nlm.nih.gov· found in codeexport.arxiv.org· found in codeextranet.who.int· found in codefiles.rcsb.org· found in codeftp.1000genomes.ebi.ac.uk· found in codeftp.ncbi.nlm.nih.gov· found in codegithub.com· found in codegnomad.broadinstitute.org· found in codegtexportal.org· found in codehpo.jax.org· found in codeinfo.arxiv.org· found in codemychem.info· found in codemydisease.info· found in codemygene.info· found in codemyvariant.info· found in codencbi.nlm.nih.gov· found in codeoncokb.org· found in codeopencode.ai· found in codeops.epo.org· found in codepatents.google.com· found in codepmc.ncbi.nlm.nih.gov· found in codeppubs.uspto.gov· found in codeproteinatlas.org· found in coder-project.org· found in codereactome.org· found in coderest.ensembl.org· found in coderest.uniprot.org· found in codesandbox.zenodo.org· found in codesearch.clinicalgenome.org· found in codezenodo.org· found in code
Files it touches
/dev/null/dev/stderr/dev/stdout/home/administrator/temp/biowasm-e2e/realdata/data/home/administrator/temp/biowasm/assets/worker-loader.cjs/home/administrator/temp/biowasm/data/home/administrator/temp/biowasm/data/na12878.chr20.bam/home/administrator/temp/biowasm/data/na12878.chr20.bam.bai/opt/biomcp/proc/self/status/tmp/opencode/worker-src.cjs- Your home directory (~)
~/.codex/config.toml- Any path the agent passes to its tools
Tools (58)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
analysis_bam_summaryread-onlyInspect an alignment (SAM/BAM/CRAM) before deeper work — "what is in this BAM?": header contigs and lengths, sample and read groups, flagstat mapping metrics, and per-contig mapped/unmapped counts via idxstats when an index is available. Follow up with analysis_bam_view_region for loci of interest; analysis_biowasm_convert for format plumbing. Large host files are estimate-gated: when the full flagstat stream is estimated to exceed ~45 s the tool returns guidance instead — re-run with proceed_on_large_input=true to stream anyway (progress will be reported). **Input:** `source` accepts inline `…
analysis_bam_view_regionReads, depth, or pileup in a genomic region of an alignment (samtools view/depth/mpileup): mode="count" answers "how many reads overlap this locus?" (index-driven, touches only the relevant index blocks); "depth" gives a per-base (optionally binned via depth_bins) coverage profile; "pileup" gives base-level pileup rows; "reads" returns SAM rows or, with format="artifact", a BAM artifact for downstream analysis_bed_op / analysis_biowasm_convert work. Region queries work on any source: indexed sources use fast positional retrieval; indexless sources stream through a synthesized BED region filter…
analysis_bcf_summaryread-onlyInspect a VCF/BCF before querying variants — "what is in this variant file?": total variant record count (from the index per-contig counts when available, else a streaming count), contigs, sample count and names (watch for cohort-scale files), and the full INFO/FORMAT field inventory from the header (bcftools view -h; with an index, per-contig record counts are included). Follow up with analysis_bcf_view_region to pull a narrow projection of variants. Large sample-dense host files are estimate-gated: when the streaming count is estimated to exceed ~45 s the tool returns guidance instead — re-r…
analysis_bcf_view_regionVariants in a genomic region as a narrow field projection instead of raw VCF rows (bcftools query): pick columns (CHROM/POS/REF/ALT/…/GT), a `samples` subset (strongly recommended for cohort VCFs — the #1 context-reduction lever), an expression `filter` (e.g. 'INFO/DP>10 && QUAL>30'), and variant_types. format="artifact" returns a sliced VCF.gz for analysis_biowasm_convert instead. Default response is a bounded table (top_n rows), never megabyte-wide rows. **Input:** `source` accepts inline `content` (BED/VCF/SAM text, format-sniffed), a prior `artifact_id` from any analysis_biowasm response, …
analysis_bed_opInterval algebra on BED tracks (bedtools): intersect, merge, subtract, coverage, jaccard, or sort. Binary ops take `source` (A) and `b_source` (B) — pass b_source as an OBJECT like {"content": "chr1\t10\t20\nchr1\t100\t200\n"} or {"host_path": "..."}, never as a JSON-encoded string; set sorted_inputs=true for the memory-frugal -sorted algorithm on coordinate-sorted inputs (B-side inputs are otherwise loaded into the wasm heap — prefer sorted or bounded B). Produces a bounded table/json; pairs with analysis_bam_view_region artifacts and analysis_biowasm_convert. **Input:** `source` accepts inli…
analysis_biowasm_cliAdvanced escape hatch: run an allowlisted samtools/bedtools/bcftools subcommand directly (args are passed as an array to the tool — never through a shell). Prefer the workflow tools — analysis_bam_summary, analysis_bam_view_region, analysis_bcf_summary, analysis_bcf_view_region, analysis_bed_op, analysis_biowasm_convert — which validate inputs and bound outputs; use this only for subcommands they do not cover. Constraints: subcommand-level allowlist (phase 1), max 32 args, no shell metacharacters, no "..", paths only under /shared (inputs land in /shared/data; write outputs to /shared/out). Ou…
analysis_biowasm_convertFormat plumbing between the biowasm tools: SAM/BAM/CRAM via samtools view, VCF/BCF via bcftools view, and VCF/BCF -> TSV via bcftools query with a field projection and optional filter. The input format is inferred from the source (inline content is sniffed); the result is an artifact handle (id, sha256, size, preview) reusable as artifact_id by every other analysis_biowasm tool — the glue for multi-step workflows (e.g. convert a BAM slice from analysis_bam_view_region, then summarize it with analysis_bam_summary). include_content=true inlines artifacts <= 2 MB as base64(gzip). **Input:** `sour…
analysis_biowasm_session_inforead-onlyBiowasm runtime report: pinned samtools/bedtools/bcftools versions, asset cache location and verification time, engine status, retained artifact count, and process memory — for diagnosing analysis_biowasm_* issues. Read-only; never downloads assets or starts the worker.
analysis_r_deseq2Description is built at runtime.
analysis_r_edgerDescription is built at runtime.
analysis_r_limmaDescription is built at runtime.
analysis_r_session_inforead-onlyReport the R analysis runtime status: R/WebAssembly version, installed Bioconductor package versions, library paths, memory usage, and the package mirror endpoint. Use this to diagnose analysis tool issues.
article_getread-onlyGet article by PMID/PMCID/DOI. Section response keys differ from request names: "oa" is stored as sections.open_access, "graph" as sections.citation_graph. Preprint DOIs (bioRxiv/medRxiv, e.g. "10.1101/2025.03.05.641768" or new prefix "10.64898/...") return the preprint record: all versions, license, category, funders, JATS full-text URL, published-version mapping, and (with sections=["citation"]) Europe PMC preprint citations. Journal articles, sections=["fulltext"]: returns the ACTUAL full text when freely readable in PMC/Europe PMC (open-access AND free-to-read). fulltext.status is "availab…
article_searchread-onlySearch literature across multiple backends with federated search and deduplication. Response is an envelope: { results, warnings?, errors? } — per-source failures ride in `errors` (never as items inside `results`), degradation notes (e.g. PubMed dropping unrecognized query terms, LitSense relevance-floor drops) in `warnings`. LitSense rows carry the matched sentence plus PubMed-enriched title/metadata when available.
batch_getread-onlyGet multiple entities in parallel. Article items return metadata (with inline abstract) by default; for full text pass sections:["fulltext"] on the item — PMC articles then return a small file handle (file_path + outline, never body text inline) while non-PMC articles return an explicit unavailable + reason. Nonexistent PMIDs yield a per-item error and the batch continues. For inline text use article_get with fulltext_output="inline"
Show 43 more tools
biomcp_configurecan change or delete dataInspect 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…
db_describe_tableread-onlyGet the column schema for a specific table. **Returns for each column:** - Field name - Data type - Nullable status - Key type (PRI for primary key) - Default value **Workflow:** 1. Use `db_list_tables` first to see available databases, aliases, and tables 2. Use this tool to understand the column structure 3. Use `db_query` to query the data **Multiple databases:** table names resolve against the main database first, then attached databases in order; qualify as `alias.table` to disambiguate when the same table name exists in more than one database (SQLite multi-file setups).
db_list_tablesread-onlyList all tables/views across the configured database(s) with metadata. **Returns:** - `databases`: every reachable database (SQLite multi-file setups: `main` plus attached aliases) with its file path and table count - `collections`: table/view names with their owning `database`, type, and row count - Row count is approximate for MySQL; exact for SQLite tables, except for large databases (>256 MB) where it is omitted (use SELECT COUNT(*) instead) **Usage:** Call this first to discover available databases, aliases, and tables before using db_describe_table or db_query. Reference tables from at…
db_queryread-onlyExecute a read-only SELECT query on the configured database(s). **Examples:** - Simple query: `SELECT * FROM genes LIMIT 10` - With named params: `SELECT * FROM variants WHERE significance = :significance` - Cross-database join (multiple SQLite files configured): `SELECT m.CellLineName, e.value FROM gene_effect e JOIN models m ON m.model_id = e.model_id WHERE e.gene_symbol = 'KRAS' LIMIT 10` **Parameters:** - Use named placeholders like `:paramName` for parameters - Pass parameter values in the `params` object: { "significance": "pathogenic" } **Multiple databases:** when several SQLite fil…
discoverread-onlyFree-text concept resolution - find entities matching a free-text query. Prefers a candidate whose name/symbol exactly matches the query (case-insensitive), ranks those exact matches first across entity types, and demotes numbered susceptibility-locus labels (e.g. "lung cancer susceptibility 1") within each backend's candidates; each result's matched_on field reports why it was picked ("exact" or "first")
disease_drugsread-onlyGet drugs for a disease via OpenTargets. Results are ranked by max clinical phase, then trial-report count, with salt forms collapsed. Response is an envelope: { results, warnings?, errors? } — OpenTargets failures and unresolved diseases ride in errors[] as { source, message, retryable? } instead of inline items (issue #130)
disease_getread-onlyGet detailed disease information by ID
disease_searchread-onlySearch for diseases by name, phenotype, or keyword. Response is an envelope: { results, warnings?, errors? } (issue #130)
disease_trialsread-onlyGet clinical trials for a disease. Response is an envelope: { results, warnings?, errors? } (issue #130)
drug_getread-onlyGet detailed drug information by name
drug_searchread-onlySearch for drugs by name or keyword (chemical identity: names, synonyms, and identifiers in ChEMBL/MyChem). This is NOT a mechanism or target search — MyChem has no mechanism text in this query, so "EGFR inhibitor"-style queries return nothing. For drugs targeting a gene/mechanism, use gene_drugs with the target gene symbol.
drug_trialsread-onlyFind clinical trials for a drug
ensembl_consequenceread-onlyPredict 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", "NM_004333.6: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. RefSeq accessions may carry a version ("NM_004333.6:c.1799T>A"); when the version is not carried by the current Ensembl release the call is retried against the bare accessi…
ensembl_homologyread-onlyFind orthologues or paralogues of a gene across species (Ensembl Compara) — the cross-species gene mapping source in biomcp. Returns target stable IDs, gene symbols (when the assembly provides them, e.g. ARAF/RAF1 for BRAF paralogs), 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?').
ensembl_lookupread-onlyResolve 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 …
ensembl_regionread-onlyQuery 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?". Genes/transcripts are always fetched for the FULL requested span, but variation density can reach ~100k variants in dense loci (which times out upstream), so when the span exceeds 50 kb variation is queried only for a 50 kb window centered on the region midpoint — the result echoes effective_varia…
genbank_genesread-onlyMap a GenBank/RefSeq nucleotide accession to its NCBI Gene IDs (elink nuccore→gene). The returned gene_ids are NCBI Gene (entrezgene) IDs. gene_get takes an HGNC gene symbol, NOT a numeric entrez id, so an id must first be resolved to its symbol — gene_search result rows carry both symbol and entrez_id, so the id→symbol bridge exists via gene_search. Useful bridge from a sequence record to gene-level annotation.
genbank_getread-onlyFetch 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: records up to 1,000 characters are returned inline (sequence_text with char_count/truncated). Anything larger defaults to file mode — the FULL text is written to a server-side cache file and the reply carries m…
genbank_searchread-onlySearch 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.
gene_articlesread-onlyFind articles about a gene. Response is an envelope: { results, warnings?, errors? } — per-backend failures ride in `errors` (never as items inside `results`), degradation notes in `warnings` (issue #130)
gene_diseasesread-onlyGet diseases associated with a gene. Requires DISGENET_API_KEY environment variable for DisGeNET data; falls back to OpenTargets gene-disease associations when unavailable.
gene_drugsread-onlyFind drugs targeting a gene. Results are ranked by max clinical phase, then trial-report count, with salt forms collapsed. Response is an envelope: { results, warnings?, errors? } — OpenTargets failures and unresolved genes ride in errors[] as { source, message, retryable? } instead of inline items (issues #130, #179)
gene_enrichread-onlyPerform pathway enrichment analysis for a gene list (Reactome over-representation). Requires at least 3 genes; the list is deduplicated (case-insensitive) before submission. Each pathway reports genes_overlap — the count of unique SUBMITTED genes Reactome matched there, resolved with one follow-up token lookup (Reactome's entity-level match count can exceed the gene count when one gene maps to multiple entities, e.g. a UniProt entry plus Ensembl gene/transcript). The reply also reports how many pathways Reactome found in total alongside the returned page.
gene_getread-onlyGet detailed gene information by symbol. Response section keys mirror the requested section names: sections:["clinical_evidence"] returns sections.clinical_evidence, "protein_atlas" returns sections.protein_atlas, "dosage_sensitivity" returns sections.dosage_sensitivity, "disease_associations" returns sections.disease_associations — the legacy storage keys (civic, hpa, clingen, disgenet) never appear in responses.
gene_searchread-onlySearch for genes by symbol, name, or keyword
gene_trialsread-onlyFind clinical trials for a gene
geo_getGet 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...). GDS accessions (curated DataSets, not served by SOFT) return structured guidance as data — { accession, guidance, see_also: { series: "GSE…", sample: "GSM…" } } — pointing at the underlying series/sample records; this is a successful result…
geo_searchread-onlySearch 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]"). Every result carries accession (→ geo_get for full details), bioproject, and pubmed_ids (→ article_get). sra_project (→ sra_get) appears only when NCBI has linked the SRA study to the series — many newer series lack the link — so geo_get(accession) is the reliable route to SRA accessions (its sra field).
gtex_eqtlread-onlyGet 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). An empty associations list is a VALID scientific result — the gene was tested but has no significant cis-eQTLs in that tissue (not a lookup failure). In that case the result carries a note listing other tissues where significant eQTLs DO exist (or stating that none exist in any tissue).
gtex_expressionread-onlyGet 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).
journal_metricsread-onlyJournal quality metrics — an open-access alternative to the Clarivate impact factor (IF). Returns the OpenAlex 2-year mean citedness score (an IF-style metric), h-index, i10-index, citation counts, open-access flag (is_oa), and quality-list tiers (e.g. medline, norway-2, jufo-3…). Accepts a journal name, NLM abbreviation (e.g. 'N Engl J Med'), or ISSN (e.g. '0028-0836'; article records carry journal_issn).
patent_getread-onlyGet patent details by publication number (e.g. "US11027025B2", "EP3904939B1", "US20260240819A1"). Sections: abstract, claims (US fulltext via USPTO Public Search; EP/WO via EPO OPS when configured, otherwise Google Patents pages — see per-section source fields), citations (backward + forward), family, classifications.
patent_searchread-onlySearch patents worldwide (US, EP, WO, JP, and 100+ authorities). Quote exact multi-word concepts (e.g. "flow cytometry") 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 wor…
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. Sections list per-entity records (polymer_entities, ligands, assembly); when some records fail while siblings succeed, each failure appears as an inline {_error} item AND the response carries a top-level "warnings" array naming the section and failed item. DOWNLOAD: Provide "pdb_id" + download=true to save the structure file and get the file path.
preprint_fulltextread-onlyOn-demand bioRxiv/medRxiv preprint full text (JATS XML, parsed to sections). Input: a preprint DOI (e.g. "10.1101/2025.03.05.641768"), optional version (default: latest). Downloads are strictly on-demand (never run during search), paced, and cached per (doi, version) — JATS per version is immutable, so repeat calls are served from cache without re-downloading. www.biorxiv.org rate-limits aggressively: on a 429/Cloudflare verdict this tool pauses downloads for >=60s (Retry-After honored) and every call during the cooldown returns an honest unavailable/rate_limited envelope with retry_after_sec …
sra_getread-onlyGet full details for an SRA accession indexed by NCBI: run (SRR/ERR/DRR — instrument, spots, bases, size), experiment (SRX/ERX/DRX — library design), study (SRP/ERP/DRP — experiment list), or sample (SRS/ERS/DRS). NCBI SRA indexes NCBI, European (ENA), and DDBJ submissions alike, so accessions returned by sra_search resolve here regardless of prefix. Chain from geo_get (sra field) or sra_search (experiment_accession / first_run_accession).
sra_searchread-onlySearch 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 (NCBI S…, European E…, or DDBJ D… prefixes — all resolvable by sra_get), organism, library strategy, run count, and first_run_accession for chaining into sra_get.
trial_getread-onlyGet detailed trial information by NCT ID
trial_searchread-onlySearch clinical trials by condition, intervention, or keyword
variant_getread-onlyGet 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. Response section keys mirror the requested section names: sections:["alphagenome_scores"] returns sections.alphagenome_scores — the legacy storage key (alphagenome) never appears in responses.
variant_oncokbread-onlyGet OncoKB annotations for a variant in a cancer gene. Requires ONCOKB_TOKEN environment variable.
variant_searchread-onlySearch 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.
variant_trialsread-onlyFind clinical trials for a variant. Response is an envelope: { results, warnings? } — when MyVariant.info ID resolution fails, a warning rides alongside the results (which then come from searching the raw identifier) so a backend failure never masquerades as "no trials exist"; retry may resolve BRAF V600E-style naming (issue #198)
Compare and alternatives
Featured in
Signals
- Stars
- 12
- Forks
- 2
- Open issues
- 2
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.yeyuan98/biomcp-ts- Version
- 1.4.3
- Auth
- API key
- Packages
- npm biomcp
- License
- Apache-2.0
- Repository
- github.com/yeyuan98/biomcp-ts
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
BioMCP-TS MCP server. Agent Mart. https://agentmart.dev/connectors/yeyuan98-biomcp-ts (last updated 2026-10-24)