
McButler کیا ہے
McButler (میک ڈونلڈز کا سیلف سروس بٹلر) میک ڈونلڈز کے آفیشل MCP پر مبنی آرڈرنگ معاون منصوبہ ہے۔ یہ صرف قیمت کی بنیاد پر کومبو تجویز نہیں کرتا بلکہ بجٹ، صحت، وقت، غذائی پابندیوں اور ذاتی ترجیحات جیسی شرائط کو بیک وقت مدِنظر رکھنے کی کوشش کرتا ہے۔
یہ منصوبہ WorkBuddy Skill کے طور پر استعمال کیا جا سکتا ہے، یا مقامی CLI کے ذریعے بلٹ اِن ڈیمو ڈیٹا کے ساتھ چلایا جا سکتا ہے۔ ڈویلپرز اس کے ڈیٹا پارسنگ اور اسکورنگ ماڈیولز کو دوبارہ استعمال کر کے McDonald's MCP سے واپس آنے والا ڈیٹا اپنے کلائنٹ میں شامل کر سکتے ہیں۔

پروجیکٹ کا ریپوزٹری GitHub پر موجود ہے، جبکہ میک ڈونلڈز کا مختصر تھیٹر آن لائن تجرباتی صفحہ بھی فراہم کرتا ہے۔ واضح رہے کہ McButler ایک آزاد مقابلہ جاتی تخلیق ہے، میک ڈونلڈز کی آفیشل پروڈکٹ نہیں۔
چھ بنیادی صلاحیتیں
1. روزانہ کی تجاویز
recommend کفایت، صحت اور مقبولیت کے تین موڈز فراہم کرتا ہے۔ یہ مختلف ترتیب دینے کی منطق استعمال کرتے ہیں، محض ایک ترتیب والے فیلڈ کو تبدیل نہیں کرتے۔
- کفایتی موڈ: قیمت کی معمولی قدر، رعایت کی شدت اور ہر 100 kcal کی قیمت کو ملا کر دیکھتا ہے، تاکہ کم مقدار والی اشیا صرف کم کل قیمت کی وجہ سے اوپر نہ آ جائیں۔
- صحت کا موڈ: صحت کے اسکور اور توانائی کی مطابقت کو یکجا کرتا ہے، اور ان امیدواروں کو ترجیح دیتا ہے جن کے لیے حقیقی غذائی اعداد و شمار دستیاب ہوں۔
- مقبولیت کا موڈ: مقبول آئٹم کے ٹیگ، تاریخی طور پر بار بار آرڈر کی گئی اشیا اور رعایت کو یکجا کرتا ہے۔
2. صحت کا معائنہ
health اس منصوبے کا تکنیکی مرکز ہے۔ چونکہ غذائی انٹرفیس صرف انفرادی اشیا کا ڈیٹا فراہم کرتا ہے، McButler پہلے کومبو کی تفصیلات پڑھتا ہے، کومبو کو اس کے طے شدہ اجزا میں تقسیم کرتا ہے، پھر ہر جزو کو غذائی جدول سے ملاتا اور کیلوریز، پروٹین، چکنائی، سوڈیم اور کیلشیم وغیرہ کا مجموعہ بناتا ہے۔
کومبو کی تفصیلات
→ طے شدہ اجزا پڑھیں
→ ہر آئٹم کا غذائی ڈیٹا ملائیں
→ غذائی اقدار کا مجموعہ بنائیں
→ صحت کا اسکور اور کٹوتی کے عوامل شمار کریںصحت کی درجہ بندی 100 نمبروں کے پیمانے پر ہے۔ اس میں توانائی کی حد، پروٹین، توانائی میں چکنائی کا تناسب، سوڈیم، شکر و چکنائی کا بوجھ اور سبزی و پھل کے اضافی نمبر شامل ہیں۔ تفصیلی فارمولہ ریپوزٹری میں موجود references/model-spec.md میں دیکھا جا سکتا ہے۔
3. اسٹور کی مکمل لاگت کا موازنہ
stores قریب ترین، سستے ترین یا مجموعی مکمل لاگت کی بنیاد پر اسٹور منتخب کر سکتا ہے۔ متوازن موڈ صرف اشیا کی قیمت نہیں دیکھتا بلکہ آنے جانے کا فاصلہ، پیدل چلنے کا وقت اور قطار میں انتظار کے وقت کو بھی لاگت میں تبدیل کرتا ہے۔
مکمل لاگت = اشیا کی قیمت
+ فاصلے کی لاگت (آنے جانے کے 0.5 یوان/km)
+ وقت کی لاگت (آنے جانے کا پیدل وقت + قطار کا وقت) × 0.30 یوان/منٹاس لیے قریب ترین اسٹور لازماً سب سے زیادہ کفایتی نہیں ہوتا۔ قطار میں انتظار کا وقت فی الحال MCP انٹرفیس براہِ راست فراہم نہیں کرتا، اسے صارف کو درج یا تخمینہ کرنا ہوگا۔
4. گروپ کھانے کی ترتیب
bulk انتظامی، HR، جماعتی اور ٹیم کے کھانے کے آرڈر کے حالات کے لیے ہے۔ یہ افراد کی تعداد، فی فرد بجٹ، گائے کا گوشت نہ کھانے اور مرچ مصالحہ نہ کھانے جیسی شرائط کے مطابق گروپ بنا کر کھانے ترتیب دے سکتا ہے، اور ایسا orderItems تیار کرتا ہے جسے قیمت کے حساب کے مرحلے میں آگے بھیجا جا سکتا ہے۔
نتائج میں گروپ کے افراد کی تعداد، کومبو کی تعداد، کل قیمت، فی فرد قیمت، بچت کی رقم اور فی فرد کیلوریز وغیرہ شامل ہوتی ہیں۔ تاہم، ”گائے کا گوشت نہ کھانے“ کا فلٹر فی الحال کھانے کے نام میں موجود کلیدی الفاظ پر منحصر ہے، اس لیے ان اشیا کی شناخت یقینی نہیں جن کے اجزا مینو میں واضح طور پر درج نہیں۔
5. میک رسک اسکور
credit صارف قرض کی اسکورنگ کارڈ سے متاثر ہو کر اکاؤنٹ اور ہر آرڈر کے لیے 300 سے 950 تک کا میک رسک اسکور شمار کرتا ہے۔ چھ جہتوں میں ادائیگی کی پابندی کا استحکام، خرچ کرنے کی رفتار، بجٹ کی پابندی، رعایت کے استعمال کی شرح، اکاؤنٹ کے اثاثے اور ذائقے کا تنوع شامل ہیں۔
اسکورنگ کا نتیجہ ہر جہت کا اسکور اور اس کے ڈیٹا کا ماخذ دکھاتا ہے، صرف ایسا ناقابلِ تشریح مجموعی اسکور نہیں دیتا۔ یہ خصوصیت تفریحی صارف تجزیہ ہے اور حقیقی مالیاتی کریڈٹ تشخیص کی نمائندگی نہیں کرتی۔
6. میک ڈونلڈز کا مختصر تھیٹر
theater رعایتی کوپن، میک رسک اسکور اور کیلوریز کے ڈیٹا کی بنیاد پر پانچ کرداروں کے درمیان آرڈر پر بحث تیار کرتا ہے، اور ایک واحد HTML فائل تیار کرتا ہے۔ تیار کردہ صفحے کو اضافی انحصارات کی ضرورت نہیں، اسے براہِ راست براؤزر میں کھولا جا سکتا ہے۔
چلانے کا ماحول تیار کریں
مقامی موڈ کے لیے صرف Python 3.8 یا اس سے نیا ورژن درکار ہے، اور یہ صرف Python کی معیاری لائبریری استعمال کرتا ہے، کسی تیسرے فریق کے پیکیج کی تنصیب ضروری نہیں۔ آن لائن MCP موڈ کے لیے ایک قابلِ استعمال MCP Token درکار ہے۔
ریپوزٹری کلون کریں اور خودکار جانچ چلائیں
git clone https://github.com/jouaaaaaa/mcd-self-butler.git
cd mcd-self-butler
python scripts/selftest.pyخودکار جانچ میں 9 آف لائن کیسز شامل ہیں، جو صحت کے معائنے، تینوں تجاویز، اکاؤنٹ اور آرڈر کے میک رسک اسکور، گروپ کھانے، اسٹور کے موازنے اور صرف متنی مختصر تھیٹر کا احاطہ کرتے ہیں۔ سب کے کامیاب ہونے کا مطلب ہے کہ مقامی ماحول اور ڈیمو ڈیٹا درست طور پر کام کر سکتے ہیں۔
طریقہ اول: WorkBuddy میں Skill کے طور پر انسٹال کریں
ریپوزٹری میں موجود
SKILL.md،scripts/اورreferences/کو درج ذیل فولڈر میں رکھیں:~/.workbuddy/skills/mcd-self-butler/WorkBuddy میں ”ماہر·Skills·کنیکٹرز“ پر جائیں، پھر بالترتیب ”کنیکٹرز“، ”کسٹم کنیکٹرز“ اور ”MCP ترتیب دیں“ منتخب کریں۔
میک ڈونلڈز MCP کی Streamable HTTP ترتیب درج کریں اور placeholder کو اپنے Token سے تبدیل کریں:
{ "mcpServers": { "mcd-mcp": { "type": "streamablehttp", "url": "https://mcp.mcd.cn", "headers": { "Authorization": "Bearer 你的_MCP_TOKEN" } } } }mcd-mcpکنیکٹر فعال کریں، پھر قدرتی زبان میں اپنی ضرورت بیان کریں۔
آپ درج ذیل درخواستوں سے آغاز کر سکتے ہیں:
- ”میں نانجنگ ویسٹ روڈ پر ہوں، قریب کون سا میک ڈونلڈز بگ میک کے تین آئٹمز والے کومبو کے لیے سب سے زیادہ کفایتی ہے؟“
- ”دیکھیں اس کومبو میں کتنی کیلوریز ہیں، اور کیا اسے زیادہ صحت بخش طریقے سے تبدیل کیا جا سکتا ہے؟“
- ”محکمے کے 30 افراد کے لیے گروپ کھانا، فی فرد 30 یوان، 5 افراد گائے کا گوشت نہیں کھاتے۔“
- ”میرا میک رسک اسکور کیا ہے؟“
- ”کھانا آنے تک بہت بور ہو رہا ہوں، انہیں آپس میں بحث کرنے دو۔“
طریقہ دوم: مقامی CLI استعمال کریں
مقامی CLI ریپوزٹری میں موجود ڈیمو snapshot استعمال کرتا ہے، اس کے لیے Token یا انٹرنیٹ کنکشن کی ضرورت نہیں۔ چھوں صلاحیتوں کو یکساں طور پر scripts/mcd_butler.py کے ذریعے چلایا جاتا ہے۔
کومبو کی غذائیت چیک کریں
python scripts/mcd_butler.py health \
--nutrition demo/nutrition.txt \
--combo demo/combo_9900011128.jsonیہ کمانڈ کومبو کو تقسیم کرے گی، غذائی جدول سے مطابقت پیدا کرے گی اور مجموعی نتیجہ تیار کرے گی۔ آؤٹ پٹ میں ہر جزو کا غذائی ڈیٹا، کومبو کا مجموعہ، صحت کا اسکور اور کٹوتی کی مخصوص وجوہات شامل ہوں گی۔
صحت بخش تجویز حاصل کریں
python scripts/mcd_butler.py recommend \
--menu demo/menu_1450118.json \
--nutrition demo/nutrition.txt \
--mode healthy \
--meal lunch \
--budget 45 \
--top 5 \
--details demo/details.json--mode healthy کا مطلب صحت کا موڈ استعمال کرنا ہے، --meal lunch دوپہر کے کھانے کا منظر متعین کرتا ہے، --budget 45 بجٹ کو 45 یوان تک محدود کرتا ہے، اور --top 5 پہلے پانچ نتائج واپس کرتا ہے۔
دیگر حکمتِ عملی آزمانے کے لیے CLI میں معاون موڈ کے مطابق کفایتی یا مقبولیت کی منطق استعمال کریں۔ مختلف موڈز کے نتائج نمایاں طور پر مختلف ہو سکتے ہیں، کیونکہ ان میں قدر کے مختلف فنکشن استعمال ہوتے ہیں۔
میک رسک اسکور شمار کریں
python scripts/mcd_butler.py credit \
--orders demo/orders.json \
--account demo/account.json \
--coupons demo/coupons.md \
--nutrition demo/nutrition.txtیہ کمانڈ تاریخی آرڈرز، اکاؤنٹ کی معلومات، کوپن اور غذائی ڈیٹا کو ملا کر مجموعی اسکور، درجہ بندی اور چھ جہتوں کی تفصیل آؤٹ پٹ کرتی ہے۔ ڈیمو ڈیٹا میں مثال کے طور پر نتیجہ 771 اسکور اور بگ میک درجے کا ہے، لیکن حقیقی اسکور ان پٹ ڈیٹا پر منحصر ہوگا۔
30 افراد کے لیے گروپ کھانا ترتیب دیں
python scripts/mcd_butler.py bulk \
--menu demo/menu_1450118.json \
--nutrition demo/nutrition.txt \
--headcount 30 \
--budget 30 \
--no-beef 5 \
--no-spicy 4یہاں 30 افراد، فی فرد 30 یوان بجٹ، 5 افراد کے لیے گائے کا گوشت نہ کھانے اور 4 افراد کے لیے مرچ مصالحہ نہ کھانے کی شرائط مقرر کی گئی ہیں۔ پروگرام گروپ بنا کر کومبو منتخب کرے گا اور ایسی آرڈر آئٹمز تیار کرے گا جن کی تعداد کا حساب کیا جا سکے۔
اسٹور کی مکمل لاگت کا موازنہ کریں
python scripts/mcd_butler.py stores \
--stores demo/stores.json \
--mode balancedbalanced موڈ فاصلے، وقت اور قیمت کو یکجا کرتا ہے۔ اپنا ڈیٹا استعمال کرتے وقت قطار میں انتظار کا وقت واضح طور پر فراہم یا تخمینہ کریں، مثال کی قدر کو حقیقی وقت کا نتیجہ نہ سمجھیں۔
میک ڈونلڈز کا مختصر تھیٹر تیار کریں
python scripts/mcd_butler.py theater \
--context demo/theater_context.json \
--out theater.htmlچلانے کے بعد موجودہ فولڈر میں theater.html تیار ہو جائے گی۔ کرداروں کی گفتگو، لفظ بہ لفظ بلبلوں اور حتمی فیصلے کا منظر دیکھنے کے لیے اسے براہِ راست براؤزر میں کھولیں۔
طریقہ سوم: اپنے MCP کلائنٹ سے مربوط کریں
ڈویلپرز انضمام کے دو طریقے استعمال کر سکتے ہیں۔
- خام جواب محفوظ کریں: MCP کلائنٹ میں اسٹور، مینو، تفصیلات، غذائیت، قیمت کے حساب، کوپن یا دیگر ٹولز کو کال کریں، خام جواب کو
demo/کی مثالوں کے مماثل مقصد والی فائل میں محفوظ کریں، پھر اسے CLI کے حوالے کریں۔ - ماڈیول کو براہِ راست کال کریں:
scripts/lib/میں موجود فنکشن درآمد کریں اور MCP سے واپس آنے والا Pythondictبراہِ راست منتقل کریں۔
ڈیٹا لوڈ کرنے والی سطح mcdata.py {"success": true, "data": ...} جیسا MCP خام جواب اور انسانی طور پر مختصر کیا گیا فارمیٹ، دونوں قبول کرتی ہے۔ اس لیے عموماً ٹول کا جواب براہِ راست محفوظ کیا جا سکتا ہے، پہلے دستی صفائی کی ضرورت نہیں ہوتی۔
پروجیکٹ کے آرکیٹیکچر کو سمجھیں
McButler کے پراسیسنگ کے بہاؤ کو چار سطحوں میں سمیٹا جا سکتا ہے:
- کلائنٹ سطح: WorkBuddy Agent یا کوئی اور MCP کلائنٹ درخواست شروع کرتا ہے۔
- MCP سروس سطح: اسٹور، مینو، تفصیلات، غذائیت، قیمت کے حساب، کوپن، پوائنٹس اور آرڈرز وغیرہ کا ڈیٹا حاصل کرتی ہے۔
- ڈیٹا لوڈ سطح:
mcdata.pyڈیٹا کو unpack، معمول پر لانے اور ناموں کی مبہم مطابقت کے لیے ذمہ دار ہے۔ - کاروباری ماڈل سطح:
health.py،credit.py،bulk.py،recommend.pyاورtheater.pyبالترتیب اسکورنگ، کھانے کی ترتیب، تجاویز اور اسکرپٹ تیار کرتے ہیں۔
mcd_butler.py متحد CLI داخلی راستہ ہے۔ یہ Markdown یا JSON آؤٹ پٹ کر سکتا ہے، جو انسانی جائزے کے لیے موزوں ہے اور بعد کے پروگراموں میں شامل کرنا بھی آسان ہے۔
اعلیٰ درجے کے استعمال کی تجاویز
کومبو کی تفصیلات کو ترجیح دیں
غذائی انٹرفیس صرف انفرادی اشیا کا ڈیٹا فراہم کرتا ہے۔ کومبو کا تجزیہ کرتے وقت بہتر ہے کہ کومبو کی تفصیلات بھی فراہم کی جائیں، تاکہ پروگرام طے شدہ اجزا کے مطابق ایک ایک آئٹم کا ڈیٹا تلاش کرے۔ اگر غذائی ڈیٹا کی ایک بھی مطابقت نہ ملے تو منصوبہ صحت کا اسکور ”—“ دکھاتا ہے، کوئی فرضی نتیجہ نہیں بناتا۔
منظر کے مطابق تجویز کا موڈ منتخب کریں
- بجٹ سخت ہو تو کفایتی موڈ استعمال کریں اور ہر 100 kcal کی قیمت پر توجہ دیں۔
- وزن کم کرنے یا فٹنس کے حالات میں صحت کا موڈ استعمال کریں، اور ساتھ ہی پروٹین، چکنائی اور سوڈیم کی کٹوتی کی تفصیلات چیک کریں۔
- مقبول کھانوں کو اپنی تاریخی ذاتی ترجیحات کے ساتھ ملانا ہو تو مقبولیت کا موڈ استعمال کریں۔
تکرار کے لیے MCP کا خام ڈیٹا محفوظ کریں
تجویز کردہ نتائج کو ڈیبگ کرتے وقت، اس وقت کا MCP خام جواب محفوظ کرنے کی تجویز دی جاتی ہے۔ اس طرح اگر بعد میں مینو، قیمتیں یا دستیابی تبدیل بھی ہو جائیں، تب بھی اسی ڈیٹا سے حساب کے عمل کو دوبارہ دہرایا جا سکتا ہے۔
ڈیٹا کے معیار میں فرق کریں
McButler ڈیٹا کے لیے تین درجے استعمال کرتا ہے:
- تصدیق شدہ: کومبو کو الگ الگ اجزا میں تقسیم کرکے ہر آئٹم کا مجموعہ نکالنے سے حاصل شدہ ڈیٹا۔
- سرکاری: براہِ راست انفرادی آئٹم کی غذائی جدول سے حاصل شدہ ڈیٹا۔
- تخمینہ: مکمل ڈیٹا نہ ہونے کی صورت میں کیا گیا تخمینی اندازہ، جسے واضح طور پر نشان زد کیا جاتا ہے۔
خودکار طور پر نتائج دکھاتے وقت ان نشانات کو حذف نہیں کرنا چاہیے۔ یہ صارفین کو ڈیٹا کے ماخذ اور قابلِ اعتماد ہونے کی سطح میں فرق کرنے کی یاد دہانی کراتے ہیں۔
کاروباری حدود چیک کریں
موجودہ گروپ کھانے کی سہولت میں کمپنی کے گروپ کھانے کی رعایت کے قواعد کی مشترکہ اصلاح ابھی شامل نہیں ہے؛ بیف نہ کھانے کا فیصلہ بنیادی طور پر ڈش کے نام کے کلیدی الفاظ سے کیا جاتا ہے؛ قطار میں انتظار کا وقت بھی واضح طور پر درج کرنا ضروری ہے۔ اس منصوبے کو حقیقی آرڈر کے لیے استعمال کرنے سے پہلے، قیمت، دستیابی اور کھانے کے اجزا کی دوبارہ تصدیق میک ڈونلڈز کے سرکاری ذرائع سے کر لینی چاہیے۔
غذائی تجزیہ صرف حوالہ کے لیے ہے اور طبی، غذائی یا کسی بھی دوسری پیشہ ورانہ सलाह کا متبادل نہیں۔ بیماری، حمل یا بچوں کی غذا سے متعلق معاملات میں کسی ماہر سے مشورہ کریں۔
اختتامیہ
McButler یہ دکھاتا ہے کہ MCP کے خام ڈیٹا کو قابلِ فہم صارف فیصلہ سازی میں کیسے تبدیل کیا جا سکتا ہے: کومبو کی تفصیل، غذائی اسکور اور اسٹور کی مکمل لاگت سے لے کر گروپ کھانے کی درجہ بندی، تفریحی اسکور اور تعاملی مواد تک، سب کچھ یکساں CLI یا WorkBuddy Skill کے ذریعے استعمال کیا جا سکتا ہے۔
پہلے تجربے کے لیے پہلے python scripts/selftest.py چلائیں، پھر باری باری health، recommend اور stores آزمائیں۔ آف لائن عمل کی تصدیق کے بعد MCP Token ترتیب دے کر حقیقی وقت کا ڈیٹا منسلک کریں۔
