Marrow Health
TR
İndir

Kendi barındırdığınız yansı

Sahip olduğunuz donanımda, Marrow verilerinizin eksiksiz, canlı bir kopyasını tutan ve telefonunuz uykudayken, cebinizdeyken ya da dünyanın öbür ucundayken ajanlara yanıt veren küçük bir sunucu.

Her seferinde tek bir uygulama için kurulum, bağlantılar altında kendi sayfasında.

Tüm Marrow rehberleri: MCP · Kendi barındırdığınız yansı · Otomasyonlar · Dosyalar · Destek

Nedir

Sahip olduğunuz donanımda çalıştırdığınız küçük bir açık kaynak sunucu: bir Raspberry Pi, bir NAS, eski bir dizüstü, $5'lık bir VPS. Telefonunuz onunla bir kez QR kodu tarayarak eşleşir, sonra uygulama kapalıyken her değişikliği arka planda gönderir. Sunucu, Marrow verilerinizin eksiksiz bir SQLite kopyasını tutar ve okumak için on üç MCP aracı sunar: telefonun yedisi, sleep_log ve symptoms_and_mood ve uygulamanın kendi terimleriyle yanıt veren dördü (daily_brief, baselines, what_changed, data_quality), böylece bir ajan, telefonunuz çekmecedeyken gece 3'te “bu hafta nasıl uyudum” diye sorabilir. MIT lisanslı: github.com/MarrowHealth/marrow-mcp.

Yükleme

Tek bir Python dosyası, yalnızca standart kütüphane, Python 3.10 veya daha yenisi:

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

Ya da Docker ile:

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

İlk başlatmada bir eşleştirme URL'si yazdırır ve ağınızdaki herhangi bir tarayıcıda bir QR kodu gösterir.

Telefonu eşleştirin

  1. Eşleştirme URL'sini yakınınızdaki herhangi bir ekranda açın.
  2. Marrow'da: Dışa aktar, Sunucu MCP, Bir sunucuyla eşleştir, kodu tarayın.
  3. Bitti. Telefon göndermeye başlar ve Sunucu sayfası son gönderim zamanını ve kaç kaydın beklediğini gösterir.

Eşleştirme, sunucunun veri dizininde iki belirteç oluşturur: biri telefonun göndermek için kullandığı, biri ajanların okumak için kullandığı. Döndürmek için bir belirteç dosyasını silin.

Bir ajanı ona yönlendirin

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

On üç araç, hepsi okuma. Dokuz ham olan: health_summary, list_metrics, metric_daily, metric_samples, workouts, nutrition_log, strength_log, sleep_log, symptoms_and_mood. Ve ham olanların bittiği yerden başlayan, uygulamanın Ana Sayfa'sının kullandığı aynı hesapla kendi geriye dönük normalinize göre puanlanan dört tane: daily_brief (bir gün: her ana ölçüm değeri ve uygulamanın kendi ifadesiyle, hedeflerinize karşı yiyecek ve su, dün gecenin uykusu, yapılan antrenman, anmaya değer işaretler), baselines (ölçüm başına kendi normaliniz, son değerin z değeri ve 90 günlük eğilim), what_changed (son hafta, öncesindeki dörde karşı: neyin oynadığı, sizin için ne kadar dikkate değer olduğu, uyku ve yatış saati kaymaları, başlayan ya da duran akışlar) ve data_quality (neyin taze, eski ya da eksik olduğu, böylece bir ajan bir boşluğu asla bir gerçekle karıştırmaz). Her okuma, telefonun takviminde geriye doğru gün sayısını ya da from ve to alır. Sunucu ayrıca bunları gösteren istemciler için dört istem (how_am_i_doing, weekly_review, doctor_prep, log_from_text) ve dört kaynak listeler. On iki yazma aracı da taşır, telefonunuz izin verdiğinde listelenir. Marrow 1.5'ten itibaren Dışa aktar, Bağlantılarınız içinde sunucunuz için Yapay zekanın yazmasına izin ver'i açın, bir yapay zeka onun üzerinden öğün, su, kilo, antrenman, uyku, belirti, ruh hali ve hedef kaydedebilir, ücretsiz. Sunucu her kaydı sıraya alır ve telefon Marrow açıldığında ya da uyandığında uygular, ve her biri geri alınabilir. Claude Desktop, Cursor ve diğerleri için kurulum MCP sayfasında. Yalnızca URL değişir.

LAN'ınızın dışından ulaşma

Sunucu düz HTTP konuşur ve kendi TLS'i yoktur. Onu ham haliyle port yönlendirmesine açmayın. Cihaza ve telefona Tailscale kurup tailscale serve kullanın ya da önüne Cloudflare Tunnel veya HTTPS sonlandıran herhangi bir ters vekil sunucu koyun. Eşleştirme QR'ı sunucunun duyurduğu adresi taşır: kendi LAN adresi ya da --url ile verdiğiniz adres. Gerçekten kullanacağınız adresle başlatın, örneğin marrow-server --url https://pi.your-tailnet.ts.net, sonra eşleştirin.

Diske yazılanlar

Birimler: Sağlık ölçümleri saklanan SI birimlerinde ve etiketlerle gelir. Kuvvet setleri, telefonun görüntü ayarı ne olursa olsun "unit": "lb" ile pound cinsinden gelir, böylece yansı birimleri asla karıştırmaz. Grafana'yı, DuckDB'yi ya da bir cron işini doğrudan veritabanı dosyasına yönlendirin.

Sorun giderme

Yapay zekanızın çalıştığı bilgisayardan iki test sorunun nerede olduğunu söyler. Önce, sunucu ayakta mı? Bunun belirtece ihtiyacı yok:

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

{"server": "marrow", "ok": true} yanıtı verir. Sonra, ajanınızın belirteci çalışıyor mu?

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"}'
Ne alırsınızAnlamı
200 OK ve bir araç listesiSunucu çalışıyor. Ajanınızın yapılandırmasındaki adresi, belirteci ve sunucu türünü (HTTP) kontrol edin, sonra ajanı yeniden başlatın.
bad bearer token ile 401Yanlış belirteç. Ajanlar, telefonun eşleştiği belirteci değil, mcp belirtecini kullanır. Aşağıya bakın.
Bağlantı reddedildi ya da zaman aşımıSunucu çalışmıyor, port yanlış ya da cihazdaki bir güvenlik duvarı 8800 portunu engelliyor. Docker ile 8800:8800 port eşlemesini kontrol edin.

Bunu ne zaman diğerlerine tercih etmeli

Ajanınızın telefonunuz uykudayken ya da uzaktayken veriye ihtiyacı varsa ya da dosyalar yerine sorgulanabilir bir veritabanı istiyorsanız yansıyı seçin. Ajanınız telefonun yakınında çalışıyorsa ve bakımını yapacak başka bir şey istemiyorsanız telefondaki MCP sunucusunu seçin. Verilerin inmesi gereken bir yeriniz zaten varsa otomasyonları seçin.