Marrow Health
DE
Download

Einen Agenten mit Marrow verbinden

Marrow stellt deine Apple-Health-Daten über das Model Context Protocol bereit, von deinem eigenen iPhone oder deinem eigenen Server. Sieben nur lesende Tools auf dem Handy, dreizehn auf deinem eigenen Server (vier davon antworten in den eigenen Begriffen der App, gemessen an deinem eigenen Normalwert), Bearer-Token-Authentifizierung, nirgends ein Konto. Diese Seite ist die ganze Einrichtung.

Ein Agent auf einem anderen Rechner, oder du brauchst Antworten, während das Handy schläft? Koppele den selbst gehosteten Spiegel (pip install marrow-mcp): Er antwortet rund um die Uhr für Claude Code, Cursor und OpenClaw. Wenn du vom eingebauten Connector von Claude oder ChatGPT hierhergekommen bist, hier steht, was er kann und sie nicht.

Die Einrichtung für jede einzelne App, Claude Code, Cursor, Codex und mehr, steht auf der jeweils eigenen Seite unter Verbindungen.

Lass es deinen Agenten erledigen

Ich möchte meine eigenen Apple-Health-Daten mit dir verbinden. Marrow ist eine kostenlose iOS-App, die sie über MCP bereitstellt, ohne Konto und ohne dass dafür ein Abo nötig ist. Sie ist im App Store: https://apps.apple.com/app/id6800819435. Führe mich durch das Ganze: die App installieren, den Server unter Exportieren, dann Lokales MCP einschalten und die URL und das Bearer-Token, die sie mir zeigt, als Streamable-HTTP-Server in deine MCP-Konfiguration eintragen. Wenn du diese Konfiguration nicht selbst bearbeiten kannst, nenne mir die genaue Datei und was ich einfügen soll. Doku zur Einrichtung: https://marrowhealthapp.com/mcp. Wenn die Verbindung steht, rufe health_summary für die letzten 7 Tage auf und sag mir, was auffällt.

1. Schalte den Server ein

Er wird ausgeschaltet ausgeliefert. In der App: Exportieren → Lokales MCP, dann den Server aktivieren. Du bekommst eine URL, ein Token und einen QR-Code. Der Server bindet sich nur an dein lokales Netzwerk, und die App zeigt die genaue Adresse, auf der er lauscht.

2. Richte deinen Client darauf aus

Ersetze <phone-ip> und <token> durch das, was die App dir zeigt.

Claude Code

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

Claude Desktop, mit einem Klick

Lade marrow.mcpb auf deinen Computer herunter und doppelklicke darauf. Claude Desktop installiert die Erweiterung und fragt nach der URL und dem Token von oben. Kein Terminal nötig.

Claude Desktop (manuell), Cursor oder jeder Client mit einer mcp.json

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

Von Hand prüfen

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

Die Tools

Lesezugriffe sind immer da. Schreibzugriffe sind ein zweiter Schalter. Ab Marrow 1.5 listet der Server des Handys dieselben zwölf Schreib-Tools wie 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), sobald du unter Lokales MCP KI-Schreibzugriff erlauben einschaltest, sofort auf dem Handy umgesetzt und in Apple Health geschrieben, jeder rückgängig zu machen. Ist der Schalter aus, ist der Server nur lesend.

ToolLiefert
health_summaryDie letzten Tage zu Aktivität, Herz, Schlaf und Ernährung
list_metricsJede erfasste Metrik, mit Einheiten und Abdeckung
metric_dailyTageswerte für jede Metrik, bis zu 400 Tage
metric_samplesRohe Datensätze mit Zeitstempeln und Quellgeräten
workoutsWorkouts aus jeder Quelle. Auf dem Handy auch die Krafteinheiten von Marrow Satz für Satz
nutrition_logErnährungstagebuch mit der vollständigen Nährstoffaufschlüsselung
strength_logJeder Kraftsatz mit seinem Satztyp, geschätztes 1RM pro Übung, Volumen pro Muskelgruppe. Aufwärmsätze zählen nie für Volumen oder Rekorde
sleep_logEine Nacht pro Aufwachtag: Schlafenszeit, Aufwachzeit, Stunden Schlaf, Minuten pro Phase (selbst gehosteter Spiegel)
symptoms_and_moodSymptome mit ihrem Schweregrad und State-of-Mind-Einträge mit Gefühlen und worum es ging (selbst gehosteter Spiegel)

Vier weitere auf dem selbst gehosteten Spiegel und im Cloud-MCP. Sie setzen da an, wo die rohen Abfragen aufhören: Jeder Wert wird an deinem eigenen gleitenden Normalwert gemessen, mit derselben Rechnung wie in der Übersicht der App (der Tag selbst ausgenommen), sodass ein Agent von einer Aussage ausgeht, die für dich schon stimmt, statt eine Zahl an der Bevölkerung zu beurteilen.

ToolLiefert
daily_briefEin Tag: jede wichtige Metrik mit ihrem Wert und der eigenen Formulierung der App (normal für dich, über deinem Normalwert, weit unter deinem Normalwert), Essen und Wasser im Vergleich zu deinen Zielen, der Schlaf der letzten Nacht, das absolvierte Training, Stimmung und Symptome und Hinweise, die erwähnenswert sind
baselinesDein eigener Normalwert pro Metrik: Mittelwert und Streuung über das Fenster, z-Wert und Formulierung des letzten Werts, der 7-Tage-Mittelwert und der 90-Tage-Trend pro Monat
what_changedDie letzte Woche gegen die vier davor: was sich bewegt hat und wie auffällig das für dich ist, Veränderungen bei Essen, Training, Schlaf und Schlafenszeit, Datenströme, die zu kommen begonnen oder aufgehört haben
data_qualityWas der Spiegel enthält und wie aktuell es ist: pro Metrik der letzte Tag, Abdeckung, Takt, Quellen und ob sie veraltet ist, sodass ein Agent eine Lücke nie für eine Tatsache hält

Der Server auf dem Gerät stellt die ersten sieben rohen Tools bereit sowie daily_brief und baselines (neun Lesezugriffe). Der selbst gehostete Spiegel stellt alle dreizehn bereit, ebenso die gehostete Kopie von Cloud-MCP. Jeder Lesezugriff auf dem Spiegel nimmt Tage zurück oder von und bis im Kalender des Handys entgegen, und der Spiegel bietet außerdem vier Prompts (how_am_i_doing, weekly_review, doctor_prep, log_from_text) und vier Ressourcen für Clients, die sie anzeigen. Rohe Messwerte enthalten Schlafphasen und Symptom-Schweregrade.

Hinter list_metrics stehen 172 Apple-Health-Metriken, dazu die Marrow-eigenen Tagebuch- und Kraftdaten hinter nutrition_log und strength_log, die Aktivität, Herz, Schlaf, Körper, Atmung, Mobilität, Gehör, Ernährung, Psyche, Symptome, Zyklus und Gewohnheiten abdecken. Maschinenlesbare Version dieser Seite: tools.json.

Verfügbar bleiben, wenn das Handy es nicht ist

Der Server auf dem Gerät antwortet, solange die App läuft. Für Zugriff rund um die Uhr koppelst du einen selbst gehosteten Spiegel: eine Python-Stdlib-Datei auf einem Pi, NAS oder alten Laptop. Die Pushes des Handys im Hintergrund halten ihn aktuell, und er spricht dieselbe MCP-Oberfläche unter http://<server-ip>:8800/mcp mit einem eigenen Token. Die Tools des Handys nutzen die Metrikschlüssel der App (active_energy, heart_rate_variability). Der Server akzeptiert diese ebenso wie die kurzen Namen von Apple (active_energy_burned), sodass ein Agent zwischen ihnen wechseln kann, ohne neu zu lernen. Er ist Open Source und installierbar:

pip install marrow-mcp
marrow-server

Quelle: github.com/MarrowHealth/marrow-mcp. Im offiziellen MCP-Register gelistet als tech.skeletonarmy/marrow.

Leite keinen der beiden Server per Portweiterleitung ins offene Internet. Beide sind für ein LAN oder ein Tailnet gedacht. Wenn du Fernzugriff brauchst, stelle tailscale serve oder etwas Gleichwertiges davor, damit der Transport HTTPS ist und das Gerät authentifiziert wird, bevor das Bearer-Token überhaupt zu sehen ist.

Fehlerbehebung

Beginne mit dem Test unten, ausgeführt auf dem Rechner, auf dem deine KI läuft. Er sagt dir, auf welcher Seite das Problem liegt. Nutze die Adresse und das Token von der Seite der Verbindung in Marrow, bei geöffnetem Marrow auf dem Handy.

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"}'
Was du bekommstWas es bedeutet
HTTP/1.1 200 OK und eine Liste von ToolsDas Handy funktioniert. Das Problem liegt in den Einstellungen deiner App: die Adresse, das Token oder ein anderer Servertyp als HTTP (Streamable HTTP). Korrigiere die Konfiguration und starte die App neu.
401 UnauthorizedDas Token ist falsch, oder diese Verbindung ist in Marrow aus. Jede Verbindung unter „Deine Verbindungen“ hat ihr eigenes Token, und wenn du eine ausschaltest, ist diese App ausgesperrt, während die anderen weiterlaufen. Schalte sie ein oder kopiere ihr Token erneut.
404 Not Found mit use POST /mcpDer Pfad ist falsch. Die Adresse endet auf /mcp.
Verbindung verweigert, oder keine Antwort bis zum TimeoutDer Rechner erreicht das Handy nicht. Gehe die Liste unten durch.

Einrichtung und Lösungen für jede einzelne App, Claude Code, Cursor, VS Code und mehr, stehen unter Verbindungen.

Was das kostet

Nichts. Der Zugriff für Agenten ist im kostenlosen Tarif enthalten, ebenso Synchronisierung im Hintergrund, automatischer Export, CSV- und JSON-Export und Barcode-Scan. Health Auto Export hat einen MCP-Server vor Marrow veröffentlicht, und er ist gut, aber der von dort setzt ein Premium-Abo voraus. Dieser Unterschied, nicht die Reihenfolge, ist die Aussage, die sich lohnt.

Voraussetzungen