Marrow Health
ES
Descargar

Conecta un agente a Marrow

Marrow sirve tus datos de Apple Health por el Model Context Protocol, desde tu propio iPhone o tu propio servidor. Siete herramientas de solo lectura en el teléfono, trece en tu propio servidor (cuatro de ellas responden en los términos de la propia app, puntuadas frente a tu propia normalidad), autenticación con token bearer, sin cuenta en ningún sitio. Esta página es toda la configuración.

¿Un agente en otra máquina, o necesitas respuestas mientras el teléfono duerme? Vincula el espejo autoalojado (pip install marrow-mcp): responde 24/7 a Claude Code, Cursor y OpenClaw. Si llegaste aquí desde el conector integrado de Claude o ChatGPT, esto es lo que hace Marrow y ellos no.

La configuración para cada app, Claude Code, Cursor, Codex y más, está en su propia página en conexiones.

Deja que tu agente lo haga

Quiero conectar mis propios datos de Apple Health contigo. Marrow es una app gratuita de iOS que los sirve por MCP, sin cuenta y sin necesitar una suscripción para esto. Está en la App Store: https://apps.apple.com/app/id6800819435. Guíame en todo el proceso: instalar la app, activar el servidor en Exportar y luego MCP local, y añadir la URL y el token bearer que me muestra a tu configuración MCP como un servidor Streamable HTTP. Si no puedes editar esa configuración tú mismo, dime el archivo exacto y qué pegar. Documentación de la configuración: https://marrowhealthapp.com/mcp. Cuando esté conectado, llama a health_summary para los últimos 7 días y dime qué destaca.

1. Activa el servidor

Viene desactivado. En la app: Exportar → MCP local, y luego activa el servidor. Obtienes una URL, un token y un código QR. El servidor se enlaza solo a tu red local, y la app muestra la dirección exacta en la que escucha.

2. Apunta tu cliente hacia él

Sustituye <phone-ip> y <token> por lo que te muestra la app.

Claude Code

claude mcp add --transport http marrow \
  http://<phone-ip>:21212/mcp \
  --header "Authorization: Bearer <token>"

Claude Desktop, con un clic

Descarga marrow.mcpb en tu ordenador y haz doble clic en él. Claude Desktop instala la extensión y pide la URL y el token de arriba. Sin terminal.

Claude Desktop (manual), Cursor o cualquier cliente que use un mcp.json

{
  "mcpServers": {
    "marrow": {
      "type": "http",
      "url": "http://<phone-ip>:21212/mcp",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}

Compruébalo a mano

curl -s http://<phone-ip>:21212/mcp \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Las herramientas

Las lecturas siempre están. Las escrituras son un segundo interruptor. Desde Marrow 1.5 el servidor del teléfono lista las mismas doce herramientas de escritura que MCP en la nube (log_meal, log_water, log_weight, log_workout, log_strength, log_sleep, log_symptom, log_mood, edit_entry, delete_entry, set_targets, undo_entry) cuando activas Permitir escritura a la IA en MCP local, aplicadas al instante en el teléfono y escritas en Apple Health, y todas se pueden deshacer. Desactivado, el servidor es de solo lectura.

HerramientaDevuelve
health_summaryDías recientes de actividad, corazón, sueño y nutrición
list_metricsCada métrica seguida, con unidades y cobertura
metric_dailyValores diarios de cualquier métrica, hasta 400 días
metric_samplesRegistros sin procesar con marcas de tiempo y dispositivos de origen
workoutsEntrenamientos de todas las fuentes. En el teléfono, también las sesiones de fuerza de Marrow serie a serie
nutrition_logDiario de comidas con el desglose completo de nutrientes
strength_logCada serie de levantamiento con su tipo, 1RM estimado por ejercicio y volumen por grupo muscular. Los calentamientos nunca cuentan para el volumen ni los récords
sleep_logUna noche por día de despertar: hora de acostarse, hora de despertar, horas dormidas, minutos por fase (espejo autoalojado)
symptoms_and_moodSíntomas con su gravedad, y entradas de Estado de ánimo con emociones y sobre qué eran (espejo autoalojado)

Cuatro más en el espejo autoalojado y en MCP en la nube. Empiezan donde terminan las lecturas sin procesar: cada valor se puntúa frente a tu propia normalidad reciente con las mismas cuentas que usa la pantalla de Inicio de la app (excluido el propio día), de modo que un agente parte de una lectura que ya es cierta para ti en lugar de juzgar un número frente a la población.

HerramientaDevuelve
daily_briefUn día: cada métrica clave con su valor y la frase propia de la app (normal para ti, por encima de tu normal, muy por debajo de tu normal), comida y agua frente a tus objetivos, el sueño de anoche, el entrenamiento hecho, estado de ánimo y síntomas, y avisos que vale la pena mencionar
baselinesTu propia normalidad por métrica: media y dispersión en la ventana, la z y la frase del último valor, la media de 7 días y la tendencia de 90 días por mes
what_changedLa última semana frente a las cuatro anteriores: qué se movió y cuán notable es para ti, comida, entrenamiento, cambios de sueño y de hora de acostarse, flujos que empezaron o dejaron de llegar
data_qualityQué guarda el espejo y cuán reciente es: por métrica el último día, cobertura, cadencia, fuentes y si se ha quedado obsoleta, para que un agente nunca confunda un hueco con un hecho

El servidor en el dispositivo sirve las primeras siete herramientas sin procesar más daily_brief y baselines (nueve lecturas). El espejo autoalojado sirve las trece, igual que la copia alojada de MCP en la nube. Cada lectura del espejo acepta días hacia atrás o from y to en el calendario del teléfono, y el espejo también ofrece cuatro prompts (how_am_i_doing, weekly_review, doctor_prep, log_from_text) y cuatro recursos a los clientes que los muestran. Las muestras sin procesar llevan fases del sueño y gravedades de síntomas.

Hay 172 métricas de Apple Health detrás de list_metrics, más datos de diario y de fuerza propios de Marrow detrás de nutrition_log y strength_log, que cubren actividad, corazón, sueño, cuerpo, respiración, movilidad, audición, nutrición, mente, síntomas, ciclo y hábitos. Versión legible por máquina de esta página: tools.json.

Mantenerlo activo cuando el teléfono no lo está

El servidor en el dispositivo responde mientras la app se está ejecutando. Para acceso 24/7, vincula un espejo autoalojado: un archivo de la biblioteca estándar de Python en una Pi, un NAS o un portátil viejo. Los envíos en segundo plano del teléfono lo mantienen al día, y habla la misma superficie MCP en http://<server-ip>:8800/mcp con su propio token. Las herramientas del teléfono usan las claves de métrica de la app (active_energy, heart_rate_variability). El servidor acepta tanto esas como los nombres cortos de Apple (active_energy_burned), de modo que un agente puede pasar de unas a otras sin volver a aprender. Es de código abierto y se puede instalar:

pip install marrow-mcp
marrow-server

Código fuente: github.com/MarrowHealth/marrow-mcp. Incluido en el registro oficial de MCP como tech.skeletonarmy/marrow.

No abras puertos de ninguno de los dos servidores a internet. Ambos están pensados para una LAN o una tailnet. Si necesitas acceso remoto, pon delante tailscale serve o algo equivalente, de modo que el transporte sea HTTPS y el dispositivo se autentique antes de que se vea el token bearer.

Solución de problemas

Empieza con la prueba de abajo, ejecutada desde el ordenador en el que se ejecuta tu IA. Te dice de qué lado está el problema. Usa la dirección y el token de la página de la conexión en Marrow, con Marrow abierta en el teléfono.

curl -i http://<phone-ip>:21212/mcp \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Lo que obtienesQué significa
HTTP/1.1 200 OK y una lista de herramientasEl teléfono funciona. El problema está en los ajustes de tu app: la dirección, el token o un tipo de servidor distinto de HTTP (Streamable HTTP). Corrige la configuración y reinicia la app.
401 UnauthorizedEl token es incorrecto, o esta conexión está desactivada en Marrow. Cada conexión de Tus conexiones tiene su propio token, y desactivar una deja fuera a esa app mientras las demás siguen funcionando. Actívala, o vuelve a copiar su token.
404 Not Found con use POST /mcpLa ruta es incorrecta. La dirección termina en /mcp.
Conexión rechazada, o sin respuesta hasta que se agota el tiempoEl ordenador no puede llegar al teléfono. Repasa la lista de abajo.

La configuración y las soluciones para cada app, Claude Code, Cursor, VS Code y más, están en conexiones.

Lo que cuesta

Nada. El acceso de agentes está en el nivel gratuito, junto con la sincronización en segundo plano, la exportación automática, la exportación a CSV y JSON y el escaneo de códigos de barras. Health Auto Export lanzó un servidor MCP antes que Marrow, y es bueno, pero el suyo requiere una suscripción Premium. Esa diferencia, y no haber llegado primero, es la afirmación que vale la pena hacer.

Requisitos