Skip to content

Releases: cyanheads/paleobiology-mcp-server

v0.3.4: PBDB interval fallback

Choose a tag to compare

@cyanheads cyanheads released this 30 Jul 17:42
v0.3.4
7357085

PBDB interval fallback

  • paleobiology_list_intervals falls back to a live PBDB lookup for sub-stage and regional interval names (e.g. Late Maastrichtian, Lancian) the bundled ICS snapshot does not carry, labeled with a new source field and the resolving time scale (#19)
  • new interval_lookup_unavailable error (retryable) keeps an unreachable PBDB from reading as a nonexistent interval; level widens to accept any PBDB rank string
  • fixed pre-existing docs/design.md drift (stale snapshot filename, two removed IntervalIndex methods, wrong interval count) and a false no-network-call claim in README/CLAUDE.md/AGENTS.md

CHANGELOG v0.3.4

v0.3.3: offset paging, base_id clade filter, and paged taxon children

Choose a tag to compare

@cyanheads cyanheads released this 30 Jul 17:02
v0.3.3
c4ffb87

offset paging, base_id clade filter, and paged taxon children

  • paleobiology_search_occurrences gains offset paging with exact next-page notices against PBDB's true match count (#14)
  • base_id accepted as a clade filter on paleobiology_search_occurrences, paleobiology_get_diversity, and paleobiology_search_collections, alongside base_name (#20)
  • paleobiology_get_taxon's show_children pages past 200 immediate children via children_offset/children_truncated (#15)

CHANGELOG v0.3.3

v0.3.2: PBDB warnings and true match totals

Choose a tag to compare

@cyanheads cyanheads released this 30 Jul 16:16
v0.3.2
bf42a51

PBDB warnings and true match totals

  • search_occurrences, search_collections, and get_diversity surface PBDB's warnings[] instead of discarding them — an unrecognized lithology value no longer silently returns PBDB's full unfiltered set (#12)
  • search_occurrences and search_collections send rowcount and read records_found, so totalCount and truncation reflect the true upstream match count instead of a page-filled guess; an offset past the end of a match set reports the overshoot instead of "widen your filters" (#13)

CHANGELOG v0.3.2

v0.3.1: PBDB error fidelity, classification, and attribution

Choose a tag to compare

@cyanheads cyanheads released this 30 Jul 15:29
v0.3.1
791bb04

PBDB error fidelity, classification, and attribution

  • search_occurrences, search_collections, and get_diversity reject a half-specified lngmin/lngmax box and an inverted/equal min_ma/max_ma range at the tool boundary, before any PBDB request (#10)
  • PBDB not-found reclassification narrowed to taxa/single only; every other endpoint's 400 now surfaces as InvalidParams carrying PBDB's own rejection text, and single-record 404s log at debug via the framework's expectedStatuses (#10)
  • search_occurrences returns canvas_id only when the result actually spilled to a canvas (#16)
  • occurrence rows and paleobiology_get_taxon gain a classification field; dataframe_query documents the JSON rollup pattern and corrects staged-row field guidance (#17, #18)
  • paleobiology_get_taxon and the occurrence/taxon resources carry a CC BY 4.0 attribution (#21)
  • list_intervals sorts filtered results oldest-first, matching the schema (#11)
  • mcp-ts-core adoption, Docker/bundle hardening, and skill/script resync (build config, repo hygiene)
  • deps: @cyanheads/mcp-ts-core ^0.10.9 → ^0.11.0

CHANGELOG v0.3.1

v0.3.0: collection_no drilldown, honest spill cap, filterless guard

Choose a tag to compare

@cyanheads cyanheads released this 28 Jun 14:13
v0.3.0
a4b6dac

collection_no drilldown, honest spill cap, filterless guard

paleobiology_search_occurrences gains a locality drilldown; the canvas spill and filterless calls now fail honestly.

Added:

  • collection_no input on paleobiology_search_occurrences, mapped to PBDB coll_id — the search_collections to occurrence drilldown (#5)

Fixed:

  • DataCanvas spill discloses a capped page instead of claiming the full set when the per-call cap (limit, bounded by PBDB_MAX_OCCURRENCES) is hit (#6)
  • paleobiology_search_occurrences and paleobiology_search_collections reject filterless calls with a typed missing_filter error before any PBDB request (#8)

94 tests pass; bun run devcheck clean.

v0.2.0: Taxon resource FAD/LAD top-level, diversity bins oldest-first

Choose a tag to compare

@cyanheads cyanheads released this 28 Jun 04:41
v0.2.0
61ad11a

Taxon resource FAD/LAD top-level, diversity bins oldest-first

Breaking: the paleobiology://taxon/{taxon_no} resource returns first_appearance/last_appearance at the top level (was wrapped in range{}), matching paleobiology_get_taxon.

Fixed:

  • Taxon resource is a true mirror of paleobiology_get_taxon via a shared shapeTaxon helper — FAD/LAD lifted top-level, no range{} wrapper (#1)
  • paleobiology_get_diversity bins ordered oldest-first (highest max_ma first) in structuredContent and the content[] table (#2)
  • accepted_name/rank (get_taxon) and interval/max_ma/min_ma (diversity bins) marked required; handler and normalizer fail loud when PBDB omits them (#4)

89 tests pass; bun run devcheck clean.

v0.1.1: initial release — fossil biodiversity over the Paleobiology Database

Choose a tag to compare

@cyanheads cyanheads released this 28 Jun 00:24
v0.1.1
7a3f21b

initial release — fossil biodiversity over the Paleobiology Database

Keyless MCP access to PBDB fossil occurrences, taxon ranges, diversity curves, fossil localities, and the geologic time scale. STDIO or Streamable HTTP.

Added:

  • Tools — fossil occurrence search (spills to a DataCanvas for SQL), taxon resolution, diversity curves, collection/locality search, the bundled ICS geologic time scale, plus the opt-in dataframe_drop
  • Resources — paleobiology://occurrence/{occurrence_no} and paleobiology://taxon/{taxon_no}
  • STDIO and Streamable HTTP transports on @cyanheads/mcp-ts-core

Changed:

  • Package name scoped to @cyanheads/paleobiology-mcp-server; install and registry surfaces aligned
  • One-line description unified across package.json, server.json, manifest.json, the Dockerfile, and both plugin manifests

Dependency bumps:

  • @types/node ^26.0.0 → ^26.0.1 (dev)

84 tests pass; bun run devcheck clean.