HealthAPI
Servidor MCP remoto para los datos de Apple Health que sincronizas desde tu iPhone: sueño, frecuencia cardíaca, HRV, entrenamientos y tendencias. Solo lectura, aprobado en tu iPhone.
Servidor MCP alojado
npx add-mcp 'https://healthapi.app/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Qué es
El Model Context Protocol (MCP) es la forma en que las apps de IA llaman a herramientas externas. HealthAPI ejecuta un servidor MCP remoto en https://healthapi.app/mcp, sobre Streamable HTTP. Detrás está tu propia cuenta de HealthAPI, que la app de HealthAPI para iPhone mantiene sincronizada con Apple Health.
-
Tu iPhone sincroniza Apple Health
La app de HealthAPI lee Apple Health con tu permiso y lo sincroniza con tu cuenta privada, con totales y promedios diarios. -
Añades la dirección a tu app de IA
Inicia sesión con OAuth. Una página de HealthAPI muestra un código corto y tú lo apruebas en la app de tu iPhone. -
Tu app de IA llama a las herramientas
Cuando haces una pregunta, llama a las herramientas que necesita, como el resumen de un día o la tendencia de una métrica, y responde a partir de tus datos.
Aprobando un inicio de sesión en HealthAPI. El código coincide con el de la página de inicio de sesión.
Por qué no necesita una exportación
Muchos servidores MCP de Apple Health funcionan a partir de la exportación XML de la app Salud: exportas, copias el archivo a tu ordenador y ejecutas el servidor allí. Eso funciona en un escritorio, pero los datos son tan recientes como tu última exportación, y las apps de IA en la web y en tu teléfono no pueden acceder a un servidor en tu portátil.
| Basado en exportación, ejecutado localmente | HealthAPI | |
|---|---|---|
| Datos | El último archivo que exportaste | Sincronizados desde tu iPhone |
| Se ejecuta en | Tu ordenador | Alojado en healthapi.app |
| Funciona en | Apps en ese ordenador | Claude en la web, escritorio y móvil, ChatGPT en la web, y herramientas de código |
| Inicio de sesión | Ninguno, lee un archivo local | OAuth, aprobado en tu iPhone |
Si quieres que tus datos permanezcan enteramente en tu propio ordenador, un servidor local es la elección correcta. Si los quieres actualizados y disponibles dondequiera que uses IA, un servidor alojado lo es.
Conecta tu cliente
Todos los clientes usan la misma dirección:
URL
https://healthapi.app/mcp
| Cliente | Cómo |
|---|---|
| Claude | Busca HealthAPI en el directorio de conectores de Claude (Customize, Connectors, +) y selecciona Connect. Todos los planes, incluido Free. Configúralo en la web o el escritorio y también funciona en las apps móviles. Guía completa. |
| ChatGPT | Plugins, +, añade un servidor MCP personalizado con la dirección y OAuth, Create as a plugin, luego instálalo y escribe @ en un chat. Plus, Pro, Business, Enterprise o Edu, en chatgpt.com en un navegador de ordenador; no en Free ni Go. Guía completa. |
| Mistral Vibe | Connectors, Add connector, Add a custom connector, con la dirección como Server; OAuth se detecta automáticamente. Todos los planes, incluido Free, en chat.mistral.ai. Guía completa. |
| Claude Code | claude mcp add --transport http healthapi https://healthapi.app/mcp, luego /mcp para iniciar sesión. |
| Cursor, VS Code | Un servidor MCP HTTP con url configurado con la dirección, en ~/.cursor/mcp.json o .vscode/mcp.json. Guía de Cursor. |
| Otros clientes MCP | Un servidor remoto sobre Streamable HTTP. Los clientes que admiten el inicio de sesión OAuth de MCP lo encuentran por su cuenta. |
Clientes que envían cabeceras en su lugar
Una herramienta que no puede ejecutar un inicio de sesión OAuth puede enviar tu clave de API de HealthAPI como token Bearer en su lugar. La clave está en la app en Connect, luego Other tools. Por ejemplo, en Cursor:
~/.cursor/mcp.jsonJSON
{
"mcpServers": {
"healthapi": {
"url": "https://healthapi.app/mcp",
"headers": { "Authorization": "Bearer <your API key>" }
}
}
}
La clave lee todo lo que has sincronizado, así que mantenla fuera de archivos compartidos. Regenerarla en la app corta el acceso a toda herramienta que la tenga.
Las 8 herramientas
Todas las herramientas son de solo lectura y están anotadas como tales (readOnlyHint), para que tu app de IA sepa que nada puede cambiar. Las fechas son locales a tu zona horaria, y una noche de sueño pertenece a la mañana en que terminó.
| Herramienta | Devuelve | Entradas |
|---|---|---|
get_health_overview | Cada métrica con su primer y último día, historial de sueño y entrenamientos, última sincronización, zona horaria, solicitudes restantes. Llámala primero. | Ninguna |
get_daily_summary | Un día: actividad, energía, corazón, oxígeno en sangre, frecuencia respiratoria, entrenamientos y el sueño de esa mañana. | date (por defecto hoy) |
get_weekly_summary | Una semana de lunes a domingo: totales, promedios diarios y una línea por día. | week, p. ej. 2026-W41 (por defecto esta semana) |
get_sleep | Por noche: dormido (core, deep, REM), despierto, en cama, hora de acostarse y de despertarse, con promedios. | start_date, end_date (una semana por defecto, hasta 92 noches) |
get_trend | Una métrica día a día, un total o un promedio con mínimo y máximo, y el promedio del período. | metric, days (1 a 365, por defecto 30) |
get_latest | La lectura más reciente de cada métrica, con cuándo se tomó. | metrics (por defecto todas) |
get_workouts | Entrenamientos entre dos días, los más recientes primero, con totales. | start_date, end_date, activity_type, limit (hasta 100) |
get_samples | Lecturas individuales de una métrica, para un momento concreto como la frecuencia cardíaca durante una carrera. | metric, start_date, end_date (hasta 31 días), limit (hasta 500) |
Los nombres de métricas son nombres de HealthKit como restingHeartRate o vo2Max. Las 50 están listadas aquí. Los mismos datos están disponibles a través de la API REST.
Inicio de sesión y descubrimiento
Una solicitud sin token recibe 401 con una cabecera WWW-Authenticate que apunta a los metadatos del recurso protegido, que es como los clientes empiezan a iniciar sesión. Las direcciones:
URLs
https://healthapi.app/mcp
https://healthapi.app/.well-known/oauth-protected-resource/mcp
https://healthapi.app/.well-known/oauth-authorization-server
- OAuth 2.1 flujo de código de autorización con PKCE (
S256). Los clientes se identifican con un Client ID Metadata Document o se registran dinámicamente (RFC 7591). - Un solo scope,
health.read: leer los datos de salud sincronizados de la cuenta. - Sin contraseña. La página de inicio de sesión muestra un código de 6 caracteres y un código QR; lo apruebas en la app de HealthAPI. Espera 10 minutos.
- Tokens: los tokens de acceso duran una hora; los tokens de actualización duran 60 días y rotan al usarse, así que una conexión que uses permanece con la sesión iniciada.
Planes y límites
Cada llamada a una herramienta cuenta como una solicitud hacia tu límite diario de HealthAPI; los demás mensajes del protocolo no. Una pregunta suele requerir unas pocas llamadas. El conteo se reinicia a las 00:00 UTC.
| Plan | Precio | Solicitudes al día |
|---|---|---|
| Vista previa gratuita (2 días) | Gratis, sin tarjeta | 25 |
| Pro | $4.99 al mes o $49.99 al año | 100 |
| Developer | $9.99 al mes o $99.99 al año | 1,000 |
Cuando se agotan las solicitudes del día, la herramienta devuelve un mensaje indicando cuándo se reinician, que tu app de IA transmite. Los planes solo difieren en solicitudes por día. Los planes se compran y gestionan en la app de HealthAPI para iPhone, y puedes cancelar en cualquier momento en la App Store.
Gratis durante 2 días, sin necesidad de tarjeta. Luego, una prueba gratuita opcional de 7 días al suscribirte. La vista previa incluye 25 solicitudes al día. Cuando terminan los 2 días, las apps de IA y la API dejan de leer tus datos hasta que elijas un plan en la app. Tus datos sincronizados se conservan durante unas 5 semanas, así que al suscribirte retomas donde lo dejaste.
Seguridad y privacidad
- Apruebas cada conexión en tu iPhone, y ves cada una en HealthAPI en Settings, Connected apps, donde puedes desconectarla.
- Solo lectura. Ninguna herramienta puede cambiar ni eliminar nada, y HealthAPI nunca escribe en Apple Health.
- Solo cuando se solicita. Tu app de IA lee tus datos cuando le preguntas algo, nunca en segundo plano.
- Sin credenciales en las URL. La dirección es la misma para todos; quién eres proviene del inicio de sesión.
- Un interruptor para todo. Regenerar tu clave de API desconecta todas las apps conectadas a la vez. Consulta nuestra política de privacidad.
Preguntas
¿Necesito exportar primero mis datos de Apple Health?
No. La app de HealthAPI en tu iPhone sincroniza Apple Health con tu cuenta y lo mantiene actualizado, así que el servidor siempre lee tus datos sincronizados más recientes. No hay ningún archivo que exportar, convertir ni indicar.
¿Ejecuto algo en mi ordenador?
No. El servidor está alojado en https://healthapi.app/mcp. Añades la dirección a tu app de IA y apruebas el inicio de sesión en tu iPhone.
¿Qué apps de IA pueden usarlo?
Claude en todos los planes, incluido Free, desde el directorio de conectores de Claude. ChatGPT en Plus, Pro, Business, Enterprise o Edu, configurado en chatgpt.com en un ordenador. Claude Code, Cursor, VS Code y otros clientes MCP que admiten servidores remotos sobre HTTP.
¿Puede cambiar o eliminar mis datos de salud?
No. Las ocho herramientas son de solo lectura, y están marcadas como de solo lectura para tu app de IA. HealthAPI nunca escribe en Apple Health.
¿Tiene un coste adicional?
No, forma parte de todos los planes de HealthAPI. Cada llamada a una herramienta usa una de tus solicitudes diarias. Gratis durante 2 días, sin necesidad de tarjeta. Luego, una prueba gratuita opcional de 7 días al suscribirte. La vista previa incluye 25 solicitudes al día. Cuando terminan los 2 días, las apps de IA y la API dejan de leer tus datos hasta que elijas un plan en la app. Tus datos sincronizados se conservan durante unas 5 semanas, así que al suscribirte retomas donde lo dejaste. Pro es $4.99 al mes o $49.99 al año (100 solicitudes al día); Developer es $9.99 al mes o $99.99 al año (1,000 al día). Cancela en cualquier momento en la App Store.
¿Cómo desconecto una app de IA?
En HealthAPI, abre Settings, luego Connected apps, y elige Disconnect. Regenerar tu clave de API desconecta todas las apps a la vez.