feat(mcp): expose medication schedule, integration status, and preventive-care reads

Add three grounded read tools, each a thin façade over an existing
server-authoritative engine (no new analytics, userId from the session):

- get_medication_schedule: next-due / overdue per active medication via
  the canonical recurrence engine (computeDisplayDue), with as-needed
  flagged and no scheduled due time.
- get_integration_status: per-provider sync health (connected, last sync,
  reauth-required/failing) from the integration-status ledger, so a user
  can see why their data is stale. No secrets or tokens.
- get_preventive_care: the user's already-configured Vorsorge reminders
  with their persisted next-due dates and an overdue flag; it surfaces
  configured reminders only and invents no screening logic.

Each declares an output schema, read-only annotations, and {present:false}
on absence. Page the search tool across the full assembled result set
(the prior 200-row scan made later items unreachable even through the
cursor) and give each result a per-item deep link where an id exists.
This commit is contained in:
Marc-André Bombeck committed 2026-06-28 02:00:37 +02:00
1 parent 1d9cc4b3d2
commit b9c164c4bb
6 files changed
+611 -8

No files matched your search

+4
View File
@@ -89,6 +89,10 @@ const READ_TOOLS = [
"get_cycle",
// v1.24 — multi-metric fan-out.
"get_metrics",
// v1.24 — operational reads.
"get_medication_schedule",
"get_integration_status",
"get_preventive_care",
].sort();
/** A valid, narrow-scope (`health:read`) token resolution. */