Skip to content

v2.3.9

@cyanheads cyanheads tagged this 20 Apr 18:42
Fixed
- pubmed_search_articles brief summaries now populate doi, pmcId, pmcUrl.
  parseSingleDocumentSummary matched lowercase JSON keys (idtype/value),
  but the call site uses retmode=xml and fast-xml-parser preserves element
  casing — real NCBI XML returns { IdType, IdTypeN, Value }, so every
  summary silently dropped its DOI and PMC ID. Normalized via accessor
  helpers; widened ESummaryArticleId to reflect both shapes; regression
  test rewritten against the real XML capitalization.

Changed
- pubmed_search_articles dateRange minDate/maxDate validated by regex at
  the schema boundary. Empty strings still accepted (MCP Inspector); typos
  like "not-a-date" now fail fast with an actionable message instead of
  degrading silently to 0 results.
- publicationTypes / meshTerms descriptions now state their join semantics
  (OR'd vs AND'd).
- New optional `notice` field on the output surfaces guidance when the
  response would otherwise be a bare empty array — suggests pubmed_spell_check
  on no-filter misses, filter relaxation on filtered misses, and flags
  pagination overshoot. Rendered as a blockquote in format().

References
- Closes #17 (DOI/PMC extraction bug)
- Closes #18 (input validation, empty-result guidance, filter-semantics docs)
Assets 2
Loading