Chia Health MCP Server
oficialChia Health MCP Server — Integración de flujo de trabajo para pacientes en una plataforma de telesalud con licencia en EE. UU. Explore medicamentos GLP-1 (semaglutida, tirzepatida), terapias peptídicas (sermorelina, NAD+, glutatión) y tratamientos de longevidad. Verifique elegibilidad, complete la admisión, firme consentimientos y administre planes de tratamiento. 30 herramientas, compatible con HIPAA. Todas las recetas evaluadas por profesionales de la salud con licencia en EE. UU. y entregadas desde farmacias reguladas por la FDA en los 50 estados + DC.
¿Qué puedes hacer con Chia Health MCP?
-
Explorar medicamentos y verificar elegibilidad — Pídele a tu IA que liste los tratamientos disponibles con
medications.list, consulta los precios mediantemedications.pricingy realiza una preselección de tu elegibilidad usandoeligibility.check. -
Completar la admisión médica — Haz que tu IA te guíe a través del cuestionario de admisión (
intake.questions) y envía tus respuestas para revisión del proveedor conintake.submit. -
Revisar y firmar documentos de consentimiento — Tu IA puede recuperar el texto de consentimiento mediante
consent.texty registrar tu acuerdo usandoconsent.submitpara todos los documentos requeridos. -
Realizar un pedido y pagar — Usa
order.createpara realizar un pedido de medicamentos, luegocheckout.createpara generar un enlace de pago o completar el pago en la conversación concheckout.complete. -
Seguir tu tratamiento en el portal del paciente — Registra tu peso con
portal.log_weight, consulta tu plan de cuidado medianteportal.care_plan, envía un mensaje a tu proveedor o solicita un reabastecimiento. -
Responder a los seguimientos del proveedor — Recupera y responde las preguntas de tu proveedor usando
provider.questionsyprovider.respond.
Documentación
Servidor MCP de Chia Health
Servidor MCP (Protocolo de Contexto de Modelo) para la plataforma de prescripción de telesalud Chia Health. Permite que los asistentes de IA (ChatGPT, Claude, Gemini, OpenClaw, Copilot y agentes personalizados) ayuden a los pacientes a explorar medicamentos, completar el historial médico, firmar documentos de consentimiento, realizar pedidos, pagar y gestionar su tratamiento, todo mediante conversación natural.
Los tratamientos disponibles incluyen medicamentos GLP-1 (semaglutida, tirzepatida, incluyendo comprimidos), terapias peptídicas (sermorelina, NAD+, glutatión) y programas de longevidad. Todas las recetas son evaluadas por profesionales sanitarios licenciados en EE. UU. y se dispensan desde farmacias de formulación 503A reguladas por la FDA en los 50 estados de EE. UU. y DC.
Primeros pasos
doctormcp es un servidor MCP remoto — conéctese a través de la red, no requiere instalación local.
URL del servidor: https://mcp.chia.health/
Transporte: HTTP transmitido en flujo continuo
Metadatos: https://mcp.chia.health/server.json
Claude Desktop
Añadir a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chia-health": {
"url": "https://mcp.chia.health/"
}
}
}
Cursor
Añadir a .cursor/mcp.json en su proyecto o ~/.cursor/mcp.json globalmente:
{
"mcpServers": {
"chia-health": {
"url": "https://mcp.chia.health/"
}
}
}
Cline / VS Code
Añadir a su configuración de Cline MCP:
{
"mcpServers": {
"chia-health": {
"url": "https://mcp.chia.health/"
}
}
}
Windsurf
Añadir a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"chia-health": {
"serverUrl": "https://mcp.chia.health/"
}
}
}
Otros clientes MCP
Cualquier cliente MCP que admita transporte HTTP transmitido en flujo continuo puede conectarse:
- URL del servidor:
https://mcp.chia.health/ - Transporte: HTTP transmitido en flujo continuo
- Metadatos del servidor:
https://mcp.chia.health/server.json
Verificar conexión
Una vez conectado, su asistente de IA puede llamar inmediatamente a estas herramientas públicas (no requieren autenticación):
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
¿Qué puede hacer su asistente de IA?
| Categoría | Herramientas | Autenticación |
|---|---|---|
| Autenticación — verificación OTP, gestión de sesiones, detección de pago | 4 | No* |
| Descubrimiento — explorar medicamentos, precios, disponibilidad | 5 | No |
| Cualificación — comprobaciones de elegibilidad, cuestionarios de admisión | 4 | Parcial |
| Consentimiento — presentar y firmar documentos de consentimiento | 4 | Invitado |
| Pedidos — realizar pedidos, subir verificación de identidad | 4 | Invitado |
| Pago — pagos Stripe ACP o enlaces de pago autenticados | 5 | Invitado |
| Portal del paciente — registrar peso, enviar mensaje al profesional, renovaciones | 6 | Completo |
| Profesional — responder preguntas de seguimiento de su profesional | 2 | Invitado |
* Las herramientas de autenticación usan session_id (sin token) excepto auth.check_payment que usa un token de portador.
Importante: Todas las recetas son evaluadas y aprobadas por profesionales sanitarios licenciados en EE. UU. doctormcp facilita el flujo de trabajo del paciente — no toma decisiones clínicas.
Autenticación
Los pacientes pueden explorar libremente sin autenticación — el descubrimiento, la elegibilidad y la vista previa del cuestionario de admisión son públicos.
Cuando el paciente está listo para proceder con su admisión médica, verifica su correo electrónico:
auth.start(email, phone, name)→ envía OTP al correo electrónico, devuelvesession_idauth.verify_otp(session_id, code)→ devuelve token de portador con alcance de invitado
El token de invitado permite la admisión, el consentimiento, los pedidos y el pago. Después del pago, auth.check_payment actualiza el token a alcance completo para acceder al portal (plan de cuidados, mensajería, renovaciones).
Catálogo de herramientas
Autenticación
| Herramienta | Autenticación | Descripción |
|---|---|---|
auth.start | No | Enviar OTP al correo electrónico del paciente, obtener session_id |
auth.verify_otp | No | Verificar código, obtener token de portador con alcance de invitado |
auth.resend_otp | No | Reenviar OTP si ha caducado o no se ha recibido |
auth.check_payment | Invitado | Consultar el pago, actualizar token a alcance completo |
Descubrimiento (público, sin autenticación)
| Herramienta | Descripción |
|---|---|
medications.list | Listar todos los medicamentos con categorías, formas y precios |
medications.details | Información detallada de un medicamento específico (planes, precios, qué incluye) |
medications.availability | Comprobar si un medicamento se envía a un estado determinado |
medications.pricing | Desglose de precios para una combinación específica de medicamento/forma/plan |
medications.categories | Listar categorías de medicamentos (Pérdida de peso, Péptidos, Antienvejecimiento, etc.) |
Cualificación (público + invitado)
| Herramienta | Autenticación | Descripción |
|---|---|---|
eligibility.check | No | Pre-evaluar edad, estado, IMC y condiciones médicas |
intake.questions | No | Obtener el cuestionario estructurado de admisión para un medicamento |
intake.submit | Invitado | Enviar admisión completada para revisión del profesional |
intake.status | Invitado | Comprobar el estado de revisión de la admisión (en revisión, aprobada, denegada) |
Consentimiento (requiere token de invitado)
| Herramienta | Descripción |
|---|---|
consent.list | Listar los 5 documentos de consentimiento necesarios para una admisión |
consent.text | Obtener el texto completo literal de un documento de consentimiento |
consent.submit | Registrar la confirmación de consentimiento del paciente con pista de auditoría |
consent.status | Comprobar qué consentimientos están completos/pendientes |
Pedidos (requiere token de invitado)
| Herramienta | Descripción |
|---|---|
order.create | Crear un pedido de medicamento (requiere todos los consentimientos completos) |
order.status | Comprobar el estado del pedido e información de seguimiento |
order.documents | Listar los documentos de identidad requeridos para un pedido |
order.upload | Subir foto de identidad o selfie para verificación de identidad |
Pago (requiere token de invitado)
| Herramienta | Descripción |
|---|---|
checkout.create | Crear pago; devuelve enlace de pago autenticado (URL de enlace mágico) |
checkout.update | Actualizar un pago pendiente (códigos promocionales, envío) |
checkout.complete | Completar el pago con un Token de Pago Compartido de Stripe (ruta ACP) |
checkout.status | Consultar el estado del pago después de enviar un enlace de pago (ruta alternativa) |
checkout.cancel | Cancelar un pago en curso |
Portal del paciente (requiere token completo — después del pago)
| Herramienta | Descripción |
|---|---|
portal.log_weight | Registrar peso para seguimiento del progreso |
portal.log_side_effects | Informar de efectos secundarios (graves = marcado automáticamente para el profesional) |
portal.message | Enviar un mensaje al profesional sanitario |
portal.care_plan | Obtener medicación actual, dosis y progreso de peso |
portal.refill | Solicitar una renovación de medicamento |
portal.support | Crear un ticket de soporte al cliente |
Profesional (requiere token de invitado)
| Herramienta | Descripción |
|---|---|
provider.questions | Obtener preguntas de seguimiento del profesional |
provider.respond | Enviar respuestas a las preguntas del profesional |
Ejemplos de flujos del agente
1. Explorar medicamentos (sin autenticación)
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. Flujo completo de pedido (autenticación → admisión → consentimiento → pedido → pago)
== 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. Portal del paciente (token completo, después del pago)
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" }
Integración con Stripe ACP
doctormcp utiliza el Protocolo de Comercio Agentivo de Stripe (ACP) para el procesamiento de pagos:
- Creación del pedido —
order.createcalcula el total y crea un registro de pedido previo al pago. - Inicio del pago —
checkout.createcrea unPaymentIntentde Stripe (para ACP) y genera un enlace de pago autenticado. El enlace autentica automáticamente a los pacientes en el navegador y aterriza en la página de pago de Chia Health. También se envía por correo electrónico y SMS. - Finalización del pago — Dos rutas:
- ACP:
checkout.completeacepta un Token de Pago Compartido (SPT) de la plataforma de IA y confirma elPaymentIntent. Pago instantáneo en la conversación. - Alternativa: El agente comparte el
payment_url(enlace mágico autenticado) con el paciente. El paciente lo abre en su navegador, se autentica automáticamente y paga en la página de pago de Chia Health. El agente consultaauth.check_paymentpara detectar la finalización.
- ACP:
- Post-pago — Al tener éxito (cualquiera de las rutas), se crean automáticamente un
Subscriptiony unEnrollment.auth.check_paymentactualiza el token del agente a alcance completo para acceder al portal.
Cumplimiento HIPAA
- Registro de auditoría — Cada acceso a información de salud protegida (PHI) se registra con la identidad del actor, tipo de acción, recurso, dirección IP y marca de tiempo. Los registros se conservan durante 10 años.
- Registros de consentimiento — Todas las confirmaciones de consentimiento del paciente incluyen texto de confirmación literal, método (conversacional del agente de IA), plataforma, ID de sesión y dirección IP. Los registros de consentimiento son inmutables.
- Saneamiento de entradas — Todas las entradas se validan y sanean. Se eliminan los caracteres de control, se aplican límites de longitud y se validan los formatos específicos del dominio (correo electrónico, estado, teléfono, código postal).
- Autenticación OTP primero — La propiedad del correo electrónico se verifica mediante OTP de 6 dígitos antes de cualquier acceso a los datos del paciente. Tokens con hash SHA-256 con acceso limitado (invitado/completo). No se emite ningún token sin verificación de correo electrónico.
- Limitación de velocidad — Limitación de velocidad por usuario y categoría de endpoint basada en Redis con algoritmo de cubo de tokens (público: 100/min, autenticación: 5/min, autenticado: 30/min, consentimiento: 10/min, pago: 5/min).
- Exposición mínima de datos — Las herramientas devuelven solo los datos necesarios para el paso actual. Los campos sensibles (datos de pago, SSN completo) nunca se devuelven.
Soporte
- Incidencias: github.com/chia-health/chia-mcp/issues
- Sitio web: chia.health
- Correo electrónico: engineering@chia.health
Licencia
Licencia Apache 2.0 — consulte LICENSE para más detalles.
Copyright 2026 Chia Health, Inc.