Chia Health MCP Server

officiel

Serveur MCP Chia Health — Intégration du flux de travail patient pour une plateforme de télésanté agréée aux États-Unis. Parcourez les médicaments GLP-1 (sémaglutide, tirzepatide), les thérapies peptidiques (sermoréline, NAD+, glutathion) et les traitements de longévité. Vérifiez l'éligibilité, complétez l'admission, signez les consentements et gérez les plans de traitement. 30 outils, conforme HIPAA. Toutes les prescriptions sont évaluées par des professionnels de santé agréés aux États-Unis et délivrées par des pharmacies réglementées par la FDA dans les 50 États + DC.

Que pouvez-vous faire avec Chia Health MCP ?

  • Parcourir les médicaments et vérifier l’éligibilité — Demandez à votre IA de lister les traitements disponibles avec medications.list, de vérifier les prix via medications.pricing, et de pré-vérifier votre éligibilité à l’aide de eligibility.check.

  • Compléter le bilan médical — Laissez votre IA vous guider à travers le questionnaire médical (intake.questions) et soumettre vos réponses pour examen par le prestataire avec intake.submit.

  • Examiner et signer les documents de consentement — Votre IA peut récupérer le texte de consentement via consent.text et enregistrer votre accord à l’aide de consent.submit pour tous les documents requis.

  • Passer une commande et payer — Utilisez order.create pour passer une commande de médicaments, puis checkout.create pour générer un lien de paiement ou effectuer le paiement directement dans la conversation avec checkout.complete.

  • Suivre votre traitement dans le portail patient — Enregistrez votre poids avec portal.log_weight, consultez votre plan de soins via portal.care_plan, échangez avec votre prestataire ou demandez un renouvellement.

  • Répondre aux suivis du prestataire — Récupérez et répondez aux questions de votre prestataire en utilisant provider.questions et provider.respond.

Documentation

Serveur MCP Chia Health

License MCP HIPAA Tools Stripe ACP

Serveur MCP (Model Context Protocol) pour la plateforme de prescription en télésanté Chia Health. Permet aux assistants IA (ChatGPT, Claude, Gemini, OpenClaw, Copilot et agents personnalisés) d’aider les patients à parcourir les médicaments, remplir le dossier médical, signer les documents de consentement, passer commande, payer et gérer leur traitement — le tout par conversation naturelle.

Les traitements disponibles incluent les médicaments GLP-1 (sémaglutide, tirzépatide, y compris en comprimés), les thérapies peptidiques (sermoreline, NAD+, glutathion) et les programmes de longévité. Toutes les prescriptions sont évaluées par des professionnels de santé agréés aux États-Unis et délivrées par des pharmacies de préparation 503A réglementées par la FDA dans les 50 États américains + DC.

Mise en route

doctormcp est un serveur MCP distant — connexion via le réseau, aucune installation locale requise.

URL du serveur : https://mcp.chia.health/ Transport : HTTP Streamable Métadonnées : https://mcp.chia.health/server.json

Claude Desktop

Ajouter à ~/Library/Application Support/Claude/claude_desktop_config.json :

{
  "mcpServers": {
    "chia-health": {
      "url": "https://mcp.chia.health/"
    }
  }
}
Cursor

Ajouter à .cursor/mcp.json dans votre projet ou ~/.cursor/mcp.json globalement :

{
  "mcpServers": {
    "chia-health": {
      "url": "https://mcp.chia.health/"
    }
  }
}
Cline / VS Code

Ajouter à vos paramètres Cline MCP :

{
  "mcpServers": {
    "chia-health": {
      "url": "https://mcp.chia.health/"
    }
  }
}
Windsurf

Ajouter à ~/.codeium/windsurf/mcp_config.json :

{
  "mcpServers": {
    "chia-health": {
      "serverUrl": "https://mcp.chia.health/"
    }
  }
}
Autres clients MCP

Tout client MCP prenant en charge le transport HTTP streamable peut se connecter :

  • URL du serveur : https://mcp.chia.health/
  • Transport : HTTP Streamable
  • Métadonnées du serveur : https://mcp.chia.health/server.json

Vérifier la connexion

Une fois connecté, votre assistant IA peut immédiatement appeler ces outils publics (aucune authentification requise) :

medications.categories     → medication categories
medications.list           → all medications with pricing
medications.availability   → check if a medication ships to your state
eligibility.check          → pre-screen age, state, BMI

Que peut faire votre assistant IA ?

CatégorieOutilsAuth
Auth — vérification OTP, gestion de session, détection de paiement4Non*
Découverte — parcourir les médicaments, prix, disponibilité5Non
Éligibilité — vérifications d’éligibilité, questionnaires médicaux4Partielle
Consentement — présenter et signer les documents de consentement4Invité
Commande — passer commande, téléverser une pièce d’identité4Invité
Paiement — paiements Stripe ACP ou liens de paiement authentifiés5Invité
Portail patient — enregistrer le poids, envoyer un message au professionnel, renouvellements6Complète
Professionnel — répondre aux questions de suivi de votre professionnel de santé2Invité

* Les outils d’authentification utilisent session_id (pas de jeton) sauf auth.check_payment qui utilise un jeton porteur.

Important : Toutes les prescriptions sont évaluées et approuvées par des professionnels de santé agréés aux États-Unis. doctormcp facilite le parcours patient — il ne prend pas de décisions cliniques.

Authentification

Les patients peuvent naviguer librement sans authentification — la découverte, l’éligibilité et l’aperçu du questionnaire médical sont tous publics.

Lorsque le patient est prêt à poursuivre son dossier médical, il vérifie son adresse e-mail :

  1. auth.start(email, phone, name) → envoie un OTP par e-mail, renvoie session_id
  2. auth.verify_otp(session_id, code) → renvoie un jeton porteur à portée invité

Le jeton invité permet le dossier médical, le consentement, la commande et le paiement. Après le paiement, auth.check_payment étend le jeton à une portée complète pour l’accès au portail (plan de soins, messagerie, renouvellements).

Catalogue d’outils

Auth

OutilAuthDescription
auth.startNonEnvoyer un OTP à l’e-mail du patient, obtenir session_id
auth.verify_otpNonVérifier le code, obtenir un jeton porteur à portée invité
auth.resend_otpNonRenvoyer l’OTP s’il a expiré ou n’a pas été reçu
auth.check_paymentInvitéInterroger l’état du paiement, étendre le jeton à la portée complète

Découverte (public, sans auth)

OutilDescription
medications.listLister tous les médicaments avec catégories, formes et prix
medications.detailsInformations détaillées sur un médicament spécifique (plans, prix, ce qui est inclus)
medications.availabilityVérifier si un médicament est expédié dans un État donné
medications.pricingDétail du prix pour une combinaison médicament/forme/plan spécifique
medications.categoriesLister les catégories de médicaments (Perte de poids, Peptides, Anti-âge, etc.)

Éligibilité (public + invité)

OutilAuthDescription
eligibility.checkNonPré-vérifier l’âge, l’État, l’IMC et les conditions médicales
intake.questionsNonObtenir le questionnaire médical structuré pour un médicament
intake.submitInvitéSoumettre le dossier médical complété pour examen par le professionnel
intake.statusInvitéVérifier l’état d’examen du dossier (en cours, approuvé, refusé)

Consentement (jeton invité requis)

OutilDescription
consent.listLister les 5 documents de consentement nécessaires pour un dossier
consent.textObtenir le texte intégral d’un document de consentement
consent.submitEnregistrer la confirmation de consentement du patient avec piste d’audit
consent.statusVérifier quels consentements sont complets/en attente

Commande (jeton invité requis)

OutilDescription
order.createCréer une commande de médicament (nécessite tous les consentements complets)
order.statusVérifier l’état de la commande et les informations de suivi
order.documentsLister les documents d’identité requis pour une commande
order.uploadTéléverser une photo d’identité ou un selfie pour vérification d’identité

Paiement (jeton invité requis)

OutilDescription
checkout.createCréer un paiement ; renvoie un lien de paiement authentifié (URL lien magique)
checkout.updateMettre à jour un paiement en attente (codes promo, livraison)
checkout.completeFinaliser le paiement avec un jeton de paiement partagé Stripe (chemin ACP)
checkout.statusInterroger l’état du paiement après l’envoi d’un lien de paiement (chemin de secours)
checkout.cancelAnnuler un paiement en cours

Portail patient (jeton complet requis — après paiement)

OutilDescription
portal.log_weightEnregistrer le poids pour le suivi de progression
portal.log_side_effectsSignaler des effets secondaires (graves = signalement automatique au professionnel)
portal.messageEnvoyer un message au professionnel de santé
portal.care_planObtenir le médicament actuel, la posologie et la progression du poids
portal.refillDemander un renouvellement de médicament
portal.supportCréer un ticket de support client

Professionnel (jeton invité requis)

OutilDescription
provider.questionsObtenir les questions de suivi du professionnel
provider.respondSoumettre les réponses aux questions du professionnel

Exemples de flux d’agent

1. Parcourir les médicaments (sans auth)

User: "What weight loss medications do you offer?"

Agent calls: medications.list
→ Returns categories with semaglutide, tirzepatide, etc.

Agent calls: medications.details(medication="semaglutide-injectable")
→ Returns plans (1-month $349, 4-month $299/mo, 6-month $249/mo)

Agent calls: medications.availability(medication="semaglutide-injectable", state="TX")
→ { "available": true }

Agent calls: eligibility.check(age=35, state="TX", bmi=31.2)
→ { "eligible": true, "available_medications": [...] }

2. Flux de commande complet (auth → dossier → consentement → commande → paiement)

== VERIFY IDENTITY ==

1. auth.start(email="patient@example.com", phone="5551234567", first_name="Jane")
   → { "session_id": "abc123...", "otp_sent": true }

2. auth.verify_otp(session_id="abc123...", code="847293")
   → { "guest_token": "mcp_...", "scope": "guest" }

== MEDICAL INTAKE ==

3. intake.questions(medication="semaglutide-injectable")
   → Structured questionnaire (demographics, vitals, medical history, etc.)
   → Agent asks patient each question conversationally

4. intake.submit(patient_email, patient_name, answers, bearer_token)
   → { "intake_id": "42", "next_step": "get_required_consents" }

5. consent.list(intake_id="42", bearer_token)
   → 5 consent documents (telehealth, treatment, pharmacy, HIPAA, AI disclosure)

6. For each consent:
   a. consent.text(consent_id, bearer_token)
      → Full text the agent MUST present verbatim
   b. Patient confirms: "I agree"
   c. consent.submit(intake_id, consent_id, "I agree", bearer_token)

== ORDER & PAY ==

7. order.create(intake_id, medication, form, plan_months, shipping_address, bearer_token)
   → { "order_id": "99", "total": "1079.39", "next_step": "create_checkout" }

8. checkout.create(order_id="99", bearer_token)
   → { "checkout_id": "7", "payment_url": "https://chia.health/checkout/aBc-_xyz" }
   → Agent shares link with patient; also sent via email+SMS

9a. (ACP path) checkout.complete(checkout_id="7", shared_payment_token="spt_...", bearer_token)
    → { "payment_status": "success", "confirmation_number": "CHIA-000099" }

9b. (Fallback) Patient opens payment_url in browser, pays on Chia checkout page

10. auth.check_payment(bearer_token)
    → { "paid": true, "scope": "full" }  // token upgraded, portal unlocked

3. Portail patient (jeton complet, après paiement)

1. portal.log_weight(patient_id, weight_lbs=195.5, date="2026-06-15", bearer_token)
   → { "recorded": true }

2. portal.care_plan(patient_id, bearer_token)
   → Current medication, phase, dosing schedule, recent weights

3. portal.log_side_effects(patient_id, effects=["nausea"], severity="mild", bearer_token)
   → { "recorded": true, "flagged_for_review": false }

4. portal.message(patient_id, message="Nausea improving", bearer_token)
   → { "sent": true, "estimated_response_time": "24-48 hours" }

Intégration Stripe ACP

doctormcp utilise le protocole de commerce agentique (ACP) de Stripe pour le traitement des paiements :

  1. Création de commandeorder.create calcule le total et crée un enregistrement de commande pré-paiement.
  2. Initialisation du paiementcheckout.create crée un PaymentIntent Stripe (pour ACP) et génère un lien de paiement authentifié. Le lien authentifie automatiquement les patients dans le navigateur et atterrit sur la page de paiement Chia Health. Également envoyé par e-mail et SMS.
  3. Finalisation du paiement — Deux chemins :
    • ACP : checkout.complete accepte un jeton de paiement partagé (SPT) de la plateforme IA et confirme le PaymentIntent. Paiement instantané, dans la conversation.
    • Secours : L’agent partage le payment_url (lien magique authentifié) avec le patient. Le patient l’ouvre dans son navigateur, s’authentifie automatiquement et paie sur la page de paiement Chia Health. L’agent interroge auth.check_payment pour détecter la finalisation.
  4. Post-paiement — En cas de succès (quel que soit le chemin), un Subscription et un Enrollment sont créés automatiquement. auth.check_payment étend le jeton de l’agent à la portée complète pour l’accès au portail.

Conformité HIPAA

  • Journalisation d’audit — Chaque accès aux informations de santé protégées (PHI) est journalisé avec l’identité de l’acteur, le type d’action, la ressource, l’adresse IP et l’horodatage. Les journaux sont conservés pendant 10 ans.
  • Enregistrements de consentement — Toutes les confirmations de consentement du patient incluent le texte de confirmation textuel, la méthode (conversationnelle par agent IA), la plateforme, l’ID de session et l’adresse IP. Les enregistrements de consentement sont immuables.
  • Assainissement des entrées — Toutes les entrées sont validées et assainies. Les caractères de contrôle sont supprimés, les longueurs appliquées et les formats spécifiques au domaine (e-mail, État, téléphone, code postal) sont validés.
  • Authentification OTP d’abord — Propriété de l’e-mail vérifiée via un OTP à 6 chiffres avant tout accès aux données du patient. Jetons hachés SHA-256 avec accès limité (invité/complet). Aucun jeton délivré sans vérification d’e-mail.
  • Limitation de débit — Limitation de débit par compartiment de jetons adossée à Redis par utilisateur et catégorie de point de terminaison (public : 100/min, auth : 5/min, authentifié : 30/min, consentement : 10/min, paiement : 5/min).
  • Exposition minimale des données — Les outils renvoient uniquement les données nécessaires à l’étape en cours. Les champs sensibles (détails de paiement, SSN complet) ne sont jamais renvoyés.

Support

Licence

Licence Apache 2.0 — voir LICENSE pour plus de détails.

Copyright 2026 Chia Health, Inc.