عن المشروع

Guava Health MCP هو خادم FastMCP مفتوح المصدر يغلف واجهة برمجة تطبيقات Guava Health للمطورين ويجعلها متاحة لمضيفي MCP مثل Cursor وClaude وChatGPT. يتوفر مثيل مستضاف على https://guavahealth.fastmcp.app/mcp، والمشروع مرخص بموجب MIT. لا يتبع المشروع لشركة Guava Health، Inc. الخادم للقراءة فقط بتصميمه ولا يخزن بيانات الصحة؛ فهو يعمل كوسيط لقراءة واجهة Guava API مباشرة بعد أن يأذن المستخدم بالوصول. الإصدار 0.1 يوفر سبع أدوات: guava_auth_status (هل Guava متصل للمستخدم الحالي في MCP)، guava_begin_connect (يبدأ OAuth لـ Guava مع PAR وPKCE ويعيد رابط التفويض)، guava_disconnect (يحذف الرموز المخزنة لذلك المستخدم)، guava_get_me (الملف الشخصي/الموضوع)، guava_search_sleep (جلسات النوم)، guava_search_activities (التمارين والأنشطة) وguava_search_metrics (المقاييس المفلترة حسب أنواع مثل الخطوات أو vo2_max). عمليات الكتابة خارج نطاق هذا الإصدار. تستخدم المعمارية طبقتين من OAuth. مصادقة عميل MCP تتم عبر تطبيق OAuth على GitHub لتتمكن المضيفات من الاتصال بأمان ودعم مستخدمين متعددين. جانب واجهة Guava Health API يستخدم تطبيقًا سريًا لـ Guava API مع PAR وPKCE (S256) وتدوير رمز التحديث. التدفق الموثق: المضيف MCP يصادق عبر GitHub OAuth إلى guavahealth.fastmcp.app، الذي يتواصل بدوره مع api.guavahealth.com عبر OAuth 2.1 الخاص بـ Guava. الإعداد يتطلب تسجيل تطبيق Guava API في بوابة Guava API مع URI إعادة التوجيه الدقيق https://guavahealth.fastmcp.app/oauth/callback، وتمكين الوصول في الخلفية طويل الأمد والنطاقات المطلوبة للقراءة، ثم تزويد GUAVA_CLIENT_ID وGUAVA_CLIENT_SECRET. يلزم أيضًا تطبيق OAuth على GitHub مع الصفحة الرئيسية https://guavahealth.fastmcp.app واستدعاء https://guavahealth.fastmcp.app/auth/callback، لتوفير GITHUB_CLIENT_ID وGITHUB_CLIENT_SECRET. متغيرات البيئة تشمل PUBLIC_BASE_URL، GUAVA_ENV (test أو live)، تجاوز اختياري لـ GUAVA_API_BASE، GUAVA_TOKEN_ENCRYPTION_KEY (مفتاح Fernet لتشفير مخزن الرموز عند الراحة)، رمز حامل مشترك اختياري MCP_AUTH_TOKEN للأتمتة، ومفتاح توقيع JWT اختياري FASTMCP_JWT_SIGNING_KEY. يوضح ملف README كيفية إنشاء مفتاح Fernet باستخدام حزمة cryptography. ملاحظات النشر تشير إلى نقطة دخول Horizon هي main.py (أو main.py:mcp) ورابط MCP. للاستخدام المحلي، يستخدم المشروع uv: uv sync ثم uv run python main.py، ويخدم على http://127.0.0.1:8000/mcp. أوامر التطوير: uv sync --group dev وuv run pytest -q. إرشادات الأمان في README توصي بأدنى النطاقات وأدوات القراءة فقط أولاً، عدم الالتزام بملفات .env أو الرموز أو استجابات واجهة الصحة، تشفير مخزن الرموز عند تعيين GUAVA_TOKEN_ENCRYPTION_KEY، وإعادة توصيل Guava بعد إعادة التشغيل الباردة إذا كانت أقراص Horizon مؤقتة. السجلات تخفي أسرار العملاء حيثما أمكن، وينصح README بعدم تفريغ حمولات API الكاملة في سياق النموذج عندما تكفي إجابة ضيقة.