Extends the format()-completeness work from #26 across the rest
of the tools. Every schema field is now rendered in the markdown
the LLM actually sees.
Added
- Shared `pmidStringSchema` consolidates the PMID regex + message
duplicated across four tool files.
- `pubmed_fetch_articles` renders MeSH `descriptorUi` and
`qualifierUi` inline with their names — canonical keys for
downstream `pubmed_lookup_mesh` calls. (#30)
- `pubmed_search_articles` summaries include the raw PMCID
alongside the PMC URL. (#31)
Fixed
- `pubmed_fetch_fulltext` no longer truncates authors to
`first3 + et al.`, renders `journal.issn`, and prefixes section
/ subsection headings with the JATS `label` when present. (#29)
- `pubmed_convert_ids` splits the error rows out of the DOI
column into a dedicated `### Errors` section. (#32)
- `pubmed_fetch_articles` grant rendering no longer produces
`NIH (NIH)` when only the acronym is present.
Changed
- `@cyanheads/mcp-ts-core` 0.4.1 → 0.5.0 (minor).
- Server config migrated to `parseEnvConfig` — startup errors
now name the env var at fault (e.g.
`NCBI_REQUEST_DELAY_MS (requestDelayMs): expected number`).
- `maintenance` skill synced v1.2 → v1.3 across package,
project, and agent skill directories.
Tests: 402 passing / 4 skipped. devcheck clean.