Συνδέστε έναν agent με το Marrow
Το Marrow σερβίρει τα δεδομένα σας από το Apple Health μέσω του Model Context Protocol, από το δικό σας iPhone ή τον δικό σας διακομιστή. Επτά εργαλεία μόνο ανάγνωσης στο κινητό, δεκατρία στον δικό σας διακομιστή (τέσσερα από αυτά απαντούν με τους όρους της ίδιας της εφαρμογής, βαθμολογημένα σε σχέση με τη δική σας κανονικότητα), ταυτοποίηση με bearer token, χωρίς λογαριασμό πουθενά. Αυτή η σελίδα είναι ολόκληρη η ρύθμιση.
Agent σε άλλο μηχάνημα, ή χρειάζεστε απαντήσεις ενώ το κινητό κοιμάται; Κάντε ζεύξη με το αντίγραφο στον δικό σας διακομιστή (pip install marrow-mcp): απαντά 24/7 για το Claude Code, το Cursor και το OpenClaw. Αν ήρθατε εδώ από το ενσωματωμένο connector του Claude ή του ChatGPT, δείτε τι κάνει που εκείνα δεν κάνουν.
Η ρύθμιση για μία εφαρμογή τη φορά, Claude Code, Cursor, Codex και άλλες, βρίσκεται στη δική της σελίδα στις συνδέσεις.
Θέλω να συνδέσω τα δικά μου δεδομένα του Apple Health μαζί σου. Το Marrow είναι μια δωρεάν εφαρμογή iOS που τα σερβίρει μέσω MCP, χωρίς λογαριασμό και χωρίς συνδρομή για αυτό. Είναι στο App Store: https://apps.apple.com/app/id6800819435. Καθοδήγησέ με σε όλη τη διαδικασία: εγκατάσταση της εφαρμογής, ενεργοποίηση του διακομιστή στην Εξαγωγή και μετά στο Τοπικό MCP, και προσθήκη του URL και του bearer token που μου δείχνει στη ρύθμιση MCP σου ως διακομιστή Streamable HTTP. Αν δεν μπορείς να επεξεργαστείς μόνος σου αυτή τη ρύθμιση, πες μου το ακριβές αρχείο και τι να επικολλήσω. Τεκμηρίωση ρύθμισης: https://marrowhealthapp.com/mcp. Όταν συνδεθεί, κάλεσε το health_summary για τις τελευταίες 7 ημέρες και πες μου τι ξεχωρίζει.
1. Ενεργοποιήστε τον διακομιστή
Έρχεται απενεργοποιημένος. Στην εφαρμογή: Εξαγωγή → Τοπικό MCP, και μετά ενεργοποιήστε τον διακομιστή. Παίρνετε ένα URL, ένα token και έναν κωδικό QR. Ο διακομιστής δεσμεύεται μόνο στο τοπικό σας δίκτυο, και η εφαρμογή δείχνει την ακριβή διεύθυνση στην οποία ακούει.
2. Δείξτε τον στον client σας
Αντικαταστήστε τα <phone-ip> και <token> με όσα σας δείχνει η εφαρμογή.
Claude Code
claude mcp add --transport http marrow \ http://<phone-ip>:21212/mcp \ --header "Authorization: Bearer <token>"
Claude Desktop, με ένα κλικ
Κατεβάστε το marrow.mcpb στον υπολογιστή σας και κάντε διπλό κλικ. Το Claude Desktop εγκαθιστά την επέκταση και ζητά το URL και το token παραπάνω. Χωρίς τερματικό.
Claude Desktop (χειροκίνητα), Cursor, ή οποιοσδήποτε client χρησιμοποιεί mcp.json
{
"mcpServers": {
"marrow": {
"type": "http",
"url": "http://<phone-ip>:21212/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Ελέγξτε το με το χέρι
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"}'
Τα εργαλεία
Οι αναγνώσεις υπάρχουν πάντα. Οι εγγραφές είναι δεύτερος διακόπτης. Από το Marrow 1.5 ο διακομιστής του κινητού απαριθμεί τα ίδια δώδεκα εργαλεία εγγραφής με το MCP cloud (log_meal, log_water, log_weight, log_workout, log_strength, log_sleep, log_symptom, log_mood, edit_entry, delete_entry, set_targets, undo_entry) αφού ενεργοποιήσετε το Να επιτρέπεται εγγραφή από AI στο Τοπικό MCP, εφαρμοζόμενα αμέσως στο κινητό και γραμμένα στο Apple Health, με δυνατότητα αναίρεσης για καθένα. Όταν είναι κλειστό, ο διακομιστής είναι μόνο για ανάγνωση.
| Εργαλείο | Επιστρέφει |
|---|---|
health_summary | Πρόσφατες ημέρες σε δραστηριότητα, καρδιά, ύπνο και διατροφή |
list_metrics | Κάθε μέτρηση που παρακολουθείται, με μονάδες και κάλυψη |
metric_daily | Ημερήσιες τιμές για οποιαδήποτε μέτρηση, έως 400 ημέρες |
metric_samples | Ακατέργαστες εγγραφές με χρονοσφραγίδες και συσκευές πηγής |
workouts | Προπονήσεις από κάθε πηγή. Στο κινητό, και οι συνεδρίες ενδυνάμωσης του Marrow σετ προς σετ |
nutrition_log | Ημερολόγιο φαγητού με πλήρη ανάλυση θρεπτικών συστατικών |
strength_log | Κάθε σετ άρσης με τον τύπο του, εκτιμώμενο 1RM ανά άσκηση, όγκος ανά μυϊκή ομάδα. Οι προθερμάνσεις δεν μετράνε ποτέ στον όγκο ή στα ρεκόρ |
sleep_log | Μία νύχτα ανά ημέρα ξυπνήματος: ώρα ύπνου, ώρα ξυπνήματος, ώρες ύπνου, λεπτά ανά στάδιο (αντίγραφο στον δικό σας διακομιστή) |
symptoms_and_mood | Συμπτώματα με τη σοβαρότητά τους, και καταχωρίσεις Ψυχικής κατάστασης με συναισθήματα και σε τι αφορούσαν (αντίγραφο στον δικό σας διακομιστή) |
Τέσσερα ακόμη στο αντίγραφο στον δικό σας διακομιστή και στο MCP cloud. Ξεκινούν εκεί που σταματούν οι ακατέργαστες αναγνώσεις: κάθε τιμή βαθμολογείται σε σχέση με τη δική σας πρόσφατη κανονικότητα με τα ίδια μαθηματικά που χρησιμοποιεί η Αρχική της εφαρμογής (με εξαίρεση την ίδια την ημέρα), ώστε ένας agent να ξεκινά από μια ανάγνωση που ισχύει ήδη για εσάς αντί να κρίνει έναν αριθμό σε σχέση με τον πληθυσμό.
| Εργαλείο | Επιστρέφει |
|---|---|
daily_brief | Μία ημέρα: κάθε βασική μέτρηση με την τιμή της και τη φράση της ίδιας της εφαρμογής (φυσιολογικό για εσάς, πάνω από το φυσιολογικό σας, πολύ κάτω από το φυσιολογικό σας), φαγητό και νερό σε σχέση με τους στόχους σας, ο χθεσινός ύπνος, η προπόνηση που έγινε, διάθεση και συμπτώματα, και σημεία που αξίζει να αναφερθούν |
baselines | Η δική σας κανονικότητα ανά μέτρηση: μέσος όρος και διασπορά στο παράθυρο, το z και η φράση της τελευταίας τιμής, ο μέσος όρος 7 ημερών και η τάση 90 ημερών ανά μήνα |
what_changed | Η τελευταία εβδομάδα σε σχέση με τις τέσσερις πριν: τι κινήθηκε και πόσο αξιοσημείωτο είναι για εσάς, φαγητό, προπόνηση, ύπνος και αλλαγές στην ώρα ύπνου, ροές που άρχισαν ή σταμάτησαν να φτάνουν |
data_quality | Τι κρατά το αντίγραφο και πόσο φρέσκο είναι: ανά μέτρηση η τελευταία ημέρα, η κάλυψη, η συχνότητα ενημέρωσης, οι πηγές και αν έχει παλιώσει, ώστε ένας agent να μην μπερδεύει ποτέ ένα κενό με γεγονός |
Ο διακομιστής στη συσκευή σερβίρει τα πρώτα επτά ακατέργαστα εργαλεία συν τα daily_brief και baselines (εννέα αναγνώσεις). Το αντίγραφο στον δικό σας διακομιστή σερβίρει και τα δεκατρία, όπως και το φιλοξενούμενο αντίγραφο του MCP cloud. Κάθε ανάγνωση στο αντίγραφο δέχεται ημέρες πίσω ή from και to στο ημερολόγιο του κινητού, και το αντίγραφο προσφέρει επίσης τέσσερα prompts (how_am_i_doing, weekly_review, doctor_prep, log_from_text) και τέσσερις πόρους σε clients που τα εμφανίζουν. Τα ακατέργαστα δείγματα φέρουν στάδια ύπνου και σοβαρότητα συμπτωμάτων.
Υπάρχουν 172 μετρήσεις του Apple Health πίσω από το list_metrics, συν δεδομένα ημερολογίου και ενδυνάμωσης του ίδιου του Marrow πίσω από τα nutrition_log και strength_log, που καλύπτουν δραστηριότητα, καρδιά, ύπνο, σώμα, αναπνοή, κινητικότητα, ακοή, διατροφή, νους, συμπτώματα, κύκλο και συνήθειες. Έκδοση αυτής της σελίδας για μηχανές: tools.json.
Πώς συνεχίζει όταν το κινητό δεν είναι διαθέσιμο
Ο διακομιστής στη συσκευή απαντά όσο η εφαρμογή τρέχει. Για πρόσβαση 24/7, κάντε ζεύξη με ένα αντίγραφο στον δικό σας διακομιστή: ένα αρχείο Python stdlib σε Pi, NAS ή παλιό laptop. Οι αποστολές του κινητού στο παρασκήνιο το κρατούν ενημερωμένο, και μιλά την ίδια επιφάνεια MCP στο http://<server-ip>:8800/mcp με δικό του token. Τα εργαλεία του κινητού χρησιμοποιούν τα κλειδιά μετρήσεων της εφαρμογής (active_energy, heart_rate_variability). Ο διακομιστής δέχεται και αυτά και τα σύντομα ονόματα της Apple (active_energy_burned), ώστε ένας agent να μετακινείται μεταξύ τους χωρίς να τα μαθαίνει ξανά. Είναι ανοιχτού κώδικα και εγκαθίσταται:
pip install marrow-mcp marrow-server
Πηγή: github.com/MarrowHealth/marrow-mcp. Καταχωρισμένο στο επίσημο μητρώο MCP ως tech.skeletonarmy/marrow.
Μην κάνετε port forward σε κανέναν από τους δύο διακομιστές προς το ανοιχτό internet. Και οι δύο είναι σχεδιασμένοι για LAN ή tailnet. Αν χρειάζεστε απομακρυσμένη πρόσβαση, βάλτε μπροστά του το tailscale serve ή κάτι αντίστοιχο, ώστε η μεταφορά να είναι HTTPS και η συσκευή να ταυτοποιείται πριν φανεί ποτέ το bearer token.
Αντιμετώπιση προβλημάτων
Ξεκινήστε με το παρακάτω τεστ, από τον υπολογιστή όπου τρέχει το AI σας. Σας λέει σε ποια πλευρά βρίσκεται το πρόβλημα. Χρησιμοποιήστε τη διεύθυνση και το token από τη σελίδα της σύνδεσης στο Marrow, με το Marrow ανοιχτό στο κινητό.
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"}'
| Τι παίρνετε | Τι σημαίνει |
|---|---|
HTTP/1.1 200 OK και μια λίστα εργαλείων | Το κινητό δουλεύει. Το πρόβλημα είναι στις ρυθμίσεις της εφαρμογής σας: η διεύθυνση, το token, ή ένας τύπος διακομιστή διαφορετικός από HTTP (Streamable HTTP). Διορθώστε τη ρύθμιση και κάντε επανεκκίνηση της εφαρμογής. |
401 Unauthorized | Το token είναι λάθος, ή αυτή η σύνδεση είναι κλειστή στο Marrow. Κάθε σύνδεση στο «Οι συνδέσεις σας» έχει το δικό της token, και το κλείσιμο μιας αποκλείει εκείνη την εφαρμογή ενώ οι άλλες συνεχίζουν να δουλεύουν. Ενεργοποιήστε την, ή αντιγράψτε ξανά το token της. |
404 Not Found με use POST /mcp | Η διαδρομή είναι λάθος. Η διεύθυνση τελειώνει σε /mcp. |
| Connection refused, ή καμία απάντηση μέχρι να λήξει ο χρόνος | Ο υπολογιστής δεν μπορεί να φτάσει το κινητό. Περάστε από τη λίστα παρακάτω. |
- Το Marrow πρέπει να είναι ανοιχτό. Ο διακομιστής του κινητού απαντά μόνο όσο το Marrow είναι ανοιχτό μπροστά. Όταν αλλάζετε εφαρμογή ή κλειδώνετε το κινητό, το iOS τον παύει σύντομα. Ανοίξτε ξανά το Marrow και απαντά ξανά. Για απαντήσεις με το κινητό κοιμισμένο, χρησιμοποιήστε το MCP διακομιστή ή το MCP cloud.
- Ίδιο Wi-Fi ή tailnet. Ο υπολογιστής και το κινητό πρέπει να μοιράζονται δίκτυο Wi-Fi ή tailnet. Το Τοπικό MCP δεν απαντά ποτέ μέσω δικτύου κινητής. Αν το Marrow λέει Δεν βρέθηκε διεύθυνση δικτύου, συνδεθείτε σε Wi-Fi ή tailnet. Το Wi-Fi επισκεπτών και ξενοδοχείων συχνά εμποδίζει τις συσκευές να φτάσουν η μία την άλλη.
- Διεύθυνση tailnet ή διεύθυνση Wi-Fi. Το Marrow δείχνει μία από τις διευθύνσεις του κινητού, συνήθως του Wi-Fi. Ένας υπολογιστής που φτάνει το κινητό μέσω Tailscale χρειάζεται αντί γι' αυτήν τη διεύθυνση tailnet του κινητού. Την δείχνει η εφαρμογή Tailscale (ξεκινά με
100.). Βάλτε την στη ρύθμισή σας στη θέση της διεύθυνσης Wi-Fi και κρατήστε την ίδια πόρτα και το ίδιο token. - Η διεύθυνση άλλαξε. Ένας router μπορεί να δώσει στο κινητό νέα διεύθυνση Wi-Fi μετά από λίγο. Συγκρίνετε τη διεύθυνση στο Marrow με αυτήν στη ρύθμισή σας. Μια δεσμευμένη διεύθυνση στον router την κρατά σταθερή.
- Η πρόσβαση στο Τοπικό δίκτυο δεν είναι η αιτία. Το iOS τη ζητά όταν το Marrow φτάνει μια συσκευή στο δίκτυό σας, όπως έναν συζευγμένο διακομιστή. Ο διακομιστής του κινητού που απαντά σε υπολογιστή δεν χρειάζεται άδεια, οπότε το άνοιγμα ή κλείσιμο αυτού του διακόπτη δεν αλλάζει το Τοπικό MCP.
- Ένα VPN στον υπολογιστή. Ένα VPN εκτός από το tailnet σας μπορεί να στείλει την τοπική κίνηση μακριά από το Wi-Fi σας. Παύστε το και δοκιμάστε ξανά το τεστ.
- Ένα 405 στο log της εφαρμογής σας. Το κινητό απαντά μόνο σε POST και δεν κρατά καμία ροή ανοιχτή, οπότε ένα GET παίρνει
405. Οι εφαρμογές που μιλούν Streamable HTTP συνεχίζουν με POST, οπότε αυτή η γραμμή μόνη της δεν είναι το πρόβλημα. - Η εφαρμογή σας δέχεται μόνο εντολή (stdio). Περάστε τη διεύθυνση του κινητού μέσα από τη γέφυρα mcp-remote. Χρειάζεται
--allow-httpγια μια απλή διεύθυνση http που δεν βρίσκεται στον ίδιο τον υπολογιστή:npx -y mcp-remote http://<phone-ip>:21212/mcp --allow-http --header "Authorization: Bearer <token>". Σε ένα αρχείο ρύθμισης για Cursor, Codex ή Claude Desktop σε Windows, τα κενά μέσα στα args μπορεί να παραμορφωθούν. Γράψτε την επικεφαλίδα ωςAuthorization:${AUTH_HEADER}και ορίστε τοAUTH_HEADERσεBearer <token>στο env του διακομιστή. - Διαβάζει αλλά δεν μπορεί να καταγράψει. Ενεργοποιήστε το Να επιτρέπεται εγγραφή από AI στο Τοπικό MCP. Οι καταχωρίσεις εφαρμόζονται αμέσως στο κινητό και καθεμία μπορεί να αναιρεθεί.
- Η σύνδεση δεν ενεργοποιείται. Το Δωρεάν πλάνο επιτρέπει 1 ενεργή σύνδεση τη φορά, το Marrow Pro έως 10: AI, διακομιστές και αυτοματισμοί μαζί. Απενεργοποιήστε πρώτα μία στο «Οι συνδέσεις σας».
Η ρύθμιση και οι λύσεις για μία εφαρμογή τη φορά, Claude Code, Cursor, VS Code και άλλες, βρίσκονται στις συνδέσεις.
Πόσο κοστίζει
Τίποτα. Η πρόσβαση για agents περιλαμβάνεται στο δωρεάν επίπεδο, μαζί με τον συγχρονισμό στο παρασκήνιο, την αυτοματοποιημένη εξαγωγή, την εξαγωγή CSV και JSON και τη σάρωση γραμμωτού κώδικα. Το Health Auto Export κυκλοφόρησε διακομιστή MCP πριν από το Marrow, και είναι καλός, αλλά ο δικός τους απαιτεί συνδρομή Premium. Αυτή η διαφορά, και όχι η πρωτιά, είναι ο ισχυρισμός που αξίζει να γίνει.
Απαιτήσεις
- iOS 17 ή νεότερο, και Apple Health. Δεν υπάρχει έκδοση για Android ή web.
- Το Marrow είναι στο App Store, δωρεάν: apps.apple.com/app/id6800819435.
- Δεν υπάρχει λογαριασμός Marrow, οπότε δεν υπάρχει φιλοξενούμενο API που να καλείται χωρίς τη δική συσκευή του χρήστη.