us.uphealth/mcp
Official5 toolsUphealth Signal
The adaptive health-messaging engine for apps and agents. Federally-sourced. Not medical advice.
Adaptive health messaging engine for applications and agents using federal health sources.
Captured live from the server via tools/list.
lookup_health_fact
Zero setup — NO key required. Returns ONE already-public federal health fact, list, or tip for a question or topic (e.g. "high blood pressure", "sleep", "type 2 diabetes"), with its federal source (CDC / MedlinePlus / NIH) and a link to the public uphealth.me page. Free + rate-limited. For adaptive, patient-specific message sequencing — receptivity-scored cues + audience-safety verdicts over the full library of federally-sourced facts, lists & tips — get a free Discovery key at https://uphealth.us/signup
Parameters (1)
- qstringrequired
A health question or topic, e.g. "high blood pressure", "sleep", or "type 2 diabetes".
create_patient_stream
Create a Signal cued stream for one patient and get the first cue back synchronously. Every cue is federally-sourced, audience-safety-checked, and sequenced on the patient's prior response — so your agent never fabricates health content. Choose a template_id from the signal://catalog resource and pre-satisfy its required audience_tags + patient_context (clinical templates 422 without them). Display mode renders in your app: no PHI, no BAA. Each later cue MUST submit the prior message's feedback — the engine refuses to advance without it (the sequencing moat).
Parameters (6)
- template_idstringrequired
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 — pre-satisfy them from the catalog. A free sandbox (Discovery) key always cues the curated sandbox corpus.
- attributesobject
De-identified patient context. v1 accepts free-form jsonb; future templates will enforce schemas.
- audience_tagsarray
Subset of the 14-tag B5/B6 schema. See list_sandbox_topics for sample topic labels.
- delivery_modestring
v1 is Display-only; Deliver-mode unlocks at Per-Episode tier after BAA.
- feedback_timeout_daysinteger
- idempotency_keystring
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.
get_next_cued_message
Submit the patient's response to the prior cue and get the next one — federally-sourced, audience-safety-checked, and re-sequenced on that feedback. REFUSES WITHOUT PRIOR-MESSAGE FEEDBACK (the moat): the engine will not advance a stream blind, returning 409 if you skip it. response_action is one of the accepted cue vocabulary (see the signal://catalog resource). Same idempotency_key + same feedback returns the cached cue; conflicting feedback under the same key returns 409.
Parameters (2)
- stream_idintegerrequired
The stream_id returned by create_patient_stream.
- feedbackobjectrequired
read_stream_state
Read a stream's current state, its current cued message, and event count. Read-only — does NOT advance the stream or consume a cue. Use it between feedback turns to inspect where a patient is in their federally-sourced, audience-safety-checked sequence.
Parameters (1)
- stream_idintegerrequired
The stream_id returned by create_patient_stream.
list_sandbox_topics
List the curated sandbox topic labels that define the free Discovery corpus — every topic federally-sourced and audience-safety-checked. Use it to preview what content domains exist before creating a stream. Does NOT enumerate messages — the corpus stays internal. For the full live template catalog + gating contract, read the signal://catalog resource.
No parameters.
README not available yet.
Install
Configuration
UPHEALTH_API_KEYsecretOptional. Runs keyless by default — lookup_health_fact needs no key. Get a free sandbox key (it begins up_sandbox_) from https://uphealth.us/signup to unlock the keyed patient-stream + cue tools.
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@uphealth/mcp-server@1.1.4"
],
"env": {
"UPHEALTH_API_KEY": "<YOUR_UPHEALTH_API_KEY>"
}
}
}
}