Extracts implicit and explicit clinical commitments from physician notes, verifies them against FHIR R4 patient records, and generates actionable follow-up tasks for unkept promises.
Clinical Promise Keeper defines 4 tools with explicit schemas and descriptions. All tools have verb-noun naming (extract_, check_, generate_, get_) and descriptions (100-200 chars). However, parameter descriptions are sparse or missing for complex nested objects. Array item schemas lack detail (items: {type: 'object'} with no properties). Output schemas are not documented. Error handling guidance is absent. The server operates over HTTP with a custom JSON-RPC interface, not standard MCP protocol.
Verifies extracted clinical promises against FHIR data to determine if each promise has been kept, is pending, or was missed.
Analyzes a clinical note to extract implicit and explicit clinical commitments (follow-up labs, appointments, imaging). Uses AI to identify promises that may not have corresponding orders.
Creates draft FHIR Task resources for unkept clinical promises for clinician review.
End-to-end promise analysis: fetches recent notes, extracts promises, checks fulfillment, and returns both a structured summary and an AI-generated clinical narrative with action items.
Array item schemas lack property definitions. 'promises' and 'unkeptPromises' parameters declare items as {type: 'object'} with no properties, making it impossible for LLMs to know what fields to include.
Output schemas are not documented. Tools return structured data but LLMs cannot see the response schema to plan downstream calls or extract fields correctly.
No error handling guidance. Tool descriptions do not explain what errors can occur, whether they are retryable, or what the LLM should do next (e.g., 'If FHIR server is unreachable, retry after 30s').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Parameter 'notes' in get_promise_summary has no description of the expected structure (noteText, noteDate fields are shown in schema but not explained in text).
No pagination or result limits documented. Tools like get_promise_summary with lookbackDays=90 could return hundreds of promises; no limit or pagination guidance provided.