What this MCP does
Provides federally sourced health facts and adaptive, feedback-driven patient messaging streams with audience-safety checks.
Tools
Input schema
{'type': 'object', 'required': ['template_id'], 'properties': {'attributes': {'type': 'object', 'description': 'De-identified patient context. v1 accepts free-form jsonb; future templates will enforce schemas.'}, 'template_id': {'enum': ['diabetes_pharma_initiation_30day', 'general_wellness_daily', 'heart_pharma_initiation_30day', 'hypertension_lifestyle_90day', 'quit_smoking_90day', 'relapse_prevention_90day', 'weight_glp1_initiation_30day'], 'type': 'string', 'description': "One of the live Signal templates. Read the signal://catalog resource for each template's required audience_tags + patient_context. On a production key a clinical template 422s if its required tags/context are missing â\x80\x94 pre-satisfy them from the catalog. A free sandbox (Discovery) key always cues the curated sandbox corpus."}, 'audience_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Subset of the 14-tag B5/B6 schema. See list_sandbox_topics for sample topic labels.'}, 'delivery_mode': {'enum': ['display'], 'type': 'string', 'default': 'display', 'description': 'v1 is Display-only; Deliver-mode unlocks at Per-Episode tier after BAA.'}, 'idempotency_key': {'type': 'string', 'format': 'uuid', 'description': 'Optional. Stripe-style create idempotency: a retried create with the same key returns the ORIGINAL stream instead of minting (and billing) a second one. Forwarded as the Idempotency-Key request header. UUID v4 recommended.'}, 'feedback_timeout_days': {'type': 'integer', 'default': 14}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['stream_id', 'state', 'first_cue', '_meta'], 'properties': {'_meta': {'type': 'object', 'properties': {'not_samd': {'type': 'boolean'}, 'api_version': {'type': 'string'}, 'delivery_mode': {'type': 'string'}, 'no_medical_advice': {'type': 'boolean'}, 'license_attribution': {'type': 'string'}, 'sequencing_ip_notice': {'type': 'string'}}, 'description': 'Legal/disclosure block returned on every 2xx (A1 §6.7).', 'additionalProperties': True}, 'state': {'type': 'string'}, 'first_cue': {'type': 'object', 'properties': {'arc': {'type': ['object', 'null'], 'properties': {'day': {'type': ['integer', 'null'], 'description': 'The curated arc day of this message.'}, 'seq': {'type': ['integer', 'null'], 'description': '1-based position of this message in the spine.'}, 'phase': {'type': ['string', 'null'], 'description': 'The curated arc phase, e.g. starting_dose / titrating / re_entry.'}, 'total': {'type': ['integer', 'null'], 'description': 'Total messages in the spine.'}, 'source': {'type': 'string', 'description': 'spine | corpus_continuation'}}, 'description': "Where this cue sits in the template's curated arc, or null when the cue is not on a spine. source is 'spine' or 'corpus_continuation'; a corpus-continuation cue (past the arc's end) carries source only, with day/phase/seq/total null.", 'additionalProperties': True}, 'body': {'type': 'string'}, 'kind': {'type': 'string', 'description': 'fact | list | tip'}, 'safety': {'type': 'object', 'description': 'PHI-free audience-safety verdict.', 'additionalProperties': True}, 'cued_at': {'type': 'string', 'description': 'ISO 8601 timestamp.'}, 'message_id': {'type': 'integer'}, 'source_url': {'type': 'string'}, 'receptivity': {'type': 'number', 'description': 'Advisory receptivity in [0.0, 1.0]; 0.5 = neutral/new patient.'}, 'cue_event_id': {'type': 'integer'}, 'source_quote': {'type': 'string'}, 'day_of_stream': {'type': ['integer', 'null'], 'description': 'Advisory 1-based wall-clock day the patient is on in this stream (anchored to enrollment). Null on legacy cues issued before day-of-stream tracking.'}, 'message_class': {'type': 'string'}}, 'description': 'A cued message plus its per-cue receptivity score and audience-safety verdict.', 'additionalProperties': True}, 'stream_id': {'type': 'integer', 'description': 'Persist this â\x80\x94 every later cue/read references it.'}, 'rate_limit': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Discovery monthly cue cap.'}, 'reset': {'type': 'integer', 'description': 'Seconds until the cap window resets (start of next calendar month, UTC; same basis as the 429 Retry-After).'}, 'remaining': {'type': 'integer', 'description': 'Cues remaining in the current calendar month (UTC).'}}, 'description': 'Discovery monthly cue-cap headroom. Absent on non-Discovery tiers (no cap).', 'additionalProperties': True}, 'next_cue_eligible_at': {'type': ['string', 'null']}}}
Input schema
{'type': 'object', 'required': ['stream_id', 'feedback'], 'properties': {'feedback': {'type': 'object', 'required': ['response_action', 'idempotency_key'], 'properties': {'free_text': {'type': 'string'}, 'idempotency_key': {'type': 'string', 'format': 'uuid', 'description': 'UUID v4 recommended. Same key + same feedback returns the cached cue; conflicting feedback under the same key returns 409.'}, 'response_action': {'enum': ['did_it', 'already_do', 'will_try', 'check_it', 'new_to_me', 'needed_this', 'know_it', 'acknowledge', 'no_response'], 'type': 'string'}}}, 'stream_id': {'type': 'integer', 'description': 'The stream_id returned by create_patient_stream.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['stream_id', 'state', '_meta'], 'properties': {'_meta': {'type': 'object', 'properties': {'not_samd': {'type': 'boolean'}, 'api_version': {'type': 'string'}, 'delivery_mode': {'type': 'string'}, 'no_medical_advice': {'type': 'boolean'}, 'license_attribution': {'type': 'string'}, 'sequencing_ip_notice': {'type': 'string'}}, 'description': 'Legal/disclosure block returned on every 2xx (A1 §6.7).', 'additionalProperties': True}, 'state': {'type': 'string'}, 'message': {'type': 'string'}, 'next_cue': {'type': 'object', 'properties': {'arc': {'type': ['object', 'null'], 'properties': {'day': {'type': ['integer', 'null'], 'description': 'The curated arc day of this message.'}, 'seq': {'type': ['integer', 'null'], 'description': '1-based position of this message in the spine.'}, 'phase': {'type': ['string', 'null'], 'description': 'The curated arc phase, e.g. starting_dose / titrating / re_entry.'}, 'total': {'type': ['integer', 'null'], 'description': 'Total messages in the spine.'}, 'source': {'type': 'string', 'description': 'spine | corpus_continuation'}}, 'description': "Where this cue sits in the template's curated arc, or null when the cue is not on a spine. source is 'spine' or 'corpus_continuation'; a corpus-continuation cue (past the arc's end) carries source only, with day/phase/seq/total null.", 'additionalProperties': True}, 'body': {'type': 'string'}, 'kind': {'type': 'string', 'description': 'fact | list | tip'}, 'safety': {'type': 'object', 'description': 'PHI-free audience-safety verdict.', 'additionalProperties': True}, 'cued_at': {'type': 'string', 'description': 'ISO 8601 timestamp.'}, 'message_id': {'type': 'integer'}, 'source_url': {'type': 'string'}, 'receptivity': {'type': 'number', 'description': 'Advisory receptivity in [0.0, 1.0]; 0.5 = neutral/new patient.'}, 'cue_event_id': {'type': 'integer'}, 'source_quote': {'type': 'string'}, 'day_of_stream': {'type': ['integer', 'null'], 'description': 'Advisory 1-based wall-clock day the patient is on in this stream (anchored to enrollment). Null on legacy cues issued before day-of-stream tracking.'}, 'message_class': {'type': 'string'}}, 'description': 'A cued message plus its per-cue receptivity score and audience-safety verdict.', 'additionalProperties': True}, 'stream_id': {'type': 'integer'}, 'idempotent': {'type': 'boolean', 'description': 'true when this is the cached result of a repeated idempotency_key.'}, 'rate_limit': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Discovery monthly cue cap.'}, 'reset': {'type': 'integer', 'description': 'Seconds until the cap window resets (start of next calendar month, UTC; same basis as the 429 Retry-After).'}, 'remaining': {'type': 'integer', 'description': 'Cues remaining in the current calendar month (UTC).'}}, 'description': 'Discovery monthly cue-cap headroom. Absent on non-Discovery tiers (no cap).', 'additionalProperties': True}, 'normalized_action': {'type': ['string', 'null'], 'description': 'null when the submitted response_action was a recognized value; otherwise the acknowledge-class value the well-formed-but-unrecognized action was folded to (forward-compat tolerance). Always present on a cue result; absent on the exhausted-stream result.'}, 'sandbox_exhausted': {'type': 'boolean', 'description': 'Present + true when the sandbox subset is exhausted; no next_cue then.'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['topic_labels', '_meta'], 'properties': {'_meta': {'type': 'object', 'properties': {'not_samd': {'type': 'boolean'}, 'api_version': {'type': 'string'}, 'delivery_mode': {'type': 'string'}, 'no_medical_advice': {'type': 'boolean'}, 'license_attribution': {'type': 'string'}, 'sequencing_ip_notice': {'type': 'string'}}, 'description': 'Legal/disclosure block returned on every 2xx (A1 §6.7).', 'additionalProperties': True}, 'topic_labels': {'type': 'array', 'items': {'type': 'string'}}, 'template_id_for_sandbox': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'A health question or topic, e.g. "high blood pressure", "sleep", or "type 2 diabetes".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['fact', 'disclaimer', 'attribution', 'upgrade'], 'properties': {'fact': {'type': 'object', 'properties': {'body': {'type': 'string'}, 'kind': {'type': 'string', 'description': 'fact | list | tip'}, 'agency': {'type': 'string', 'description': 'Federal source agency label, e.g. CDC / MedlinePlus / NIDDK.'}, 'source_url': {'type': 'string', 'description': 'The federal public-domain source.'}, 'uphealth_url': {'type': 'string', 'description': 'The public uphealth.me topic page.'}}, 'description': 'The single already-public federal message â\x80\x94 a fact, list, or tip (see kind).', 'additionalProperties': True}, 'topic': {'type': 'string', 'description': "The matched topic's title."}, 'upgrade': {'type': 'object', 'description': 'The free-key upsell â\x80\x94 adaptive sequencing lives behind a Discovery key.', 'additionalProperties': True}, 'disclaimer': {'type': 'string'}, 'attribution': {'type': 'string', 'description': '"Source: <agency> via Uphealth".'}}}
Input schema
{'type': 'object', 'required': ['stream_id'], 'properties': {'stream_id': {'type': 'integer', 'description': 'The stream_id returned by create_patient_stream.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['stream_id', 'state', '_meta'], 'properties': {'_meta': {'type': 'object', 'properties': {'not_samd': {'type': 'boolean'}, 'api_version': {'type': 'string'}, 'delivery_mode': {'type': 'string'}, 'no_medical_advice': {'type': 'boolean'}, 'license_attribution': {'type': 'string'}, 'sequencing_ip_notice': {'type': 'string'}}, 'description': 'Legal/disclosure block returned on every 2xx (A1 §6.7).', 'additionalProperties': True}, 'state': {'type': 'string'}, 'stream_id': {'type': 'integer'}, 'rate_limit': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Discovery monthly cue cap.'}, 'reset': {'type': 'integer', 'description': 'Seconds until the cap window resets (start of next calendar month, UTC; same basis as the 429 Retry-After).'}, 'remaining': {'type': 'integer', 'description': 'Cues remaining in the current calendar month (UTC).'}}, 'description': 'Discovery monthly cue-cap headroom. Absent on non-Discovery tiers (no cap).', 'additionalProperties': True}, 'current_cue': {'type': ['object', 'null'], 'additionalProperties': True}, 'template_id': {'type': 'string'}, 'events_count': {'type': 'integer'}, 'next_cue_eligible': {'type': 'boolean'}}}
Recent tool changes
Similar MCP servers
MaCalculatriceEnLigne
Provides calculators for French and Belgian taxes, salaries, pensions, VAT, loans, health metrics, education scores, fitness, and…
Clink Forge
Provides pay-per-call access to attested government datasets, primarily CDC and HHS health data plus EPA air-quality observations.
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
Feegow Clinic
Manages clinic patients, providers, appointments, schedules, benefit plans, insurance billing, financial records, units, employee…
mcp
Analyzes medical bills and insurance denials, estimates healthcare costs, identifies assistance options, and supports appeals and…
Medicare Coverage
Provides structured Medicare coverage documents, policy timelines, utilization, enrollment, supplier, and payment-related data fr…
WebDiet
Manages dietitian workflows including patients, anamnesis, anthropometry, nutrition calculations, meal data, prescriptions, appoi…
Spoonacular
Provides recipe, ingredient, nutrition, grocery-product, measurement-conversion, and dietary meal-plan tools.