Marrow Health
PT
Baixar

Conecte um agente ao Marrow

O Marrow serve os seus dados do Apple Health pelo Model Context Protocol, a partir do seu próprio iPhone ou do seu próprio servidor. Sete ferramentas somente leitura no celular, treze no seu próprio servidor (quatro delas respondem nos termos do próprio app, comparadas com o seu normal), autenticação por token bearer, nenhuma conta em lugar nenhum. Esta página é toda a configuração.

Um agente em outra máquina, ou precisa de respostas enquanto o celular dorme? Emparelhe o espelho autohospedado (pip install marrow-mcp): ele responde 24 horas por dia ao Claude Code, ao Cursor e ao OpenClaw. Se você chegou aqui pelo conector nativo do Claude ou do ChatGPT, veja o que ele faz que os outros não fazem.

A configuração app por app, para Claude Code, Cursor, Codex e mais, está na página de cada um em conexões.

Deixe o seu agente fazer

Quero conectar os meus próprios dados do Apple Health a você. O Marrow é um app de iOS grátis que os serve por MCP, sem conta e sem assinatura para isso. Ele está na App Store: https://apps.apple.com/app/id6800819435. Me guie em tudo: instalar o app, ativar o servidor em Exportar e depois MCP local, e adicionar a URL e o token bearer que ele me mostra à sua configuração de MCP como um servidor Streamable HTTP. Se você não consegue editar essa configuração sozinho, me diga o arquivo exato e o que colar. Documentação da configuração: https://marrowhealthapp.com/mcp. Quando estiver conectado, chame health_summary para os últimos 7 dias e me diga o que se destaca.

1. Ative o servidor

Ele vem desativado. No app: Exportar → MCP local e ative o servidor. Você recebe uma URL, um token e um QR code. O servidor escuta apenas na sua rede local, e o app mostra o endereço exato em que ele está escutando.

2. Aponte o seu cliente para ele

Troque <phone-ip> e <token> pelo que o app mostra.

Claude Code

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

Claude Desktop, com um clique

Baixe o marrow.mcpb no seu computador e dê dois cliques. O Claude Desktop instala a extensão e pede a URL e o token acima. Sem terminal.

Claude Desktop (manual), Cursor, ou qualquer cliente que use um mcp.json

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

Teste à mão

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"}'

As ferramentas

As leituras estão sempre disponíveis. As gravações são uma segunda chave. A partir do Marrow 1.5, o servidor do celular lista as mesmas doze ferramentas de gravação do MCP na nuvem (log_meal, log_water, log_weight, log_workout, log_strength, log_sleep, log_symptom, log_mood, edit_entry, delete_entry, set_targets, undo_entry) depois que você ativa Permitir gravação por IA em MCP local, aplicadas na hora no celular e gravadas no Apple Health, todas passíveis de desfazer. Desativado, o servidor é somente leitura.

FerramentaRetorna
health_summaryDias recentes de atividade, coração, sono e nutrição
list_metricsToda métrica acompanhada, com unidades e cobertura
metric_dailyValores diários de qualquer métrica, até 400 dias
metric_samplesRegistros brutos com horários e dispositivos de origem
workoutsTreinos de todas as origens. No celular, também as sessões de força do Marrow série por série
nutrition_logDiário de alimentação com o detalhamento completo de nutrientes
strength_logCada série de levantamento com o tipo de série, a 1RM estimada por exercício e o volume por grupo muscular. Aquecimentos nunca contam para volume ou recordes
sleep_logUma noite por dia de despertar: hora de dormir, hora de acordar, horas de sono, minutos por fase (espelho autohospedado)
symptoms_and_moodSintomas com a gravidade e registros de Estado de Espírito com sentimentos e a que se referiam (espelho autohospedado)

Mais quatro no espelho autohospedado e no MCP na nuvem. Elas começam onde as leituras brutas terminam: cada valor é comparado com o seu próprio normal recente, com a mesma conta que a tela Início do app usa (excluindo o próprio dia), então um agente parte de uma leitura que já é verdadeira para você, em vez de julgar um número contra a população.

FerramentaRetorna
daily_briefUm dia: cada métrica-chave com o valor e a frase do próprio app (normal para você, acima do seu normal, bem abaixo do seu normal), alimentação e água em relação às metas, o sono da noite passada, treino feito, humor e sintomas, e alertas que valem ser mencionados
baselinesO seu próprio normal por métrica: média e dispersão na janela, o z e a frase do valor mais recente, a média de 7 dias e a tendência de 90 dias por mês
what_changedA última semana contra as quatro anteriores: o que se moveu e o quanto isso é notável para você, mudanças em alimentação, treino, sono e hora de dormir, séries de dados que começaram ou pararam de chegar
data_qualityO que o espelho guarda e o quanto está atualizado: por métrica, o dia mais recente, a cobertura, a cadência, as origens e se ficou desatualizada, para que um agente nunca confunda uma lacuna com um fato

O servidor no aparelho serve as primeiras sete ferramentas brutas mais daily_brief e baselines (nove leituras). O espelho autohospedado serve as treze, assim como a cópia hospedada do MCP na nuvem. Toda leitura no espelho aceita dias atrás ou de e até no calendário do celular, e o espelho também oferece quatro prompts (how_am_i_doing, weekly_review, doctor_prep, log_from_text) e quatro recursos para clientes que os mostram. As amostras brutas trazem fases do sono e gravidades de sintomas.

Há 172 métricas do Apple Health por trás de list_metrics, mais os dados nativos do Marrow de diário e de força por trás de nutrition_log e strength_log, cobrindo atividade, coração, sono, corpo, respiração, mobilidade, audição, nutrição, mente, sintomas, ciclo e hábitos. Versão legível por máquina desta página: tools.json.

Mantendo no ar quando o celular não está

O servidor no aparelho responde enquanto o app está rodando. Para acesso 24 horas por dia, emparelhe um espelho autohospedado: um arquivo Python com a biblioteca padrão em um Pi, NAS ou notebook velho. Os envios do celular em segundo plano o mantêm atualizado, e ele fala a mesma interface MCP em http://<server-ip>:8800/mcp, com token próprio. As ferramentas do celular usam as chaves de métrica do app (active_energy, heart_rate_variability). O servidor aceita tanto essas quanto os nomes curtos da Apple (active_energy_burned), então um agente pode alternar entre eles sem reaprender. É de código aberto e instalável:

pip install marrow-mcp
marrow-server

Código: github.com/MarrowHealth/marrow-mcp. Listado no registro oficial do MCP como tech.skeletonarmy/marrow.

Não abra portas do roteador de nenhum dos servidores para a internet. Os dois foram feitos para uma LAN ou uma tailnet. Se precisar de acesso remoto, coloque tailscale serve ou equivalente na frente, para que o transporte seja HTTPS e o dispositivo seja autenticado antes de o token bearer ser visto.

Solução de problemas

Comece pelo teste abaixo, rodado no computador em que a sua IA roda. Ele diz de que lado está o problema. Use o endereço e o token da página da conexão no Marrow, com o Marrow aberto no celular.

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"}'
O que você recebeO que significa
HTTP/1.1 200 OK e uma lista de ferramentasO celular funciona. O problema está nas configurações do seu app: o endereço, o token ou um tipo de servidor diferente de HTTP (Streamable HTTP). Corrija a configuração e reinicie o app.
401 UnauthorizedO token está errado, ou esta conexão está desativada no Marrow. Cada conexão em Suas conexões tem o seu próprio token, e desativar uma bloqueia aquele app enquanto as outras seguem funcionando. Ative-a, ou copie o token dela de novo.
404 Not Found com use POST /mcpO caminho está errado. O endereço termina em /mcp.
Conexão recusada, ou sem resposta até o tempo esgotarO computador não alcança o celular. Siga a lista abaixo.

A configuração e as soluções app por app, para Claude Code, Cursor, VS Code e mais, estão em conexões.

Quanto custa

Nada. O acesso de agentes está no plano grátis, junto com a sincronização em segundo plano, a exportação automática, a exportação em CSV e JSON e a leitura de código de barras. O Health Auto Export lançou um servidor MCP antes do Marrow, e é bom, mas o deles exige uma assinatura Premium. Essa diferença, e não a primazia, é a afirmação que vale a pena fazer.

Requisitos