Marrow Health
AR
تنزيل

اربط وكيلًا بـ Marrow

يقدّم Marrow بيانات Apple Health عبر Model Context Protocol، من iPhone الخاص بك أو من خادمك الخاص. سبع أدوات للقراءة فقط على الهاتف، وثلاث عشرة على خادمك (أربع منها تجيب بمصطلحات التطبيق نفسه، مقيّمة مقابل معدلك الطبيعي)، ومصادقة برمز bearer، وبلا حساب في أي مكان. هذه الصفحة هي الإعداد كله.

وكيل على جهاز آخر، أو تحتاج إلى إجابات والهاتف نائم؟ اقرن النسخة المطابقة المستضافة ذاتيًا (pip install marrow-mcp): تجيب على مدار الساعة لـ 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 اللذين يعرضهما لي إلى إعدادات MCP لديك كخادم Streamable HTTP. وإذا لم تستطع تعديل تلك الإعدادات بنفسك، فأخبرني بالملف بالضبط وما ألصقه. وثائق الإعداد: https://marrowhealthapp.com/mcp. وعندما يتصل، استدعِ health_summary لآخر 7 أيام وأخبرني بما يلفت النظر.

1. شغّل الخادم

يأتي متوقفًا. في التطبيق: تصدير ← MCP محلي، ثم فعّل الخادم. تحصل على URL ورمز ورمز QR. يرتبط الخادم بشبكتك المحلية فقط، ويعرض التطبيق العنوان الذي يستمع عليه بالضبط.

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"}'

الأدوات

القراءات موجودة دائمًا. والكتابات مفتاح ثانٍ. من 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) بعد أن تشغّل السماح للذكاء الاصطناعي بالكتابة تحت MCP محلي، وتُطبَّق فورًا على الهاتف وتُكتب في Apple Health، وكل واحدة منها قابلة للتراجع. وعند إيقافه يكون الخادم للقراءة فقط.

الأداةما تعيده
health_summaryالأيام الأخيرة عبر النشاط والقلب والنوم والتغذية
list_metricsكل مقياس يُتتبَّع، مع الوحدات والتغطية
metric_dailyقيم يومية لأي مقياس، حتى 400 يوم
metric_samplesسجلات خام مع الطوابع الزمنية والأجهزة المصدر
workoutsالتمارين من كل مصدر. وعلى الهاتف أيضًا جلسات القوة في Marrow جولةً بجولة
nutrition_logيوميات الطعام مع التفصيل الكامل للعناصر الغذائية
strength_logكل جولة رفع مع نوعها، وأقصى وزن مقدَّر لتكرار واحد لكل تمرين، والحجم لكل مجموعة عضلية. جولات الإحماء لا تُحتسب أبدًا في الحجم أو الأرقام القياسية
sleep_logليلة واحدة لكل يوم استيقاظ: وقت النوم ووقت الاستيقاظ وساعات النوم والدقائق لكل مرحلة (النسخة المطابقة المستضافة ذاتيًا)
symptoms_and_moodالأعراض مع شدتها، وإدخالات State of Mind مع المشاعر وما كانت بسببه (النسخة المطابقة المستضافة ذاتيًا)

أربع أدوات أخرى على النسخة المطابقة المستضافة ذاتيًا وعلى MCP Cloud. تبدأ من حيث تتوقف القراءات الخام: تُقيَّم كل قيمة مقابل معدلك الطبيعي اللاحق بالحساب نفسه الذي تستخدمه الصفحة الرئيسية في التطبيق (دون اليوم نفسه)، فيبدأ الوكيل من قراءة صحيحة لك بالفعل بدلًا من الحكم على رقم مقابل عموم الناس.

الأداةما تعيده
daily_briefيوم واحد: كل مقياس رئيسي بقيمته وعبارة التطبيق نفسه (طبيعي بالنسبة لك، أعلى من معدلك الطبيعي، أقل بكثير من معدلك الطبيعي)، والطعام والماء مقابل أهدافك، ونوم الليلة الماضية، والتدريب المنجز، والمزاج والأعراض، وتنبيهات تستحق الذكر
baselinesمعدلك الطبيعي لكل مقياس: المتوسط والانتشار على النافذة، وقيمة z لآخر قيمة وعبارتها، ومتوسط 7 أيام والاتجاه على 90 يومًا في الشهر
what_changedالأسبوع الأخير مقابل الأسابيع الأربعة قبله: ما تحرّك ومدى أهميته بالنسبة لك، والطعام والتدريب وتغيّرات النوم ووقت النوم، والتدفقات التي بدأت أو توقفت عن الوصول
data_qualityما تحتفظ به النسخة المطابقة ومدى حداثته: لكل مقياس آخر يوم والتغطية والوتيرة والمصادر وهل تقادم، فلا يخلط الوكيل أبدًا بين فجوة وحقيقة

يقدّم الخادم على الجهاز الأدوات الخام السبع الأولى إضافةً إلى daily_brief وbaselines (تسع قراءات). وتقدّم النسخة المطابقة المستضافة ذاتيًا الثلاث عشرة كلها، وكذلك نسخة MCP Cloud المستضافة. وتقبل كل قراءة على النسخة المطابقة عدد أيام للخلف أو from وto بحسب تقويم الهاتف، كما تقدّم النسخة أربعة موجّهات (how_am_i_doing وweekly_review وdoctor_prep وlog_from_text) وأربعة موارد للعملاء الذين يعرضونها. وتحمل العينات الخام مراحل النوم وشدة الأعراض.

هناك 172 مقياسًا من Apple Health خلف list_metrics، إضافةً إلى بيانات اليوميات والقوة الأصلية في Marrow خلف nutrition_log وstrength_log، وتغطي النشاط والقلب والنوم والجسم والتنفس والحركة والسمع والتغذية والذهن والأعراض والدورة والعادات. النسخة المقروءة آليًا من هذه الصفحة: tools.json.

إبقاؤه يعمل حين لا يعمل الهاتف

يجيب الخادم على الجهاز ما دام التطبيق يعمل. وللوصول على مدار الساعة، اقرن نسخة مطابقة مستضافة ذاتيًا: ملف Python واحد بالمكتبة القياسية على 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.

لا تفتح منفذًا لأي من الخادمين على الإنترنت المفتوح. كلاهما مصمم لشبكة محلية أو tailnet. وإذا احتجت إلى وصول عن بُعد، فضع أمامه tailscale serve أو ما يعادله، ليكون النقل عبر HTTPS ويُوثَّق الجهاز قبل أن يُرى رمز bearer.

استكشاف الأخطاء وإصلاحها

ابدأ بالاختبار أدناه، من الحاسوب الذي يعمل عليه ذكاؤك الاصطناعي. فهو يخبرك في أي جانب المشكلة. استخدم العنوان والرمز من صفحة الاتصال في 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 /mcpالمسار خاطئ. ينتهي العنوان بـ /mcp.
رفض الاتصال، أو لا إجابة حتى تنتهي المهلةلا يستطيع الحاسوب الوصول إلى الهاتف. اتبع القائمة أدناه.

الإعداد والحلول لكل تطبيق على حدة، Claude Code وCursor وVS Code وغيرها، تحت الاتصالات.

كم يكلّف هذا

لا شيء. الوصول للوكلاء في الفئة المجانية، مع المزامنة في الخلفية والتصدير التلقائي وتصدير CSV وJSON ومسح الباركود. أطلق Health Auto Export خادم MCP قبل Marrow، وهو جيد، لكن خادمهم يتطلب اشتراك Premium. هذا الفرق، وليس الأسبقية، هو الادعاء الجدير بالقول.

المتطلبات