Itse ylläpidetty peili
Pieni palvelin omistamallasi laitteistolla, joka pitää täydellistä, ajantasaista kopiota Marrow-tiedoistasi ja vastaa agenteille, kun puhelimesi nukkuu, on taskussa tai on maailman toisella puolella.
Yksittäisten sovellusten käyttöönotto on omalla sivullaan kohdassa yhteydet.
Kaikki Marrow'n oppaat: MCP · Itse ylläpidetty peilipalvelin · Automaatiot · Tiedostot · Tuki
Mitä se on
Pieni avoimen lähdekoodin palvelin, jota ajat omistamallasi laitteistolla: Raspberry Pi, NAS, vanha kannettava, $5 VPS. Puhelimesi yhdistyy siihen kerran skannaamalla QR-koodin ja työntää sitten jokaisen muutoksen taustalla, sovellus suljettuna. Palvelin pitää täydellistä SQLite-kopiota Marrow-tiedoistasi ja tarjoaa kolmetoista MCP-lukutyökalua: puhelimen seitsemän, sleep_log ja symptoms_and_mood sekä neljä, jotka vastaavat sovelluksen omin termein (daily_brief, baselines, what_changed, data_quality), jotta agentti voi kysyä ”miten nukuin tällä viikolla” kolmelta yöllä puhelimen ollessa laatikossa. MIT-lisensoitu: github.com/MarrowHealth/marrow-mcp.
Asennus
Yksi Python-tiedosto, vain vakiokirjasto, Python 3.10 tai uudempi:
pip install marrow-mcp marrow-server # or: python3 marrow_server.py
Tai Dockerilla:
git clone https://github.com/MarrowHealth/marrow-mcp cd marrow-mcp docker compose up -d
Ensimmäisellä käynnistyksellä se tulostaa yhdistämis-URL:n ja näyttää QR-koodin missä tahansa verkkosi selaimessa.
Yhdistä puhelin
- Avaa yhdistämis-URL millä tahansa lähelläsi olevalla näytöllä.
- Marrow'ssa: Vie, Palvelin-MCP, Yhdistä palvelimeen, skannaa koodi.
- Valmis. Puhelin alkaa työntää tietoja, ja Palvelin-sivu näyttää viimeisimmän lähetyksen ajan ja kuinka monta tietuetta odottaa.
Yhdistäminen luo kaksi tunnistetta palvelimen datahakemistoon: yhden, jota puhelin käyttää lähettämiseen, ja yhden, jota agentit käyttävät lukemiseen. Vaihda tunniste poistamalla sen tiedosto.
Osoita agentti siihen
claude mcp add --transport http marrow http://<server-ip>:8800/mcp \ --header "Authorization: Bearer <mcp token>"
Kolmetoista työkalua, kaikki lukevia. Yhdeksän raakaa: health_summary, list_metrics, metric_daily, metric_samples, workouts, nutrition_log, strength_log, sleep_log, symptoms_and_mood. Ja neljä, jotka alkavat siitä, mihin raakalukemat loppuvat, ja vertaavat omaan taaksepäin laskettuun normaaliisi samalla laskennalla, jota sovelluksen Koti-sivu käyttää: daily_brief (yksi päivä: jokainen keskeinen mittari arvoineen ja sovelluksen omalla fraasilla, ruoka ja vesi tavoitteitasi vasten, viime yön uni, tehty treeni, maininnan arvoiset merkinnät), baselines (oma normaalisi mittaria kohti, viimeisimmän arvon z-arvo ja 90 päivän trendi), what_changed (viime viikko verrattuna sitä edeltäviin neljään: mikä liikkui, kuinka huomionarvoista se on sinulle, unen ja nukkumaanmenoajan muutokset, virrat jotka alkoivat tai lakkasivat) ja data_quality (mikä on tuoretta, vanhentunutta tai puuttuu, jotta agentti ei koskaan sekoita aukkoa tosiasiaan). Jokainen luku ottaa päiviä taaksepäin tai alun ja lopun puhelimen kalenterissa. Palvelin listaa myös neljä kehotetta (how_am_i_doing, weekly_review, doctor_prep, log_from_text) ja neljä resurssia asiakkaille, jotka näyttävät ne. Siinä on myös kaksitoista kirjoitustyökalua, jotka listataan, kun puhelimesi sallii ne. Marrow 1.5:stä alkaen ota palvelimellesi käyttöön Salli tekoälyn kirjoittaa kohdassa Vie, Yhteytesi, niin tekoäly voi kirjata sen kautta ateriat, veden, painon, treenit, unen, oireet, mielialan ja tavoitteet, ilmaiseksi. Palvelin jonottaa jokaisen merkinnän, ja puhelin toteuttaa sen, kun Marrow avautuu tai herää, ja jokaisen voi perua. Claude Desktopin, Cursorin ja muiden käyttöönotto on MCP-sivulla. Vain URL muuttuu.
Yhteys lähiverkon ulkopuolelta
Palvelin puhuu pelkkää HTTP:tä eikä siinä ole omaa TLS:ää. Älä avaa sille portinohjausta sellaisenaan. Asenna Tailscale koneelle ja puhelimeen ja käytä tailscale serve, tai aseta eteen Cloudflare Tunnel tai mikä tahansa käänteinen välityspalvelin, joka päättää HTTPS:n. Yhdistämis-QR sisältää osoitteen, jonka palvelin ilmoittaa: oman lähiverkko-osoitteensa tai sen, jonka annat valitsimella --url. Käynnistä se osoitteella, jota oikeasti käytät, esimerkiksi marrow-server --url https://pi.your-tailnet.ts.net, ja yhdistä sitten.
Mitä levylle päätyy
- SQLite-tietokanta, jossa on jokainen päiväsarja, näyte, päiväkirjamerkintä ja voimasarja, puhelimen lähetysten ajan tasalla pitämänä.
- Jokainen raaka lähetys tallennettuna JSONL-muodossa sen viereen, jotta tietokanta voidaan rakentaa uudelleen, jos sen koskaan sotket.
- Varaa 50-150 Mt vuodessa täysitarkkuuden historialle.
Yksiköt: Terveysmittarit saapuvat tallennetuissa SI-yksiköissään merkintöineen. Voimasarjat saapuvat paunoina kentällä "unit": "lb" riippumatta puhelimen näyttöasetuksesta, joten peili ei koskaan sekoita yksiköitä. Osoita Grafana, DuckDB tai cron-työ suoraan tietokantatiedostoon.
Vianmääritys
Kaksi testiä tietokoneelta, jolla tekoälysi toimii, kertovat, missä ongelma on. Ensin, onko palvelin käynnissä? Tämä ei tarvitse tunnistetta:
curl http://<server-ip>:8800/health
Se vastaa {"server": "marrow", "ok": true}. Sitten, toimiiko agenttisi tunniste?
curl -i http://<server-ip>:8800/mcp \ -H "Authorization: Bearer <mcp token>" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
| Mitä saat | Mitä se tarkoittaa |
|---|---|
200 OK ja luettelo työkaluista | Palvelin toimii. Tarkista osoite, tunniste ja palvelintyyppi (HTTP) agenttisi asetuksissa ja käynnistä agentti uudelleen. |
401 ja bad bearer token | Väärä tunniste. Agentit käyttävät mcp-tunnistetta, eivät sitä, jolla puhelin yhdistyy. Katso alla. |
| Yhteys evätty tai aikakatkaisu | Palvelin ei ole käynnissä, portti on väärä tai koneen palomuuri estää portin 8800. Dockerin kanssa tarkista porttikartoitus 8800:8800. |
- Mikä tunniste. Palvelin tulostaa agenttien tunnisteen käynnistyessään rivillä, joka alkaa
agents:. Se on myös tiedostossa.mcp-tokendatakansiossa (./dataellet antanut valitsinta--data,/dataDockerissa). Puhelin käyttää eri tunnistetta, tiedostosta.app-token. Vaihda agenttien tunniste poistamalla.mcp-token, käynnistämällä palvelin uudelleen ja päivittämällä jokainen agentti. - Yhdistämissivu sanoo tunnisteen olevan väärä tai puuttuvan. Avaa yhdistämislinkki täsmälleen sellaisena kuin palvelin sen tulosti, osan
?token=kanssa. - Yhdistämissivu näyttää tekstiä, ei QR-koodia. QR tarvitsee valinnaisen
segno-paketin:pip install "marrow-mcp[qr]". Tai valitse Marrow'ssa Syötä sen sijaan käsin ja kirjoitaurljatokentuosta tekstistä. - Pariliitos epäonnistui puhelimessa. Puhelin ei tavoittanut QR-koodin osoitetta. Dockerissa palvelin näkee vain kontin oman osoitteen, joten anna sille omasi: lisää sen komentoon
--url http://<your-computer-ip>:8800. Kotiverkon Wi-Fin ulkopuolella käytä HTTPS-osoitetta, jonka antaatailscale servetai tunneli. - Paikallinen verkko -käyttöoikeus. Kotiverkossa olevaan palvelimeen pääsemiseksi Marrow tarvitsee Paikallinen verkko -käyttöoikeuden. iOS kysyy ensimmäisellä yhdistämiskerralla. Jos vastasit ei, kytke Marrow päälle kohdassa Asetukset, Tietosuoja ja turvallisuus, Paikallinen verkko, ja yhdistä sitten uudelleen Marrow auki.
- Tuo QR-koodi ei ole Marrow'n yhdistämiskoodi. Kamera luki toisen koodin. Skannaa palvelimen yhdistämissivulla oleva.
- Vanhaa dataa tai Ei toimita Marrow'ssa. Puhelin ei voi työntää tietoja palvelimelle. Marrow'n Palvelin-MCP-sivu näyttää viimeisimmän lähetyksen ja kuinka monta tietuetta odottaa. Tarkista, että palvelin on käynnissä, ja avaa sitten Marrow lähettääksesi odottavat. Taustalähetykset ajetaan, kun iOS sallii.
- Tämä palvelin tarvitsee päivityksen ennen kuin se voi kirjata. Päivitä se komennolla
pip install -U marrow-mcpja käynnistä se uudelleen. Dockerissa ajagit pulljadocker compose up -d --buildkloonissa. - Tekoälyn merkinnät eivät näy. Ota Salli tekoälyn kirjoittaa käyttöön palvelimelle kohdassa Vie, Yhteytesi. Kirjoitustyökalut ilmestyvät palvelimelle vasta sen jälkeen. Jokainen merkintä odottaa palvelimella ja saapuu, kun Marrow seuraavan kerran avautuu tai herää.
- Yhteys ei suostu menemään päälle. Ilmainen sallii 1 yhteyden kerrallaan, Marrow Pro enintään 10: tekoälyt, palvelimet ja automaatiot yhteensä.
Milloin valita tämä muiden sijaan
Valitse peili, kun agenttisi tarvitsee dataa puhelimesi nukkuessa tai poissa, tai kun haluat kyseltävän tietokannan tiedostojen sijaan. Valitse puhelimessa toimiva MCP-palvelin, kun agenttisi toimii lähellä puhelinta etkä halua ylläpitää mitään muuta. Valitse automaatiot, kun sinulla on jo paikka, johon datan pitäisi päätyä.