accueil / serveurs / Communication / us.uphealth/mcp
us.uphealth/mcp
serveur MCP (Model Context Protocol) · uphealth-mcp 1.1.7
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que us.uphealth/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « us.uphealth/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 5 outils
- create_patient_stream≈ 1314 tokens
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).
Paramètres, retour & exemple (6)
Paramètresattributes· object · optionnel
De-identified patient context. v1 accepts free-form jsonb; future templates will enforce schemas.template_id· string · requis · diabetes_pharma_initiation_30day | general_wellness_daily | heart_pharma_initiation_30day | hypertension_lifestyle_90day | quit_smoking_90day | relapse_prevention_90day | weight_glp1_initiation_30day
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.audience_tags· array · optionnel
Subset of the 14-tag B5/B6 schema. See list_sandbox_topics for sample topic labels.delivery_mode· string · optionnel · display
v1 is Display-only; Deliver-mode unlocks at Per-Episode tier after BAA.idempotency_key· string · optionnel
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· integer · optionnel
Exemple d'appel{"name": "create_patient_stream", "arguments": {"template_id": "diabetes_pharma_initiation_30day"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"_meta": {}, "state": "texte", "first_cue": {}, "stream_id": 1, "rate_limit": {}, "next_cue_eligible_at": "texte"}} - get_next_cued_message≈ 1205 tokens
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.
Paramètres, retour & exemple (2)
Paramètresfeedback· object · requisstream_id· integer · requis
The stream_id returned by create_patient_stream.
Exemple d'appel{"name": "get_next_cued_message", "arguments": {"feedback": {}, "stream_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"_meta": {}, "state": "texte", "message": "texte", "next_cue": {}, "stream_id": 1, "idempotent": true, "rate_limit": {}, "normalized_action": "texte", "sandbox_exhausted": true}} - list_sandbox_topics≈ 292 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_sandbox_topics", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"_meta": {}, "topic_labels": [], "template_id_for_sandbox": "texte"}} - lookup_health_fact≈ 484 tokens
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
Paramètres, retour & exemple (1)
Paramètresq· string · requis
A health question or topic, e.g. "high blood pressure", "sleep", or "type 2 diabetes".
Exemple d'appel{"name": "lookup_health_fact", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"fact": {}, "topic": "texte", "upgrade": {}, "disclaimer": "texte", "attribution": "texte"}} - read_stream_state≈ 461 tokens
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.
Paramètres, retour & exemple (1)
Paramètresstream_id· integer · requis
The stream_id returned by create_patient_stream.
Exemple d'appel{"name": "read_stream_state", "arguments": {"stream_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"_meta": {}, "state": "texte", "stream_id": 1, "rate_limit": {}, "current_cue": {}, "template_id": "texte", "events_count": 1, "next_cue_eligible": true}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».