Skip to content

Uphealth Signal

by uphealth.us · remote · local (npm) · no sign-in to list tools · v1.1.7 · published by us.uphealth

The adaptive health-messaging engine for apps and agents. Federally-sourced. Not medical advice.

Changes · 2

5 tools: 2 change things and 3 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http uphealth https://mcp.uphealth.us/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

5 tools

Changes things 2Claude Code: ask
  • create_patient_streamCreate a Signal cued stream for one patient and get the first cue back synchronously.No findings

    Why it is in this group

    • The name "create_patient_stream" says "create": a word for a change.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Create patient stream
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • get_next_cued_messageSubmit the patient's response to the prior cue and get the next one — federally-sourced, audience-safety-checked, and re-sequenced on that feedback.No findings

    Why it is in this group

    • The name "get_next_cued_message" says "get": a word for reading.
    • The description's first verb is "submit": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Submit feedback, get next cued message
    • readOnlyHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 3Claude Code: allow
  • list_sandbox_topicsList the curated sandbox topic labels that define the free Discovery corpus — every topic federally-sourced and audience-safety-checked.No findings

    Why it is in this group

    • The name "list_sandbox_topics" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List sandbox topics
    • readOnlyHint: true
    • openWorldHint: false
  • lookup_health_factZero setup — NO key required.No findings

    Why it is in this group

    • The name "lookup_health_fact" says "lookup": a word for reading.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Look up a public health fact, list, or tip (no key)
    • readOnlyHint: true
    • openWorldHint: false
  • read_stream_stateRead a stream's current state, its current cued message, and event count.No findings

    Why it is in this group

    • The name "read_stream_state" says "read": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Read stream state
    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.7. Values in angle brackets are yours to fill in.

claude mcp add --transport http uphealth https://mcp.uphealth.us/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__uphealth__lookup_health_fact",
      "mcp__uphealth__read_stream_state",
      "mcp__uphealth__list_sandbox_topics"
    ],
    "ask": [
      "mcp__uphealth__create_patient_stream",
      "mcp__uphealth__get_next_cued_message"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as uphealth. Review it before you use it.