Sambungkan ejen ke Marrow
Marrow menyajikan data Apple Health anda melalui Model Context Protocol, daripada iPhone anda sendiri atau pelayan anda sendiri. Sembilan alat baca pada telefon, tiga belas pada pelayan anda sendiri (empat daripadanya menjawab dalam istilah apl sendiri, dinilai berbanding kebiasaan anda sendiri), dua belas alat tulis di sebalik suis, pengesahan token bearer, tiada akaun di mana-mana. Halaman ini ialah keseluruhan persediaan.
Ejen pada mesin lain, atau memerlukan jawapan semasa telefon tidur? Gandingkan cermin dihoskan sendiri (pip install marrow-mcp): ia menjawab 24/7 untuk Claude Code, Cursor dan OpenClaw. Jika anda datang ke sini daripada penyambung Claude atau ChatGPT terbina dalam, inilah yang dilakukannya yang tidak dilakukan oleh mereka.
Persediaan untuk satu apl pada satu masa, Claude Code, Cursor, Codex dan lain-lain, ada pada halamannya sendiri di bawah sambungan.
Saya mahu menyambungkan data Apple Health saya sendiri kepada anda. Marrow ialah apl iOS percuma yang menyajikannya melalui MCP, tanpa akaun dan tanpa langganan diperlukan untuk ini. Ia ada di App Store: https://apps.apple.com/app/id6800819435. Bimbing saya melalui keseluruhannya: memasang apl, menghidupkan pelayan di bawah Eksport kemudian MCP Setempat, dan menambah URL serta token bearer yang ditunjukkannya kepada konfigurasi MCP anda sebagai pelayan Streamable HTTP. Jika anda tidak boleh mengedit konfigurasi itu sendiri, beritahu saya fail yang tepat dan apa yang perlu ditampal. Dokumen persediaan: https://marrowhealthapp.com/mcp. Apabila ia bersambung, panggil health_summary untuk 7 hari lepas dan beritahu saya apa yang menonjol.
1. Hidupkan pelayan
Ia datang dalam keadaan mati. Dalam apl: Eksport → MCP Setempat, kemudian dayakan pelayan. Anda mendapat URL, token dan kod QR. Pelayan hanya mengikat pada rangkaian setempat anda, dan apl menunjukkan alamat tepat yang didengarinya.
2. Arahkan klien anda kepadanya
Gantikan <phone-ip> dan <token> dengan apa yang ditunjukkan oleh apl.
Claude Code
claude mcp add --transport http marrow \ http://<phone-ip>:21212/mcp \ --header "Authorization: Bearer <token>"
Claude Desktop, satu klik
Muat turun marrow.mcpb pada komputer anda dan klik dua kali. Claude Desktop memasang ekstensi dan meminta URL dan token di atas. Tiada terminal terlibat.
Claude Desktop (manual), Cursor, atau mana-mana klien yang menggunakan mcp.json
{
"mcpServers": {
"marrow": {
"type": "http",
"url": "http://<phone-ip>:21212/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Semak dengan tangan
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"}'
Alat
Bacaan sentiasa ada. Penulisan ialah suis kedua. Pelayan telefon menyenaraikan dua belas alat tulis yang sama seperti 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) setelah anda menghidupkan Benarkan AI menulis di bawah MCP Setempat, diterapkan serta-merta pada telefon dan ditulis ke Apple Health, setiap satunya boleh dibuat asal. Apabila mati, pelayan hanya boleh dibaca.
| Alat | Mengembalikan |
|---|---|
health_summary | Hari-hari terkini merentas aktiviti, jantung, tidur dan pemakanan |
list_metrics | Setiap metrik yang dijejaki, dengan unit dan liputan |
metric_daily | Nilai harian bagi mana-mana metrik, sehingga 400 hari |
metric_samples | Rekod mentah dengan cap masa dan peranti sumber |
workouts | Senaman daripada setiap sumber. Pada telefon, juga sesi kekuatan Marrow set demi set |
nutrition_log | Diari makanan dengan pecahan nutrien penuh |
strength_log | Setiap set angkat beban dengan jenis setnya, anggaran 1RM bagi setiap senaman, isi padu bagi setiap kumpulan otot. Set memanaskan badan tidak pernah dikira dalam isi padu atau rekod |
sleep_log | Satu malam bagi setiap hari bangun: waktu tidur, waktu bangun, jam tidur, minit bagi setiap peringkat (cermin dihoskan sendiri) |
symptoms_and_mood | Simptom dengan keterukannya, dan entri State of Mind dengan perasaan dan perkara yang menyebabkannya (cermin dihoskan sendiri) |
Empat lagi pada cermin dihoskan sendiri dan pada MCP Cloud. Ia bermula di mana bacaan mentah berhenti: setiap nilai dinilai berbanding kebiasaan anda sendiri yang terkini dengan pengiraan yang sama seperti halaman Utama apl (hari itu sendiri dikecualikan), jadi ejen bermula daripada bacaan yang sudah benar untuk anda dan bukan menilai nombor berbanding populasi.
| Alat | Mengembalikan |
|---|---|
daily_brief | Satu hari: setiap metrik utama dengan nilainya dan frasa apl sendiri (biasa bagi anda, di atas biasa anda, jauh di bawah biasa anda), makanan dan air berbanding sasaran anda, tidur semalam, latihan yang dibuat, mood dan simptom, dan bendera yang patut disebut |
baselines | Kebiasaan anda sendiri bagi setiap metrik: min dan serakan sepanjang tetingkap, z dan frasa nilai terkini, min 7 hari dan aliran 90 hari bagi setiap bulan |
what_changed | Minggu lepas berbanding empat minggu sebelumnya: apa yang bergerak dan betapa ketara ia bagi anda, perubahan makanan, latihan, tidur dan waktu tidur, aliran yang mula atau berhenti sampai |
data_quality | Apa yang cermin simpan dan betapa segarnya: bagi setiap metrik hari terkini, liputan, kekerapan, sumber dan sama ada ia sudah lapuk, supaya ejen tidak pernah tersilap menganggap jurang sebagai fakta |
Pelayan pada peranti menyajikan tujuh alat mentah yang pertama ditambah daily_brief dan baselines (sembilan bacaan). Cermin dihoskan sendiri menyajikan kesemua tiga belas, begitu juga salinan MCP Cloud yang dihoskan. Setiap bacaan pada cermin menerima days back atau from dan to pada kalendar telefon, dan cermin juga menawarkan empat gesaan (how_am_i_doing, weekly_review, doctor_prep, log_from_text) dan empat sumber kepada klien yang memaparkannya. Sampel mentah membawa peringkat tidur dan keterukan simptom.
Terdapat 172 metrik Apple Health di sebalik list_metrics, ditambah data diari dan kekuatan asli Marrow di sebalik nutrition_log dan strength_log, meliputi aktiviti, jantung, tidur, badan, pernafasan, mobiliti, pendengaran, pemakanan, minda, simptom, kitaran dan tabiat. Versi boleh dibaca mesin bagi halaman ini: tools.json.
Mengekalkannya apabila telefon tiada
Pelayan pada peranti menjawab semasa apl berjalan. Untuk akses 24/7, gandingkan cermin dihoskan sendiri: satu fail stdlib Python pada Pi, NAS atau komputer riba lama. Tolakan latar belakang telefon mengekalkannya terkini, dan ia menuturkan permukaan MCP yang sama pada http://<server-ip>:8800/mcp dengan tokennya sendiri. Alat telefon menggunakan kunci metrik apl (active_energy, heart_rate_variability). Pelayan menerima kedua-duanya dan nama pendek Apple (active_energy_burned), jadi ejen boleh bertukar antara keduanya tanpa belajar semula. Ia bersumber terbuka dan boleh dipasang:
pip install marrow-mcp marrow-server
Sumber: github.com/MarrowHealth/marrow-mcp. Disenaraikan dalam daftar MCP rasmi sebagai tech.skeletonarmy/marrow.
Jangan port-forward mana-mana pelayan ke internet terbuka. Kedua-duanya direka untuk LAN atau tailnet. Jika anda memerlukan akses jauh, letakkan tailscale serve atau yang setara di hadapannya, supaya pengangkutan ialah HTTPS dan peranti disahkan sebelum token bearer dilihat.
Penyelesaian masalah
Mulakan dengan ujian di bawah, dijalankan dari komputer tempat AI anda berjalan. Ia memberitahu anda di sebelah mana masalahnya. Gunakan alamat dan token daripada halaman sambungan dalam Marrow, dengan Marrow dibuka pada telefon.
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"}'
| Apa yang anda dapat | Maksudnya |
|---|---|
HTTP/1.1 200 OK dan senarai alat | Telefon berfungsi. Masalahnya ada pada tetapan apl anda: alamat, token, atau jenis pelayan selain HTTP (Streamable HTTP). Betulkan konfigurasi dan mulakan semula apl. |
401 Unauthorized | Token salah, atau sambungan ini mati dalam Marrow. Setiap sambungan dalam Sambungan anda mempunyai tokennya sendiri, dan mematikan satu menyekat apl itu sementara yang lain terus berfungsi. Hidupkannya, atau salin tokennya semula. |
404 Not Found dengan use POST /mcp | Laluan salah. Alamat berakhir dengan /mcp. |
| Sambungan ditolak, atau tiada jawapan sehingga tamat masa | Komputer tidak dapat mencapai telefon. Semak senarai di bawah. |
- Marrow mesti dibuka. Pelayan telefon hanya menjawab semasa Marrow dibuka di hadapan. Apabila anda bertukar apl atau mengunci telefon, iOS tidak lama kemudian menjedanya. Buka Marrow semula dan ia menjawab semula. Untuk jawapan semasa telefon tidur, gunakan MCP Pelayan atau MCP Cloud.
- Wi-Fi atau tailnet yang sama. Komputer dan telefon mesti berkongsi rangkaian Wi-Fi atau tailnet. MCP Setempat tidak pernah menjawab melalui selular. Jika Marrow menyatakan Tiada alamat rangkaian ditemui, sertai Wi-Fi atau tailnet. Wi-Fi tetamu dan hotel selalunya menghalang peranti daripada mencapai satu sama lain.
- Alamat tailnet atau alamat Wi-Fi. Marrow menunjukkan salah satu alamat telefon, biasanya alamat Wi-Fi. Komputer yang mencapai telefon melalui Tailscale memerlukan alamat tailnet telefon sebaliknya. Apl Tailscale menunjukkannya (ia bermula dengan
100.). Letakkannya dalam konfigurasi anda menggantikan alamat Wi-Fi dan kekalkan port dan token yang sama. - Alamat berubah. Penghala boleh memberi telefon alamat Wi-Fi baharu selepas beberapa lama. Bandingkan alamat dalam Marrow dengan yang ada dalam konfigurasi anda. Alamat tempahan pada penghala mengekalkannya tetap.
- Akses Local Network bukan puncanya. iOS menanyakannya apabila Marrow menghubungi peranti pada rangkaian anda, seperti pelayan yang digandingkan. Pelayan telefon yang menjawab komputer tidak memerlukan kebenaran, jadi menghidupkan atau mematikan suis itu tidak mengubah MCP Setempat.
- VPN pada komputer. VPN selain tailnet anda boleh menghantar trafik setempat menjauhi Wi-Fi anda. Jeda ia dan cuba ujian itu semula.
- 405 dalam log apl anda. Telefon hanya menjawab POST dan tidak membiarkan sebarang aliran terbuka, jadi GET mendapat
405. Apl yang menuturkan Streamable HTTP meneruskan dengan POST, jadi baris ini sahaja bukan masalahnya. - Apl anda hanya menerima arahan (stdio). Jalankan alamat telefon melalui jambatan mcp-remote. Ia memerlukan
--allow-httpuntuk alamat http biasa yang tidak berada pada komputer itu sendiri:npx -y mcp-remote http://<phone-ip>:21212/mcp --allow-http --header "Authorization: Bearer <token>". Dalam fail konfigurasi untuk Cursor, Codex atau Claude Desktop pada Windows, ruang dalam args boleh rosak. Tulis pengepala sebagaiAuthorization:${AUTH_HEADER}dan tetapkanAUTH_HEADERkepadaBearer <token>dalam env pelayan. - Ia membaca tetapi tidak boleh mencatat. Hidupkan Benarkan AI menulis di bawah MCP Setempat. Entri diterapkan serta-merta pada telefon dan setiap satunya boleh dibuat asal.
- Sambungan tidak mahu hidup. Percuma mengekalkan 1 sambungan hidup pada satu masa, Marrow Pro sehingga 10: AI, pelayan dan automasi bersama. Matikan satu dalam Sambungan anda dahulu.
Persediaan dan penyelesaian untuk satu apl pada satu masa, Claude Code, Cursor, VS Code dan lain-lain, ada di bawah sambungan.
Berapa kosnya
Tiada. Akses ejen ada dalam peringkat percuma, bersama penyegerakan latar belakang, eksport automatik, eksport CSV dan JSON, dan pengimbasan kod bar. Health Auto Export menyediakan pelayan MCP sebelum Marrow, dan ia bagus, tetapi pelayan mereka memerlukan langganan Premium. Perbezaan itu, bukan keutamaan, ialah dakwaan yang patut dibuat.
Keperluan
- iOS 17 atau lebih baharu, dan Apple Health. Tiada versi Android atau web.
- Marrow ada di App Store, percuma: apps.apple.com/app/id6800819435.
- Tiada akaun Marrow wujud, jadi tiada API yang dihoskan untuk dipanggil tanpa peranti pengguna sendiri.