منصوبے کے بارے میں

Guava Health MCP ایک اوپن سورس FastMCP سرور ہے جو Guava Health ڈویلپر API کو لپیٹتا ہے اور اسے Cursor، Claude اور ChatGPT جیسے MCP میزبانوں کے لیے دستیاب کراتا ہے۔ ایک میزبانی شدہ مثال https://guavahealth.fastmcp.app/mcp پر دستیاب ہے، اور یہ پروجیکٹ MIT لائسنس یافتہ ہے۔ اس کا Guava Health, Inc. سے کوئی الحاق نہیں ہے۔ یہ سرور ڈیزائن کے لحاظ سے صرف پڑھنے کے لیے ہے اور صحت کے پے لوڈز کو محفوظ نہیں کرتا؛ صارف کی رسائی کی اجازت کے بعد یہ لائیو Guava API ریڈز کی پراکسینگ کرتا ہے۔ ورژن 0.1 سات ٹولز فراہم کرتا ہے: guava_auth_status (آیا موجودہ MCP صارف کے لیے Guava منسلک ہے)، guava_begin_connect (PAR اور PKCE کے ساتھ Guava OAuth شروع کرتا ہے اور authorization_url واپس دیتا ہے)، guava_disconnect (اس صارف کے محفوظ کردہ ٹوکنز ہٹاتا ہے)، guava_get_me (پروفائل/سبجیکٹ)، guava_search_sleep (نیند کے سیشنز)، guava_search_activities (ورک آؤٹس اور سرگرمیاں) اور guava_search_metrics (اقسام جیسے steps یا vo2_max کے لحاظ سے فلٹر کردہ میٹرکس)۔ لکھنے کے آپریشنز واضح طور پر اس ورژن کے دائرہ کار سے باہر ہیں۔ آرکیٹیکچر دو OAuth پرتوں کا استعمال کرتا ہے۔ MCP کلائنٹ کی تصدیق GitHub OAuth ایپ کے ذریعے ہوتی ہے تاکہ میزبان محفوظ طریقے سے جڑ سکیں اور متعدد صارفین کو سپورٹ کیا جائے۔ Guava Health API کی طرف PAR، PKCE (S256) اور ریفریش ٹوکن گردش کے ساتھ ایک خفیہ Guava API ایپ استعمال ہوتی ہے۔ دستاویزی بہاؤ یہ ہے: MCP میزبان GitHub OAuth کے ذریعے guavahealth.fastmcp.app پر تصدیق کرتا ہے، جو اس کے بعد Guava OAuth 2.1 پر api.guavahealth.com سے بات کرتا ہے۔ سیٹ اپ کے لیے Guava API پورٹل پر عین اس ری ڈائریکٹ URI https://guavahealth.fastmcp.app/oauth/callback کے ساتھ Guava API ایپ رجسٹر کرنا، طویل المدتی بیک گراؤنڈ رسائی اور مطلوبہ پڑھنے کے اسکوپس کو فعال کرنا، پھر GUAVA_CLIENT_ID اور GUAVA_CLIENT_SECRET فراہم کرنا ضروری ہے۔ ایک GitHub OAuth ایپ بھی درکار ہے، جس کا ہوم پیج 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 مشترکہ بیئرر، اور اختیاری FASTMCP_JWT_SIGNING_KEY شامل ہیں۔ README بتاتا ہے کہ cryptography پیکیج سے Fernet کلید کیسے بنائی جائے۔ ڈپلائمنٹ نوٹس میں main.py (یا main.py:mcp) کا Horizon انٹری پوائنٹ اور MCP URL کا ذکر ہے۔ مقامی استعمال کے لیے پروجیکٹ 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 فائلوں، ٹوکنز یا صحت API کے جوابات کو کبھی کمٹ نہ کیا جائے، GUAVA_TOKEN_ENCRYPTION_KEY سیٹ ہونے پر ٹوکن اسٹور کو انکرپٹ کیا جائے، اور Horizon ڈسکیں عارضی ہوں تو کولڈ اسٹارٹ کے بعد Guava سے دوبارہ جڑا جائے۔ لاگز میں جہاں ممکن ہو کلائنٹ سیکرٹس کو ہٹا دیا جاتا ہے، اور README مشورہ دیتا ہے کہ جب ایک مختصر جواب کافی ہو تو مکمل API پے لوڈز کو ماڈل سیاق و سباق میں نہ ڈالا جائے۔