Ügynök csatlakoztatása a Marrow-hoz
A Marrow a Model Context Protocol segítségével szolgálja ki az Apple Health-adataidat, a saját iPhone-odról vagy a saját szerveredről. Kilenc olvasó eszköz a telefonon, tizenhárom a saját szervereden (négy közülük az app saját fogalmaival válaszol, a saját normáloddal összevetve), tizenkét író eszköz egy kapcsoló mögött, bearer-token hitelesítés, sehol egy fiók. Ez az oldal a teljes beállítás.
Az ügynök egy másik gépen van, vagy válaszokra van szükséged, amíg a telefon alszik? Párosítsd a saját üzemeltetésű tükröt (pip install marrow-mcp): éjjel-nappal válaszol a Claude Code, a Cursor és az OpenClaw számára. Ha a beépített Claude- vagy ChatGPT-csatlakozó felől érkeztél, itt van, mit tud az, amit azok nem.
Az egyes appok beállítása, a Claude Code, a Cursor, a Codex és más, a saját oldalán található a kapcsolatok alatt.
Szeretném a saját Apple Health-adataimat hozzád csatlakoztatni. A Marrow egy ingyenes iOS-app, amely MCP-n át szolgálja ki őket, ehhez nem kell sem fiók, sem előfizetés. Az App Store-ban van: https://apps.apple.com/app/id6800819435. Vezess végig az egészen: az app telepítésén, a szerver bekapcsolásán az Exportálás, majd Helyi MCP alatt, és azon, hogy az általa mutatott URL-t és bearer tokent hozzáadjam az MCP-konfigurációdhoz Streamable HTTP szerverként. Ha nem tudod magad szerkeszteni a konfigurációt, mondd meg, melyik fájlról van szó, és mit illesszek be. A beállítási dokumentáció: https://marrowhealthapp.com/mcp. Ha csatlakozott, hívd meg a health_summary eszközt az elmúlt 7 napra, és mondd el, mi tűnik ki.
1. Kapcsold be a szervert
Alapból ki van kapcsolva. Az appban: Exportálás → Helyi MCP, majd kapcsold be a szervert. Kapsz egy URL-t, egy tokent és egy QR-kódot. A szerver csak a helyi hálózatodhoz kötődik, és az app megmutatja a pontos címet, amelyen figyel.
2. Irányítsd rá a klienst
Cseréld ki a <phone-ip> és a <token> értékét arra, amit az app mutat.
Claude Code
claude mcp add --transport http marrow \ http://<phone-ip>:21212/mcp \ --header "Authorization: Bearer <token>"
Claude Desktop, egy kattintással
Töltsd le a marrow.mcpb fájlt a számítógépedre, és kattints rá duplán. A Claude Desktop telepíti a bővítményt, és elkéri a fenti URL-t és tokent. Terminál nem kell hozzá.
Claude Desktop (kézi), Cursor, vagy bármely mcp.json-t használó kliens
{
"mcpServers": {
"marrow": {
"type": "http",
"url": "http://<phone-ip>:21212/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Ellenőrzés kézzel
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"}'
Az eszközök
Az olvasás mindig elérhető. Az írás egy második kapcsoló. A telefon szervere ugyanazt a tizenkét író eszközt listázza, mint a Felhő 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), amint bekapcsolod az AI-írás engedélyezése opciót a Helyi MCP alatt. A változások azonnal érvénybe lépnek a telefonon, és bekerülnek az Apple Health-be, és mindegyik visszavonható. Kikapcsolva a szerver csak olvasható.
| Eszköz | Mit ad vissza |
|---|---|
health_summary | A legutóbbi napok az aktivitás, a szív, az alvás és a táplálkozás terén |
list_metrics | Minden követett mutató mértékegységgel és lefedettséggel |
metric_daily | Napi értékek bármely mutatóhoz, legfeljebb 400 napra |
metric_samples | Nyers rekordok időbélyegekkel és forráseszközökkel |
workouts | Edzések minden forrásból. A telefonon a Marrow erőnléti edzései is, sorozatonként |
nutrition_log | Ételnapló a teljes tápanyagrészletezéssel |
strength_log | Minden súlyzós sorozat a típusával, gyakorlatonkénti becsült 1RM, izomcsoportonkénti volumen. A bemelegítések soha nem számítanak bele a volumenbe vagy a rekordokba |
sleep_log | Éjszakánként egy az ébredési naphoz: lefekvés, ébredés, alvásórák, percek fázisonként (saját üzemeltetésű tükör) |
symptoms_and_mood | Tünetek a súlyosságukkal, és State of Mind bejegyzések érzésekkel és azzal, hogy miről szóltak (saját üzemeltetésű tükör) |
Négy további a saját üzemeltetésű tükrön és a Felhő MCP-n. Ott kezdik, ahol a nyers lekérdezések megállnak: minden értéket a saját, hátrafelé számolt normáloddal vetnek össze, ugyanazzal a matematikával, amelyet az app Kezdőlapja használ (a nap maga kihagyva), így az ügynök olyan olvasatból indul, amely már rád nézve igaz, ahelyett hogy egy számot a népességhez mérne.
| Eszköz | Mit ad vissza |
|---|---|
daily_brief | Egy nap: minden kulcsmutató az értékével és az app saját megfogalmazásával (nálad szokásos, a szokásosnál magasabb, a szokásosnál jóval alacsonyabb), étel és víz a célokhoz mérve, a tegnap éjszakai alvás, az elvégzett edzés, hangulat és tünetek, valamint a megemlítésre érdemes jelzések |
baselines | A saját normálod mutatónként: átlag és szórás az ablakon belül, a legutóbbi érték z-értéke és megfogalmazása, a 7 napos átlag és a 90 napos trend havonta |
what_changed | Az elmúlt hét az azt megelőző négyhez képest: mi mozdult, és mennyire figyelemre méltó ez nálad, étel, edzés, alvás és lefekvés eltolódásai, adatfolyamok, amelyek megindultak vagy leálltak |
data_quality | Mit tárol a tükör, és mennyire friss: mutatónként a legutóbbi nap, lefedettség, kadencia, források, és hogy elavult-e, így az ügynök sosem téveszt össze egy hiányt egy ténnyel |
Az eszközön futó szerver az első hét nyers eszközt szolgálja ki, plusz a daily_brief és a baselines eszközt (kilenc olvasás). A saját üzemeltetésű tükör mind a tizenhármat kiszolgálja, ahogy az üzemeltetett Felhő MCP-másolat is. A tükör minden olvasása fogad visszamenőleges napokat vagy kezdő- és végdátumot a telefon naptára szerint, és a tükör négy promptot (how_am_i_doing, weekly_review, doctor_prep, log_from_text) és négy erőforrást is kínál az ezeket megjelenítő klienseknek. A nyers minták alvási fázisokat és tünetsúlyosságokat hordoznak.
A list_metrics mögött 172 Apple Health-mutató áll, plusz a Marrow saját naplózási és erőnléti adatai a nutrition_log és a strength_log mögött, az aktivitás, a szív, az alvás, a test, a légzés, a mozgékonyság, a hallás, a táplálkozás, az elme, a tünetek, a ciklus és a szokások területén. Az oldal gépileg olvasható változata: tools.json.
Üzemben tartás, amikor a telefon nem
Az eszközön futó szerver addig válaszol, amíg az app fut. Éjjel-nappali eléréshez párosíts egy saját üzemeltetésű tükröt: egyetlen Python stdlib fájl egy Pi-n, NAS-on vagy régi laptopon. A telefon háttérben küldött adatai frissen tartják, és ugyanazt az MCP-felületet beszéli a http://<server-ip>:8800/mcp címen a saját tokenjével. A telefon eszközei az app mutatókulcsait használják (active_energy, heart_rate_variability). A szerver mindkettőt elfogadja, és az Apple rövid neveit is (active_energy_burned), így az ügynök újratanulás nélkül válthat köztük. Nyílt forráskódú és telepíthető:
pip install marrow-mcp marrow-server
Forrás: github.com/MarrowHealth/marrow-mcp. Szerepel a hivatalos MCP-regiszterben tech.skeletonarmy/marrow néven.
Egyik szerver portját se irányítsd át a nyílt internetre. Mindkettő LAN-ra vagy tailnetre készült. Ha távoli elérés kell, tedd elé a tailscale serve parancsot vagy ennek megfelelőjét, hogy az átvitel HTTPS legyen, és az eszköz hitelesítve legyen, mielőtt a bearer token egyáltalán láthatóvá válna.
Hibaelhárítás
Kezdd az alábbi teszttel, amelyet azon a számítógépen futtass, amelyen az AI fut. Megmondja, melyik oldalon van a probléma. Használd a kapcsolat oldalán a Marrow-ban látható címet és tokent, nyitott Marrow-val a telefonon.
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"}'
| Mit kapsz | Mit jelent |
|---|---|
HTTP/1.1 200 OK és egy eszközlista | A telefon működik. A probléma az appod beállításaiban van: a cím, a token, vagy a HTTP-től (Streamable HTTP) eltérő szerver-típus. Javítsd a konfigurációt, és indítsd újra az appot. |
401 Unauthorized | A token hibás, vagy ez a kapcsolat ki van kapcsolva a Marrow-ban. A Kapcsolataid minden kapcsolatának saját tokenje van, és egy kikapcsolása kizárja azt az appot, miközben a többi tovább működik. Kapcsold be, vagy másold ki újra a tokenjét. |
404 Not Found a use POST /mcp üzenettel | Az útvonal rossz. A cím /mcp-re végződik. |
| Kapcsolat elutasítva, vagy nincs válasz az időtúllépésig | A számítógép nem éri el a telefont. Menj végig az alábbi listán. |
- A Marrow-nak nyitva kell lennie. A telefon szervere csak addig válaszol, amíg a Marrow elöl van megnyitva. Ha appot váltasz vagy zárolod a telefont, az iOS hamarosan szünetelteti. Nyisd meg újra a Marrow-t, és újra válaszol. Alvó telefon melletti válaszokhoz használd a Szerver MCP-t vagy a Felhő MCP-t.
- Ugyanaz a Wi-Fi vagy tailnet. A számítógépnek és a telefonnak közös Wi-Fi-hálózaton vagy tailneten kell lennie. A Helyi MCP mobilhálózaton sosem válaszol. Ha a Marrow azt mondja: Nem található hálózati cím, csatlakozz Wi-Fi-hez vagy tailnethez. A vendég- és szállodai Wi-Fi gyakran megakadályozza, hogy az eszközök elérjék egymást.
- Tailnet-cím vagy Wi-Fi-cím. A Marrow a telefon egyik címét mutatja, általában a Wi-Fi-ét. Az a számítógép, amely a Tailscale-en át éri el a telefont, a telefon tailnet-címét igényli. A Tailscale app megmutatja (
100.-zal kezdődik). Írd be a konfigurációdba a Wi-Fi-cím helyett, és tartsd meg ugyanazt a portot és tokent. - A cím megváltozott. Az útválasztó egy idő után új Wi-Fi-címet oszthat a telefonnak. Hasonlítsd össze a Marrow-ban látható címet a konfigurációdban lévővel. Az útválasztón lefoglalt cím rögzítve tartja.
- A helyi hálózati hozzáférés nem az ok. Az iOS ezt akkor kéri, amikor a Marrow a hálózatod egy eszközét, például egy párosított szervert ér el. Az, hogy a telefon szervere válaszol egy számítógépnek, nem igényel engedélyt, ezért a kapcsoló be- vagy kikapcsolása nem változtat a Helyi MCP-n.
- VPN a számítógépen. A tailneteden kívüli VPN elterelheti a helyi forgalmat a Wi-Fi-ről. Szüneteltesd, és próbáld újra a tesztet.
- 405 az appod naplójában. A telefon csak POST-ra válaszol, és nem tart nyitva adatfolyamot, ezért egy GET
405-öt kap. A Streamable HTTP-t beszélő appok POST-tal folytatják, így ez a sor önmagában nem a probléma. - Az appod csak parancsot fogad (stdio). Vezesd át a telefon címét az mcp-remote hídon. Olyan egyszerű http címhez, amely nem maga a számítógép, kell a
--allow-http:npx -y mcp-remote http://<phone-ip>:21212/mcp --allow-http --header "Authorization: Bearer <token>". Cursor, Codex vagy Claude Desktop konfigurációs fájljában Windowson az argumentumokon belüli szóközök összekeveredhetnek. Írd a fejlécet így:Authorization:${AUTH_HEADER}, és állítsd azAUTH_HEADERértékétBearer <token>-re a szerver env részében. - Olvas, de nem tud naplózni. Kapcsold be az AI-írás engedélyezése opciót a Helyi MCP alatt. A bejegyzések azonnal érvénybe lépnek a telefonon, és mindegyik visszavonható.
- A kapcsolat nem kapcsol be. Az Ingyenes csomagban egyszerre 1 kapcsolat lehet bekapcsolva, a Marrow Pro-ban legfeljebb 10: az AI-k, a szerverek és az automatizálások együtt. Előbb kapcsolj ki egyet a Kapcsolataid között.
Az egyes appok beállítása és hibaelhárítása, a Claude Code, a Cursor, a VS Code és más, a kapcsolatok alatt található.
Mibe kerül
Semmibe. Az ügynöki hozzáférés az ingyenes szintben van, a háttérszinkronnal, az automatizált exporttal, a CSV- és JSON-exporttal és a vonalkódolvasással együtt. A Health Auto Export hamarabb szállított MCP-szervert, mint a Marrow, és jó is, de az övéhez Premium előfizetés kell. Ez a különbség, nem az elsőség, az állítás, amit érdemes megtenni.
Követelmények
- iOS 17 vagy újabb, és Apple Health. Android- vagy webes változat nincs.
- A Marrow az App Store-ban van, ingyen: apps.apple.com/app/id6800819435.
- Marrow-fiók nem létezik, így nincs olyan üzemeltetett API, amelyet a felhasználó saját eszköze nélkül lehetne hívni.