Marrow Health
PL
Pobierz

Połącz agenta z Marrow

Marrow udostępnia Twoje dane z Apple Health przez Model Context Protocol, z Twojego własnego iPhone'a lub własnego serwera. Siedem narzędzi tylko do odczytu na telefonie, trzynaście na Twoim własnym serwerze (cztery z nich odpowiadają językiem samej aplikacji, oceniając dane względem Twojej własnej normy), uwierzytelnianie tokenem bearer, nigdzie żadnego konta. Ta strona to cała konfiguracja.

Agent na innym komputerze albo potrzebujesz odpowiedzi, gdy telefon śpi? Sparuj samodzielnie hostowaną kopię lustrzaną (pip install marrow-mcp): odpowiada całą dobę dla Claude Code, Cursor i OpenClaw. Jeśli trafiasz tu z wbudowanego konektora Claude lub ChatGPT, oto co robi to, czego one nie robią.

Konfiguracja dla poszczególnych aplikacji, Claude Code, Cursor, Codex i innych, jest na osobnej stronie w sekcji połączenia.

Niech zrobi to Twój agent

Chcę połączyć z Tobą moje własne dane z Apple Health. Marrow to bezpłatna aplikacja na iOS, która udostępnia je przez MCP, bez konta i bez subskrypcji potrzebnej do tego. Jest w App Store: https://apps.apple.com/app/id6800819435. Przeprowadź mnie przez całość: instalację aplikacji, włączenie serwera w Eksportuj, a potem Lokalny MCP, oraz dodanie adresu URL i tokena bearer, które mi pokaże, do Twojej konfiguracji MCP jako serwera Streamable HTTP. Jeśli nie da się edytować tej konfiguracji z Twojej strony, podaj mi dokładny plik i co wkleić. Dokumentacja konfiguracji: https://marrowhealthapp.com/mcp. Gdy będzie połączone, wywołaj health_summary dla ostatnich 7 dni i powiedz mi, co się wyróżnia.

1. Włącz serwer

Domyślnie jest wyłączony. W aplikacji: Eksportuj → Lokalny MCP, a potem włącz serwer. Dostajesz adres URL, token i kod QR. Serwer wiąże się wyłącznie z Twoją siecią lokalną, a aplikacja pokazuje dokładny adres, na którym nasłuchuje.

2. Wskaż swojemu klientowi serwer

Zastąp <phone-ip> i <token> tym, co pokazuje aplikacja.

Claude Code

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

Claude Desktop, jedno kliknięcie

Pobierz marrow.mcpb na komputer i kliknij go dwukrotnie. Claude Desktop zainstaluje rozszerzenie i zapyta o powyższy adres URL i token. Bez terminala.

Claude Desktop (ręcznie), Cursor lub dowolny klient używający pliku mcp.json

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

Sprawdź ręcznie

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

Narzędzia

Odczyty są zawsze. Zapisy to drugi przełącznik. Od Marrow 1.5 serwer na telefonie wymienia te same dwanaście narzędzi zapisu co 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), gdy włączysz Zezwalaj na zapis przez AI w Lokalnym MCP, stosowane od razu na telefonie i zapisywane w Apple Health, a każde z nich można cofnąć. Gdy wyłączone, serwer jest tylko do odczytu.

NarzędzieZwraca
health_summaryOstatnie dni w obszarach aktywności, serca, snu i odżywiania
list_metricsKażdy śledzony wskaźnik, z jednostkami i pokryciem
metric_dailyWartości dzienne dowolnego wskaźnika, do 400 dni
metric_samplesSurowe rekordy ze znacznikami czasu i urządzeniami źródłowymi
workoutsTreningi ze wszystkich źródeł. Na telefonie także sesje siłowe Marrow seria po serii
nutrition_logDziennik jedzenia z pełnym podziałem na składniki odżywcze
strength_logKażda seria siłowa z jej typem, szacowane 1RM dla każdego ćwiczenia, objętość dla każdej grupy mięśni. Rozgrzewki nigdy nie liczą się do objętości ani rekordów
sleep_logJedna noc na dzień przebudzenia: pora położenia się spać, pora przebudzenia, godziny snu, minuty w każdej fazie (samodzielnie hostowana kopia lustrzana)
symptoms_and_moodObjawy z ich nasileniem i wpisy State of Mind z uczuciami i tym, czego dotyczyły (samodzielnie hostowana kopia lustrzana)

Cztery kolejne w samodzielnie hostowanej kopii lustrzanej i w Cloud MCP. Zaczynają tam, gdzie kończą się odczyty surowe: każda wartość jest oceniana względem Twojej własnej bieżącej normy tym samym rachunkiem, którego używa ekran główny aplikacji (z wyłączeniem samego dnia), więc agent zaczyna od odczytu, który jest już prawdziwy dla Ciebie, zamiast oceniać liczbę na tle populacji.

NarzędzieZwraca
daily_briefJeden dzień: każdy kluczowy wskaźnik z jego wartością i własną frazą aplikacji (normalne dla Ciebie, powyżej Twojej normy, znacznie poniżej Twojej normy), jedzenie i woda na tle celów, sen z ostatniej nocy, wykonany trening, nastrój i objawy oraz flagi warte wspomnienia
baselinesTwoja własna norma dla każdego wskaźnika: średnia i rozrzut w oknie, z i fraza najnowszej wartości, średnia z 7 dni i trend z 90 dni na miesiąc
what_changedOstatni tydzień na tle czterech poprzednich: co się zmieniło i jak istotne jest to dla Ciebie, jedzenie, trening, zmiany snu i pory kładzenia się spać, strumienie danych, które zaczęły lub przestały przychodzić
data_qualityCo przechowuje kopia lustrzana i jak jest świeża: dla każdego wskaźnika ostatni dzień, pokrycie, częstotliwość, źródła i to, czy stała się nieaktualna, aby agent nigdy nie wziął luki za fakt

Serwer na urządzeniu udostępnia pierwsze siedem narzędzi surowych oraz daily_brief i baselines (dziewięć odczytów). Samodzielnie hostowana kopia lustrzana udostępnia wszystkie trzynaście, podobnie jak hostowana kopia Cloud MCP. Każdy odczyt w kopii lustrzanej przyjmuje liczbę dni wstecz albo od i do w kalendarzu telefonu, a kopia oferuje też cztery prompty (how_am_i_doing, weekly_review, doctor_prep, log_from_text) i cztery zasoby dla klientów, które je pokazują. Surowe próbki zawierają fazy snu i nasilenie objawów.

Za list_metrics stoi 172 wskaźników Apple Health, a za nutrition_log i strength_log własne dane Marrow o dzienniku i treningu siłowym, obejmujące aktywność, serce, sen, ciało, układ oddechowy, mobilność, słuch, odżywianie, umysł, objawy, cykl i nawyki. Wersja tej strony do odczytu maszynowego: tools.json.

Działanie, gdy telefon nie działa

Serwer na urządzeniu odpowiada, gdy aplikacja działa. Dla dostępu całodobowego sparuj samodzielnie hostowaną kopię lustrzaną: jeden plik z biblioteką standardową Pythona na Raspberry Pi, NAS lub starym laptopie. Wysyłanie danych z telefonu w tle utrzymuje ją aktualną, a ona udostępnia ten sam interfejs MCP pod adresem http://<server-ip>:8800/mcp z własnym tokenem. Narzędzia telefonu używają kluczy wskaźników aplikacji (active_energy, heart_rate_variability). Serwer akceptuje zarówno je, jak i krótkie nazwy Apple (active_energy_burned), więc agent może przechodzić między nimi bez ponownej nauki. Ma otwarty kod i można go zainstalować:

pip install marrow-mcp
marrow-server

Źródło: github.com/MarrowHealth/marrow-mcp. Wpisany w oficjalnym rejestrze MCP jako tech.skeletonarmy/marrow.

Nie przekierowuj portów żadnego z serwerów do otwartego internetu. Oba są zaprojektowane dla sieci lokalnej lub tailneta. Jeśli potrzebujesz dostępu zdalnego, postaw przed nim tailscale serve lub odpowiednik, aby transport był HTTPS, a urządzenie zostało uwierzytelnione, zanim ktokolwiek zobaczy token bearer.

Rozwiązywanie problemów

Zacznij od poniższego testu, uruchomionego z komputera, na którym działa Twoje AI. Pokaże, po której stronie leży problem. Użyj adresu i tokena ze strony połączenia w Marrow, przy otwartym Marrow na telefonie.

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"}'
Co dostajeszCo to oznacza
HTTP/1.1 200 OK i lista narzędziTelefon działa. Problem jest w ustawieniach Twojej aplikacji: adres, token albo typ serwera inny niż HTTP (Streamable HTTP). Popraw konfigurację i uruchom aplikację ponownie.
401 UnauthorizedToken jest błędny albo to połączenie jest wyłączone w Marrow. Każde połączenie w sekcji Twoje połączenia ma własny token, a wyłączenie jednego blokuje tę aplikację, podczas gdy pozostałe działają dalej. Włącz je albo skopiuj jego token ponownie.
404 Not Found z use POST /mcpŚcieżka jest błędna. Adres kończy się na /mcp.
Połączenie odrzucone albo brak odpowiedzi aż do przekroczenia limitu czasuKomputer nie może dotrzeć do telefonu. Przejdź przez poniższą listę.

Konfiguracja i rozwiązania dla poszczególnych aplikacji, Claude Code, Cursor, VS Code i innych, są w sekcji połączenia.

Ile to kosztuje

Nic. Dostęp dla agentów jest w poziomie bezpłatnym, razem z synchronizacją w tle, automatycznym eksportem, eksportem CSV i JSON oraz skanowaniem kodów kreskowych. Health Auto Export wydał serwer MCP przed Marrow i jest on dobry, ale ich serwer wymaga subskrypcji Premium. Ta różnica, a nie pierwszeństwo, jest twierdzeniem wartym postawienia.

Wymagania