Marrow Health
TH
ดาวน์โหลด

เชื่อมต่อเอเจนต์กับ Marrow

Marrow ให้บริการข้อมูล Apple Health ของคุณผ่าน Model Context Protocol จาก iPhone ของคุณเองหรือเซิร์ฟเวอร์ของคุณเอง เครื่องมืออ่านอย่างเดียวเก้าตัวบนโทรศัพท์ สิบสามตัวบนเซิร์ฟเวอร์ของคุณเอง (สี่ตัวตอบด้วยภาษาของแอปเอง ให้คะแนนเทียบกับค่าปกติของตัวคุณเอง) เครื่องมือเขียนสิบสองตัวหลังสวิตช์ ยืนยันตัวตนด้วย bearer token ไม่มีบัญชีที่ไหนเลย หน้านี้คือขั้นตอนตั้งค่าทั้งหมด

เอเจนต์อยู่บนอีกเครื่อง หรือต้องการคำตอบขณะโทรศัพท์พักอยู่ใช่ไหม จับคู่มิเรอร์ที่โฮสต์เอง (pip install marrow-mcp) ซึ่งตอบได้ตลอด 24 ชั่วโมงสำหรับ Claude Code, Cursor และ OpenClaw ถ้าคุณมาจากตัวเชื่อมต่อในตัวของ 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 โทเคน และคิวอาร์โค้ด เซิร์ฟเวอร์ผูกกับเครือข่ายในบ้านของคุณเท่านั้น และแอปแสดงที่อยู่ที่มันรับฟังอยู่อย่างชัดเจน

2. ชี้ไคลเอนต์ของคุณไปที่มัน

แทนที่ <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 กับโทเคนข้างต้น ไม่ต้องใช้เทอร์มินัล

Claude Desktop (ตั้งค่าเอง), Cursor หรือไคลเอนต์ใดก็ได้ที่ใช้ 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"}'

เครื่องมือ

การอ่านมีอยู่เสมอ การเขียนเป็นสวิตช์ที่สอง เมื่อคุณเปิด อนุญาตให้ AI เขียนข้อมูล ใต้ MCP ในเครื่อง เซิร์ฟเวอร์ของโทรศัพท์จะแสดงเครื่องมือเขียนสิบสองตัวชุดเดียวกับ MCP คลาวด์ (log_meal, log_water, log_weight, log_workout, log_strength, log_sleep, log_symptom, log_mood, edit_entry, delete_entry, set_targets, undo_entry) ซึ่งมีผลทันทีบนโทรศัพท์และเขียนลง Apple Health ทุกรายการยกเลิกได้ เมื่อปิด เซิร์ฟเวอร์จะอ่านได้อย่างเดียว

เครื่องมือสิ่งที่ส่งคืน
health_summaryวันล่าสุดครอบคลุมกิจกรรม หัวใจ การนอนหลับ และโภชนาการ
list_metricsทุกตัวชี้วัดที่ติดตาม พร้อมหน่วยและความครอบคลุม
metric_dailyค่ารายวันของตัวชี้วัดใดก็ได้ สูงสุด 400 วัน
metric_samplesระเบียนดิบพร้อมเวลาและอุปกรณ์ต้นทาง
workoutsการออกกำลังกายจากทุกแหล่ง บนโทรศัพท์มีเซสชันเวทเทรนนิ่งของ Marrow ทีละเซ็ตด้วย
nutrition_logไดอารี่อาหารพร้อมรายละเอียดสารอาหารครบถ้วน
strength_logทุกเซ็ตที่ยกพร้อมชนิดของเซ็ต 1RM โดยประมาณต่อท่า และปริมาณต่อกลุ่มกล้ามเนื้อ เซ็ตวอร์มอัปไม่นับรวมในปริมาณหรือสถิติ
sleep_logหนึ่งคืนต่อวันที่ตื่น: เวลาเข้านอน เวลาตื่น ชั่วโมงที่หลับ นาทีต่อระยะ (มิเรอร์ที่โฮสต์เอง)
symptoms_and_moodอาการพร้อมความรุนแรง และรายการ State of Mind พร้อมความรู้สึกและสิ่งที่เกี่ยวข้อง (มิเรอร์ที่โฮสต์เอง)

อีกสี่ตัวบนมิเรอร์ที่โฮสต์เองและบน MCP คลาวด์ เริ่มต้นตรงที่การอ่านดิบหยุด คือแต่ละค่าถูกให้คะแนนเทียบกับค่าปกติย้อนหลังของตัวคุณเอง ด้วยการคำนวณเดียวกับหน้าแรกของแอป (ไม่รวมวันนั้นเอง) เอเจนต์จึงเริ่มจากการอ่านที่จริงสำหรับคุณแล้ว แทนที่จะตัดสินตัวเลขเทียบกับประชากรทั่วไป

เครื่องมือสิ่งที่ส่งคืน
daily_briefหนึ่งวัน: แต่ละตัวชี้วัดหลักพร้อมค่าและถ้อยคำของแอปเอง (ปกติสำหรับคุณ สูงกว่าปกติของคุณ ต่ำกว่าปกติของคุณมาก) อาหารและน้ำเทียบกับเป้าหมาย การนอนหลับเมื่อคืน การฝึกที่ทำ อารมณ์และอาการ และสิ่งที่ควรกล่าวถึง
baselinesค่าปกติของคุณต่อตัวชี้วัด: ค่าเฉลี่ยและการกระจายในช่วงเวลา z และถ้อยคำของค่าล่าสุด ค่าเฉลี่ย 7 วัน และแนวโน้ม 90 วันต่อเดือน
what_changedสัปดาห์ล่าสุดเทียบกับสี่สัปดาห์ก่อนหน้า: อะไรเปลี่ยนและน่าสังเกตสำหรับคุณแค่ไหน อาหาร การฝึก การเปลี่ยนแปลงของการนอนและเวลาเข้านอน สตรีมข้อมูลที่เริ่มหรือหยุดเข้ามา
data_qualityสิ่งที่มิเรอร์เก็บอยู่และสดใหม่แค่ไหน: ต่อตัวชี้วัดคือวันล่าสุด ความครอบคลุม ความถี่ แหล่งที่มา และล้าสมัยหรือยัง เอเจนต์จึงไม่เข้าใจช่องว่างเป็นข้อเท็จจริง

เซิร์ฟเวอร์บนอุปกรณ์ให้บริการเครื่องมือดิบเจ็ดตัวแรกพร้อม daily_brief และ baselines (อ่านได้เก้าอย่าง) มิเรอร์ที่โฮสต์เองให้บริการทั้งสิบสามตัว เช่นเดียวกับสำเนา MCP คลาวด์ที่โฮสต์ให้ ทุกการอ่านบนมิเรอร์รับค่าจำนวนวันย้อนหลังหรือจากและถึงตามปฏิทินของโทรศัพท์ และมิเรอร์ยังมีพรอมต์สี่ตัว (how_am_i_doing, weekly_review, doctor_prep, log_from_text) และทรัพยากรสี่รายการสำหรับไคลเอนต์ที่แสดงสิ่งเหล่านี้ ตัวอย่างดิบมีระยะการนอนหลับและความรุนแรงของอาการ

มีตัวชี้วัด Apple Health 172 ตัวอยู่เบื้องหลัง list_metrics บวกข้อมูลไดอารี่และเวทเทรนนิ่งของ Marrow เองอยู่เบื้องหลัง nutrition_log และ strength_log ครอบคลุมกิจกรรม หัวใจ การนอนหลับ ร่างกาย ระบบหายใจ การเคลื่อนไหว การได้ยิน โภชนาการ จิตใจ อาการ รอบเดือน และนิสัย หน้านี้ฉบับที่เครื่องอ่านได้: tools.json.

ให้ทำงานต่อเมื่อโทรศัพท์ไม่อยู่

เซิร์ฟเวอร์บนอุปกรณ์ตอบขณะที่แอปกำลังทำงาน หากต้องการเข้าถึงตลอด 24 ชั่วโมง ให้จับคู่มิเรอร์ที่โฮสต์เอง: ไฟล์ Python stdlib หนึ่งไฟล์บน Pi, NAS หรือแล็ปท็อปเครื่องเก่า การส่งข้อมูลเบื้องหลังของโทรศัพท์ทำให้ข้อมูลทันสมัย และมันพูด MCP แบบเดียวกันที่ http://<server-ip>:8800/mcp ด้วยโทเคนของตัวเอง เครื่องมือของโทรศัพท์ใช้คีย์ตัวชี้วัดของแอป (active_energy, heart_rate_variability) เซิร์ฟเวอร์รับทั้งคีย์เหล่านั้นและชื่อสั้นของ Apple (active_energy_burned) เอเจนต์จึงสลับไปมาได้โดยไม่ต้องเรียนรู้ใหม่ เป็นโอเพนซอร์สและติดตั้งได้:

pip install marrow-mcp
marrow-server

ซอร์ส: github.com/MarrowHealth/marrow-mcp ขึ้นทะเบียนในทะเบียน MCP อย่างเป็นทางการในชื่อ tech.skeletonarmy/marrow.

อย่าทำ port-forward ของเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่งออกสู่อินเทอร์เน็ตสาธารณะ ทั้งสองออกแบบมาสำหรับ LAN หรือ tailnet หากต้องการเข้าถึงระยะไกล ให้วาง tailscale serve หรือสิ่งเทียบเท่าไว้ด้านหน้า เพื่อให้การส่งข้อมูลเป็น HTTPS และอุปกรณ์ได้รับการยืนยันตัวตนก่อนที่ใครจะเห็น bearer token

การแก้ปัญหา

เริ่มจากการทดสอบด้านล่าง รันจากคอมพิวเตอร์ที่ AI ของคุณทำงานอยู่ มันบอกว่าปัญหาอยู่ฝั่งไหน ใช้ที่อยู่และโทเคนจากหน้าของการเชื่อมต่อใน 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 และรายการเครื่องมือโทรศัพท์ทำงานได้ ปัญหาอยู่ที่การตั้งค่าในแอปของคุณ ได้แก่ ที่อยู่ โทเคน หรือประเภทเซิร์ฟเวอร์ที่ไม่ใช่ HTTP (Streamable HTTP) แก้คอนฟิกแล้วรีสตาร์ทแอป
401 Unauthorizedโทเคนไม่ถูกต้อง หรือการเชื่อมต่อนี้ปิดอยู่ใน Marrow แต่ละการเชื่อมต่อใน การเชื่อมต่อของคุณ มีโทเคนของตัวเอง และการปิดหนึ่งรายการจะล็อกแอปนั้นออกในขณะที่อีกรายการยังทำงานต่อ เปิดใช้ หรือคัดลอกโทเคนอีกครั้ง
404 Not Found พร้อม use POST /mcppath ผิด ที่อยู่ต้องลงท้ายด้วย /mcp.
การเชื่อมต่อถูกปฏิเสธ หรือไม่มีการตอบจนหมดเวลาคอมพิวเตอร์เข้าถึงโทรศัพท์ไม่ได้ ไล่ดูรายการด้านล่าง

ขั้นตอนตั้งค่าและวิธีแก้สำหรับแต่ละแอป เช่น Claude Code, Cursor, VS Code และอื่นๆ อยู่ในการเชื่อมต่อ.

ค่าใช้จ่าย

ไม่มีเลย การเข้าถึงของเอเจนต์อยู่ในระดับฟรี พร้อมการซิงค์เบื้องหลัง การส่งออกอัตโนมัติ การส่งออก CSV และ JSON และการสแกนบาร์โค้ด Health Auto Export ออกเซิร์ฟเวอร์ MCP ก่อน Marrow และก็ดี แต่ของเขาต้องสมัครสมาชิก Premium ความต่างนั้น ไม่ใช่การเป็นรายแรก คือสิ่งที่ควรพูดถึง

ข้อกำหนด