Marrow Health
SV
Ladda ner

Anslut en agent till Marrow

Marrow serverar din Apple Health-data över Model Context Protocol, från din egen iPhone eller din egen server. Sju skrivskyddade verktyg på telefonen, tretton på din egen server (fyra av dem svarar på appens egna villkor, mätta mot din egen normalnivå), autentisering med bearer-token, inget konto någonstans. Den här sidan är hela installationen.

En agent på en annan dator, eller behöver du svar medan telefonen sover? Parkoppla spegeln på egen server (pip install marrow-mcp): den svarar dygnet runt för Claude Code, Cursor och OpenClaw. Om du kom hit från den inbyggda kopplingen i Claude eller ChatGPT, så här är det den gör som de inte gör.

Installation för en app i taget, Claude Code, Cursor, Codex och fler, finns på en egen sida under anslutningar.

Låt din agent göra det

Jag vill koppla min egen Apple Health-data till dig. Marrow är en gratis iOS-app som serverar den över MCP, utan konto och utan att någon prenumeration behövs för detta. Den finns i App Store: https://apps.apple.com/app/id6800819435. Guida mig genom hela processen: installera appen, slå på servern under Exportera och sedan Lokal MCP, och lägga till URL:en och den bearer-token som den visar mig i din MCP-konfiguration som en Streamable HTTP-server. Om du inte kan redigera den konfigurationen själv, tala om för mig exakt vilken fil det gäller och vad jag ska klistra in. Dokumentation för installationen: https://marrowhealthapp.com/mcp. När den är ansluten, anropa health_summary för de senaste 7 dagarna och berätta vad som sticker ut.

1. Slå på servern

Den levereras avstängd. I appen: Exportera → Lokal MCP, slå sedan på servern. Du får en URL, en token och en QR-kod. Servern binds bara till ditt lokala nätverk, och appen visar den exakta adress den lyssnar på.

2. Peka din klient mot den

Ersätt <phone-ip> och <token> med det som appen visar dig.

Claude Code

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

Claude Desktop, ett klick

Ladda ner marrow.mcpb till din dator och dubbelklicka på den. Claude Desktop installerar tillägget och frågar efter URL:en och token ovan. Ingen terminal behövs.

Claude Desktop (manuellt), Cursor eller vilken klient som helst som använder en mcp.json

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

Kontrollera för hand

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

Verktygen

Läsningar finns alltid. Skrivningar är ett andra reglage. Från Marrow 1.5 listar telefonens server samma tolv skrivverktyg som Cloud-MCP (log_meal, log_water, log_weight, log_workout, log_strength, log_sleep, log_symptom, log_mood, edit_entry, delete_entry, set_targets, undo_entry) när du slår på Tillåt AI att skriva under Lokal MCP, utförda direkt på telefonen och skrivna till Apple Health, och var och en kan ångras. Avstängd är servern skrivskyddad.

VerktygReturnerar
health_summarySenaste dagarna över aktivitet, hjärta, sömn och kost
list_metricsVarje mätvärde som följs, med enheter och täckning
metric_dailyDagliga värden för vilket mätvärde som helst, upp till 400 dagar
metric_samplesRåposter med tidsstämplar och källenheter
workoutsTräningspass från alla källor. På telefonen också Marrows styrkepass set för set
nutrition_logKostdagbok med full uppdelning av näringsämnen
strength_logVarje lyftset med sin settyp, uppskattad 1RM per övning, volym per muskelgrupp. Uppvärmningsset räknas aldrig mot volym eller rekord
sleep_logEn natt per vakendag: läggdags, uppvaknande, timmar sömn, minuter per stadium (spegel på egen server)
symptoms_and_moodSymtom med sin svårighetsgrad, och poster för State of Mind med känslor och vad de handlade om (spegel på egen server)

Fyra till på spegeln på egen server och på Cloud-MCP. De börjar där de råa läsningarna slutar: varje värde mäts mot din egen normalnivå bakåt i tiden med samma matematik som appens startsida använder (själva dagen undantagen), så en agent utgår från en läsning som redan stämmer för dig i stället för att bedöma en siffra mot befolkningen.

VerktygReturnerar
daily_briefEn dag: varje nyckelmätvärde med sitt värde och appens egen fras (normalt för dig, över din normala nivå, långt under din normala nivå), mat och vatten mot dina mål, gårdagens sömn, genomförd träning, humör och symtom, och flaggor värda att nämna
baselinesDin egen normalnivå per mätvärde: medelvärde och spridning över fönstret, det senaste värdets z och fras, 7-dagarsmedelvärdet och 90-dagarstrenden per månad
what_changedDen senaste veckan mot de fyra före: vad som förändrades och hur anmärkningsvärt det är för dig, mat, träning, sömn och förskjutningar i läggdags, flöden som började eller slutade komma
data_qualityVad spegeln håller och hur färskt det är: per mätvärde senaste dagen, täckning, takt, källor och om det har blivit gammalt, så att en agent aldrig misstar ett glapp för ett faktum

Servern på enheten serverar de första sju råa verktygen plus daily_brief och baselines (nio läsningar). Spegeln på egen server serverar alla tretton, liksom kopian i molnet för Cloud-MCP. Varje läsning på spegeln tar dagar tillbaka eller från och till i telefonens kalender, och spegeln erbjuder också fyra prompter (how_am_i_doing, weekly_review, doctor_prep, log_from_text) och fyra resurser till klienter som visar dem. Råprover bär sömnstadier och symtomens svårighetsgrader.

Det finns 172 Apple Health-mätvärden bakom list_metrics, plus Marrows egna dagboks- och styrkedata bakom nutrition_log och strength_log, som täcker aktivitet, hjärta, sömn, kropp, andning, rörlighet, hörsel, kost, sinne, symtom, cykel och vanor. Maskinläsbar version av den här sidan: tools.json.

Hålla den uppe när telefonen inte är det

Servern på enheten svarar medan appen körs. För åtkomst dygnet runt, parkoppla en spegel på egen server: en Python-fil med bara standardbiblioteket på en Pi, NAS eller gammal laptop. Telefonens utskick i bakgrunden håller den aktuell, och den talar samma MCP-yta på http://<server-ip>:8800/mcp med sin egen token. Telefonens verktyg använder appens nycklar för mätvärden (active_energy, heart_rate_variability). Servern accepterar både dem och Apples korta namn (active_energy_burned), så en agent kan växla mellan dem utan att lära om. Den har öppen källkod och går att installera:

pip install marrow-mcp
marrow-server

Källa: github.com/MarrowHealth/marrow-mcp. Listad i det officiella MCP-registret som tech.skeletonarmy/marrow.

Öppna inte portar för någon av servrarna mot det öppna internet. Båda är gjorda för ett LAN eller ett tailnet. Om du behöver åtkomst på distans, lägg tailscale serve eller motsvarande framför, så att transporten är HTTPS och enheten autentiseras innan bearer-token någonsin syns.

Felsökning

Börja med testet nedan, kört från datorn som din AI körs på. Det visar vilken sida problemet finns på. Använd adressen och token från anslutningens sida i Marrow, med Marrow öppen på telefonen.

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"}'
Det du fårVad det betyder
HTTP/1.1 200 OK och en lista över verktygTelefonen fungerar. Problemet finns i din apps inställningar: adressen, token eller en servertyp som inte är HTTP (Streamable HTTP). Rätta konfigurationen och starta om appen.
401 UnauthorizedToken är fel, eller så är den här anslutningen av i Marrow. Varje anslutning i Dina anslutningar har sin egen token, och att slå av en låser ute den appen medan de andra fortsätter fungera. Slå på den, eller kopiera dess token igen.
404 Not Found med use POST /mcpSökvägen är fel. Adressen slutar på /mcp.
Anslutningen nekas, eller inget svar tills tidsgränsen går utDatorn kan inte nå telefonen. Gå igenom listan nedan.

Installation och lösningar för en app i taget, Claude Code, Cursor, VS Code och fler, finns under anslutningar.

Vad det kostar

Ingenting. Åtkomst för agenter ingår i gratisnivån, tillsammans med synkning i bakgrunden, automatisk export, export till CSV och JSON och streckkodsskanning. Health Auto Export levererade en MCP-server före Marrow, och den är bra, men deras kräver en Premium-prenumeration. Den skillnaden, inte att vara först, är påståendet värt att göra.

Krav