What's Changed
- Validate documentation examples recursively by @SufianTA in #440
- Harden generated wrapper invariants by @SufianTA in #443
- Validate datastore CLI inputs and dispatch by @SufianTA in #445
- Enable and isolate extended output hooks by @SufianTA in #447
- Remove generated documentation build artifacts by @SufianTA in #449
- Repair PubChem structure request encoding by @SufianTA in #450
- Preserve Rhea reaction stoichiometry and compartments by @SufianTA in #451
- Validate scientific MCP server startup by @SufianTA in #448
- Validate HTTP server startup safely by @SufianTA in #444
- Make tool sweep results explicit and resumable by @SufianTA in #441
- Fix MCPB runtime dependency resolution by @gasvn in #520
- Front-load the skill traps that produced wrong answers; fix a wrong reference value by @gasvn in #525
- Fix batch long_branch_score returning no values by @gasvn in #522
- Fix Round 40: tools that silently dropped the clinical content they were asked for by @gasvn in #514
- Fix Round 41: drug-name lookups answering with a different drug's label by @gasvn in #517
- Add 22 tool families (~70 tools): single-cell catalogs, GCBR resources, and gap-analysis quick wins by @gasvn in #532
- Fix: resolve MCP-shortened tool names back to their registered name by @gasvn in #533
- Fix: shard the weekly health sweep and record its history by @gasvn in #534
- Fix: make optional knobs in the get__info family actually optional by @gasvn in #535
- Add runnable case-study reproductions, and fix the three analysis tools they depend on by @gasvn in #536
- Make the three tabular-analysis tools work from a pip install by @gasvn in #539
- Drop the Case 3 fallback now that the analysis tool works from any install by @gasvn in #540
- Restructure the case-studies README as input, process, output by @gasvn in #541
- Retry and bound every ChEMBL HTTP request by @gasvn in #544
- SmartAPI registry, NCI EVS terminologies, HCPCS/NPI, openFDA device, FHIR SNOMED by @gasvn in #545
- Integrate native remote-tool hosting into main by @gasvn in #546
- Complete the controlled-access archive tier: EGA, dbGaP, and DDBJ GEA/MetaboBank by @gasvn in #537
- Seven new tools: BOLD, GIAB, FDA Purple Book, MolGlueDB, GSA, BAR, Planteome by @gasvn in #547
- Add opt-in Genomic Intelligence MCP tools by @gasvn in #409
- Fix: unify legacy auth_env into the http_headers_from_env resolution path by @gasvn in #549
- Make openai and google-genai optional extras (#526) by @emecii in #530
- Review SufianTA changes removed after 0b2a523 by @gasvn in #453
- Safely parse and validate plugin release triggers by @gasvn in #513
- Add OpenNIH funding tools and research skill by @gasvn in #515
- Fix: raise timeout for two live-API ComposeTool integration tests by @gasvn in #552
- feat: add Folklore Clinical Variant Interpretation MCP loader by @vladimir-mitev in #550
- Add DeepSpotMTool: spatial gene expression from an H&E histology tile by @KalinNonchev in #438
- Add Noodle Biomedical Literature Discovery MCP by @helena-good-outreach in #553
- feat: add get_marsilea_info package tool by @Mr-Milk in #529
- fix(mcpb): declare openpyxl for bundled Excel tools by @krudo-taco in #551
- Fix: validate Host/Origin headers to close a DNS-rebinding gap (#531) by @gasvn in #556
- Fix: make easyocr and python-docx optional imports in USPTO downloader (#521) by @gasvn in #558
- fix(deps): name MarkItDown converter extras instead of
all, and declare websockets/urllib3 (#527) by @krudo-taco in #555 - Fix: validate Host/Origin in ToolGraphWebUI, same gap as #531 (#557) by @gasvn in #560
- Fix: retire CLUE.io tools — site shut down, no new API keys (#559) by @gasvn in #561
- Docs: cross-reference the Codex and Antigravity plugin skills from setup-tooluniverse by @gasvn in #565
- Add official Boltz API tools by @gasvn in #512
- USPTO downloader: OCR fallback per-page, not whole-document by @gasvn in #566
- Add SerpBase backend to web_search (#564) by @gasvn in #569
- fix: preserve encoded DuckDuckGo redirect targets by @krudo-taco in #570
- fix: validate ClinicalTrials.gov NCT identifiers before lookup by @krudo-taco in #571
- fix: preserve Ensembl reverse-strand region coordinates by @krudo-taco in #572
- fix: finish UniProt mapping jobs containing only failed IDs by @krudo-taco in #573
- fix: validate DailyMed Set IDs before XML requests by @krudo-taco in #575
- fix: retain biomedical query terms in guideline searches by @krudo-taco in #577
- fix: honor zero result limits in OpenAlex guideline search by @krudo-taco in #578
- Add AlphaGenome Atlas support; fix 7 bugs found via live-key testing by @gasvn in #579
- fix: preserve all sections of guideline abstracts by @krudo-taco in #576
- Feature: add Consensus_search_papers tool (#562) — needs a real key to verify by @gasvn in #568
- Fix: short function words silently disable guideline relevance filtering (regression from #577) by @gasvn in #581
- Fix: verify MCP tool contracts per-tool instead of aborting the whole category by @gasvn in #580
- Feature: register Exa's web-search MCP server (#563) by @gasvn in #567
- Repin 9 drifted Folklore and Genomic Intelligence MCP contracts by @gasvn in #582
- Record reviewed MCP contracts in a lockfile and check drift in CI by @gasvn in #583
- Keep MCP tools running when upstream drift cannot break the call by @gasvn in #584
- README: point users hitting the stale Claude Desktop extension at the fix by @gasvn in #586
- Weave AlphaGenome/Atlas into the regulatory-variant-analysis pipeline by @gasvn in #587
- style: fix ruff-format drift in alphagenome_tool.py by @gasvn in #588
- Add Consensus, Noodle, and Exa to the literature-deep-research skill by @gasvn in #589
- Fix stale complex-prediction limitation in protein-structure-prediction skill by @gasvn in #590
- Sweep skills for gaps left by ~48 new tool families since v1.4.1 by @gasvn in #592
- Fill remaining skill gaps: DHS Program, EBI sequence tools, DeepSpotM, MolGlueDB by @gasvn in #593
- Fix duplicate tool-name collisions: OpenMeteo_get_air_quality, UniProt_get_proteome by @gasvn in #597
- fix: link Europe PMC guideline results through the PMC route by @krudo-taco in #594
- fix: reject blank Cellosaurus search queries by @krudo-taco in #595
- fix: paginate Cellosaurus search with Solr rows/start by @krudo-taco in #596
- Retry openFDA rate limits in the FDA label tools by @gasvn in #599
- Fix Claude Desktop MCPB requirements and dependency setup by @gasvn in #591
- Drop --no-sync: the Claude Desktop bundle on main never starts by @gasvn in #600
- Fix: accept positional arguments in ToolUniverseClient by @gasvn in #602
- Release tooluniverse 1.5.0 by @gasvn in #601
New Contributors
- @emecii made their first contribution in #530
- @vladimir-mitev made their first contribution in #550
- @KalinNonchev made their first contribution in #438
- @helena-good-outreach made their first contribution in #553
- @Mr-Milk made their first contribution in #529
- @krudo-taco made their first contribution in #551
Full Changelog: v1.4.1...v1.5.0