- Adopted the shared
bin/lintscript and wiredmake lint/make checkto the March repo convention for Rust repos. - Refreshed the README, homepage, CLI reference, and helper docs so the public release docs match the current BioMCP command surface.
- Expanded
skills/SKILL.mdfor article graph helpers,enrich,batch, chart discovery, chart flags, and updated drug interaction guidance. - Updated the Kuva chart blog post with checked-in SVG outputs for all nine worked examples plus placeholder references for terminal screenshots.
- Fixed the planning-docs CI path regression so release validation uses the repo-local planning fixtures by default instead of an Ian-local absolute path. This is the fix from PR #191 that unblocks release packaging on GitHub Actions.
- Refreshed the public discovery docs so
search allis taught as the unified cross-entity entry point in the README and docs index. This is the docs alignment from PR #190. - Breaking MCP runtime change: renamed the MCP execution tool from
shelltobiomcp; update MCP clients and demos to callbiomcpaftertools/list.
- Promoted remote Streamable HTTP in newcomer docs with a dedicated getting-started page for
biomcp serve-http. - Added a runnable PEP 723 demo client at
demo/streamable_http_client.pyfor/mcp, including atools/listflow andbiomcp versiontool call. - Surfaced the canonical remote HTTP routes more prominently across public docs:
/mcp,/health,/readyz, and/. - Kept
serve-ssemigration guidance visible while shipping the Streamable HTTP release/docs/demo verification package together.
study survivalnow reports Kaplan-Meier median survival, 1/3/5-year survival landmarks, and two-group log-rank p-values.- Fixed survival median calculation: replaced raw follow-up median with Kaplan-Meier median survival.
study compare --type expressionnow reports Mann-Whitney U and p-value.- Added
study download <study_id>andstudy download --listfor local cBioPortal datahub installs. - Hardened
study download: no total body timeout for large archives, path-like study ID rejection, stream-to-disk download, and cleanup on failed extraction. - Refreshed
skills/SKILL.mdwith real study command usage, includingcohort,filter, andsurvival --endpointexamples.
- Added
studysubcommand: local cBioPortal study adapters with CLI query surface (download,cohort,survival,compare). - Added
study filter: multi-omics cross-table sample joins across mutation, CNA, expression, and clinical data. - Added Fisher exact p-values to co-occurrence pair analysis.
- Added skill installer auto-discovery: scans existing agent config directories in priority order and supports the
.agents/skills/cross-tool standard. - Refreshed skill guidance and reference material: adopted the measured
SKILL.mdrefresh and added drift validation for examples, schemas, and jq snippets. - CLI quality pass: positional search arguments, multi-token input handling, variant fallback, NCT ID validation, bare-entity shortcuts, staged trial fill, article request timeout, and
--untilalias.
- Added
expressionsection to gene output (GTEx tissue-specific TPM data). - Added
druggabilitysection to gene output (DGIdb drug-gene interactions and categories). - Added
clingensection to gene output (gene-disease validity and dosage sensitivity). - Added evidence URLs (
_meta.evidence_urls) to all entity output — includes Ensembl, OMIM, NCBI Gene, and UniProt links where available. - Added
spec/BDD documentation suite with 54 passing executable specifications. - Unified article search: fan-out across PubTator3 and Europe PMC in parallel with PMID deduplication, source-grouped rendering, and
--source <all|pubtator|europepmc>. - Added infinite cache mode via
BIOMCP_CACHE_MODE=infinitefor offline/demo workflows. - Consolidated CI into a single job; streamlined release pipeline.
- Polished
search alloutput: GWAS trait relevance filtering, clinical significance sorting, uninformative variant suppression. - Gene-anchored article search via
GENE_PROTEINfield for higher precision. - Added trial search improvements (
--mutationboolean handling and--criteriasupport). - Added PyPI trusted publisher setup and release workflow updates.
- Added
search allcross-entity command — parallel fan-out across major entities (genes, variants, diseases, drugs, trials, articles, pathways, PGx, GWAS, and adverse events) with counts-first display and HATEOAS deep-dive links.
- Output cleanup across entity renderers for consistent markdown formatting.
- Improved help discoverability and completeness across all subcommands.
- Rewrote footer output with streamlined next-step suggestions.
- Improved help text discoverability and completeness for all CLI subcommands.
- Fixed trial filter accuracy: age-based post-filtering, exclusion-criteria detection, and pathway source correctness.
- Fixed
install.shto resolvelatesttag to a release that has downloadable assets. - Hardened input safety with SSRF prevention on user-supplied URLs.
- Enforced pagination and validation contracts across search endpoints.
- Simplified CI/CD workflow triggers to avoid redundant post-merge runs.
- Added runner-aware
actions/cache@v4protoc caching in CI, docs deploy, and release workflows. - Pinned workflow protoc installation to
28.3with cache-aware conditional setup.
- Added inclusion-first eligibility post-filtering to reduce exclusion-only false positives in trial matching.
- Applied cryptography dependency security updates and refreshed release artifacts.
- Tightened CLI/docs consistency around trial filter behavior and output contracts.
- Added location-level facility and geo post-filtering for more accurate trial site matching.
- Embedded git tag version metadata in the binary for reliable
biomcp versionoutput. - Improved pagination and result-window handling across search command families.
- Expanded clinical-grade trial filtering with ~45 new search flags and validation rules.
- Added MCP tool auto-generation to reduce drift between CLI capabilities and server tool surface.
- Upgraded help/discoverability content and list-based guidance for agent-driven workflows.
Complete rewrite from Python to Rust. Single static binary, no runtime dependencies.
- Single-binary CLI and MCP server — no Python, no pip, no virtual environments
- 15 biomedical data sources, unified command grammar, compact markdown output
- 14 embedded skills (guided investigation workflows)
- MCP server (stdio + SSE) with tool and resource support
- HTTP proxy (
serve-http) for multi-worker shared rate limiting - Production installer with SHA256 verification (5 platforms)
- Progressive disclosure: search returns summaries, get returns full detail with selectable sections
- NCBI API key support for improved rate limits
- 429 retry with Retry-After backoff
MyGene.info, MyVariant.info (ClinVar, gnomAD, CIViC, OncoKB), ClinicalTrials.gov, NCI CTS API, PubMed/PubTator3, MyChem.info, Monarch/MONDO, Reactome, UniProt, OpenFDA FAERS, PharmGKB/CPIC, GWAS Catalog, Monarch (phenotypes), AlphaGenome (gRPC).
- Python package
biomcp-pythonis no longer maintained - MCP tool names and signatures have changed
- Configuration via environment variables only
Legacy Python BioMCP. See branch python-0.7.3 for source code.