Marrow Health
RO
Descarcă

Oglinda auto-găzduită

Un mic server pe hardware-ul tău, care ține o copie completă și live a datelor tale Marrow și răspunde agenților cât telefonul doarme, e în buzunar sau e la capătul lumii.

Configurarea pentru fiecare aplicație în parte este pe pagina ei, la conexiuni.

Toate ghidurile Marrow: MCP · Oglindă auto-găzduită · Automatizări · Fișiere · Asistență

Ce este

Un mic server open source pe care îl rulezi pe hardware-ul tău: un Raspberry Pi, un NAS, un laptop vechi, un VPS de $5. Telefonul tău se asociază cu el o singură dată scanând un cod QR, apoi trimite fiecare schimbare în fundal, cu aplicația închisă. Serverul păstrează o copie SQLite completă a datelor tale Marrow și servește treisprezece instrumente MCP pentru citire: cele șapte ale telefonului, sleep_log și symptoms_and_mood, plus patru care răspund în termenii proprii ai aplicației (daily_brief, baselines, what_changed, data_quality), așa că un agent poate întreba „cum am dormit săptămâna asta” la 3 dimineața, cu telefonul într-un sertar. Licență MIT: github.com/MarrowHealth/marrow-mcp.

Instalare

Un fișier Python, doar biblioteca standard, Python 3.10 sau mai nou:

pip install marrow-mcp
marrow-server         # or: python3 marrow_server.py

Sau cu Docker:

git clone https://github.com/MarrowHealth/marrow-mcp
cd marrow-mcp
docker compose up -d

La prima pornire afișează un URL de asociere și arată un cod QR în orice browser din rețeaua ta.

Asociază telefonul

  1. Deschide URL-ul de asociere pe orice ecran din apropierea ta.
  2. În Marrow: Exportă, MCP pe server, Asociază cu un server, scanează codul.
  3. Gata. Telefonul începe să trimită, iar pagina Server arată ora ultimei trimiteri și câte înregistrări așteaptă.

Asocierea creează două tokenuri în directorul de date al serverului: unul pe care îl folosește telefonul ca să trimită și unul pe care îl folosesc agenții ca să citească. Șterge un fișier de token ca să-l schimbi.

Îndreaptă un agent spre el

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

Treisprezece instrumente, toate de citire. Cele nouă brute: health_summary, list_metrics, metric_daily, metric_samples, workouts, nutrition_log, strength_log, sleep_log, symptoms_and_mood. Și patru care încep unde se opresc cele brute, raportate la normalul tău recent, cu aceleași calcule pe care le folosește pagina Acasă a aplicației: daily_brief (o zi: fiecare metrică cheie cu valoarea ei și fraza proprie a aplicației, mâncarea și apa față de obiective, somnul de azi-noapte, antrenamentul făcut, indicatori care merită pomeniți), baselines (normalul tău pe metrică, z-ul ultimei valori și tendința pe 90 de zile), what_changed (ultima săptămână față de cele patru dinainte: ce s-a mișcat, cât de notabil e pentru tine, schimbări de somn și de ora de culcare, fluxuri care au început sau s-au oprit) și data_quality (ce e proaspăt, vechi sau lipsă, ca un agent să nu confunde niciodată un gol cu un fapt). Fiecare citire primește zile în urmă sau from și to, pe calendarul telefonului. Serverul listează și patru prompturi (how_am_i_doing, weekly_review, doctor_prep, log_from_text) și patru resurse pentru clienții care le arată. Are și douăsprezece instrumente de scriere, listate după ce telefonul tău le permite. De la Marrow 1.5, activează Permite scrierea de către AI pentru serverul tău în Exportă, Conexiunile tale și un AI poate înregistra prin el mese, apă, greutate, antrenamente, somn, simptome, dispoziție și obiective, gratuit. Serverul pune fiecare intrare la coadă, iar telefonul o aplică când Marrow se deschide sau se trezește, și fiecare poate fi anulată. Configurarea pentru Claude Desktop, Cursor și altele este pe pagina MCP. Se schimbă doar URL-ul.

Cum ajungi la el din afara LAN-ului

Serverul vorbește HTTP simplu și nu are TLS propriu. Nu redirecționa porturi către el în stare brută. Pune Tailscale pe mașină și pe telefon și folosește tailscale serve sau pune în față un Cloudflare Tunnel sau orice reverse proxy care termină HTTPS. Codul QR de asociere poartă adresa pe care o anunță serverul: propria lui adresă din LAN sau cea pe care i-o dai cu --url. Pornește-l cu adresa pe care o vei folosi de fapt, de exemplu marrow-server --url https://pi.your-tailnet.ts.net, apoi asociază.

Ce ajunge pe disc

Unități: metricile de sănătate ajung în unitățile SI stocate, cu etichete. Seriile de forță ajung în livre, cu "unit": "lb", indiferent de setarea de afișare a telefonului, așa că oglinda nu amestecă niciodată unitățile. Îndreaptă Grafana, DuckDB sau un job cron direct spre fișierul bazei de date.

Depanare

Două teste de pe calculatorul pe care rulează AI-ul tău îți spun unde e problema. Mai întâi, funcționează serverul? Acesta nu cere token:

curl http://<server-ip>:8800/health

Răspunde cu {"server": "marrow", "ok": true}. Apoi, funcționează tokenul agentului tău?

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"}'
Ce primeștiCe înseamnă
200 OK și o listă de instrumenteServerul funcționează. Verifică adresa, tokenul și tipul serverului (HTTP) în configurația agentului tău, apoi repornește agentul.
401 cu bad bearer tokenToken greșit. Agenții folosesc tokenul mcp, nu cel cu care se asociază telefonul. Vezi mai jos.
Conexiune refuzată sau expirareServerul nu rulează, portul este greșit sau un firewall de pe mașină blochează portul 8800. Cu Docker, verifică maparea de port 8800:8800.

Când o alegi pe aceasta în loc de celelalte

Alege oglinda când agentul tău are nevoie de date cât telefonul doarme sau e departe, sau când vrei o bază de date interogabilă în loc de fișiere. Alege serverul MCP de pe telefon când agentul rulează lângă telefon și nu vrei nimic altceva de întreținut. Alege automatizările când ai deja un loc în care ar trebui să ajungă datele.