
M taom hamrohi nima
M taom hamrohi — McDonald's MCP ma'lumotlariga asoslangan aqlli taom tanlash Skill'i. Siz shunchaki shahar, mo'ljal, byudjet, maksimal kaloriya va oqsil maqsadini kiritsangiz, u yaqin atrofdagi olib ketish mumkin bo'lgan restoranlarni qidiradi, joriy menyuni ozuqaviy ma'lumotlar bilan moslashtiradi va bajarish mumkin bo'lgan uchta taom kombinatsiyasini taqdim etadi.
Faqat bitta mahsulotni tavsiya qiladigan vositalardan farqli ravishda, M taom hamrohi har bir kombinatsiyaning narxi, kaloriyasi, oqsili, byudjetdan foydalanilishi, qolgan kaloriya miqdori va tavsiya sabablarini ko'rsatadi. Shuningdek, foydalanuvchi MCP chaqiruv zanjirini ochib, har bir Tool holati va sarflangan vaqtni ko'rishi mumkin.
Loyiha 2026 McDonald's dasturchilar ijodiy ishlab chiqish tanlovida qatnashadi, biroq u McDonald's kompaniyasining rasmiy mahsuloti emas. Taomlarning mavjudligi, narxi va aksiyalari McDonald's rasmiy kanallaridagi amaldagi ma'lumotlarga asoslanadi; natijalar tibbiy yoki ozuqaviy sohadagi professional maslahat hisoblanmaydi.
Loyiha qanday muammoni hal qiladi
Taom tanlashdagi qiyinchilik odatda variantlar yetishmasligi sababli emas, balki menyu, ozuqaviy ma'lumotlar, chegirmalar va shaxsiy maqsadlar turli joylarda tarqoq bo'lgani sababli yuzaga keladi. Foydalanuvchi bir vaqtning o'zida byudjet va kaloriyani nazorat qilishi, oqsil miqdorini oshirishni xohlashi va kombinatsiya to'liq ekanini baholashi kerak.
M taom hamrohining yondashuvi — avval foydalanuvchiga ushbu taomning chegaralarini belgilashga imkon berish, keyin esa aniq mahsulotlarni oldindan tanlatish o'rniga haqiqiy menyu asosida natijalarni hisoblashdir. U menyu narxlari, ozuqaviy ma'lumotlar va aksiya ma'lumotlarini bitta ish stoliga birlashtirib, tavsiya jarayonini tushunish va tekshirishni osonlashtiradi.
Asosiy imkoniyatlar
- Restoranlarni real vaqtda qidirish:
query-nearby-storesorqali shahar va mo'ljal asosida yaqin atrofdagi olib ketish mumkin bo'lgan restoranlarni topadi. - Menyuni real vaqtda o'qish:
query-mealsorqali joriy restoran narxlari, asl narxlari, mahsulot rasmlari va teglarini oladi. - Ozuqaviy moslashtirish:
list-nutrition-foodsyordamida menyu mahsulotlarini kaloriya va oqsil ma'lumotlari bilan moslashtiradi. - Uchta taom kombinatsiyasi: mos ravishda “Muvozanatli tanlov”, “Oqsilni oshirish” va “Oson tanlov” variantlarini qaytaradi, shuning uchun faqat bitta yopiq javob bilan cheklanmaydi.
- Tushunarli ko'rsatkichlar: har bir yuan uchun oqsil, byudjetdan foydalanish, qolgan kaloriyalar va aksiya bo'yicha tejalgan mablag'ni ko'rsatadi.
- Chegirmalar va aksiyalar:
available-couponsvacampaign-calendarorqali mavjud kuponlar hamda yaqinlashayotgan aksiyalarni bir joyda ko'rsatadi. - Chaqqonlikni kuzatish: foydalanuvchi MCP Tool chaqiruv holati va sarflangan vaqtni ko'rishi mumkin.
- Xavfsiz zaxira rejimi: Token sozlanmagan yoki Tool vaqtincha ishlamaganida, tizim aniq belgilangan, shaxsiy ma'lumotlardan tozalangan demo snapshotidan foydalanadi.
Ishga tushirishdan oldingi tayyorgarlik
Real MCP versiyasi repozitoriydagi Node xizmatini lokal ishga tushirishni talab qiladi. Boshlashdan oldin quyidagi muhitni tayyorlang:
- Node.js 20 yoki undan yuqori versiyasi
- npm 10 yoki undan yuqori versiyasi
- McDonald's MCP Token'i; agar faqat demo ma'lumotlarini sinab ko'rsangiz, uni taqdim etish shart emas
Agar hozircha o'rnatishni xohlamasangiz, GitHub Pages onlayn demosiga kirishingiz mumkin. Bu versiya sof frontend demo bo'lib, shartlarni to'liq o'zgartirish va taomlarni hisoblashni qo'llab-quvvatlaydi, biroq real MCP ma'lumotlari o'rniga shaxsiy ma'lumotlardan tozalangan menyu snapshotidan foydalanadi.
O'rnatish va sozlash
Birinchi qadam: klonlash va bog'liqliklarni o'rnatish
Terminalda quyidagi buyruqlarni bajaring. Repozitoriy manzili o'rnidagi joyni haqiqiy manzil bilan almashtiring:
git clone <your-repository-url>
cd mcd-meal-mate
npm install
cp .env.example .env
Ikkinchi qadam: muhit o'zgaruvchilarini sozlash
Loyiha ildiz katalogidagi .env faylini ochib, MCP Token va xizmat portini kiriting:
MCD_MCP_TOKEN=YOUR_MCD_MCP_TOKEN
PORT=8787
MCD_MCP_TOKENmajburiy o'zgaruvchi emas. Sozlanganda real MCP yoqiladi; sozlanmasa demo ma'lumotlari ishlatiladi.PORTmajburiy o'zgaruvchi emas, standart qiymati8787.
MCP Token faqat server muhit o'zgaruvchisida saqlanishi kerak. Uni frontend kodiga yozmang va ochiq repozitoriyga yubormang.
Uchinchi qadam: ishlab chiqish muhitini ishga tushirish
npm run dev
Ishga tushirgandan so'ng brauzerda http://localhost:5173 manziliga kiring. Ishlab chiqish buyrug'i Express API'ni ishga tushiradi va Vite hot reload'ini yoqadi, bu interfeys hamda server mantiqini sozlash uchun qulay.
Tokensiz demo rejimi
Agar McDonald's MCP Token'i bo'lmasa, ishlab chiqarish versiyasini qurib, ishga tushirishingiz mumkin:
npm install
npm run build
npm start
Keyin http://localhost:8787 manziliga kiring. Bu vaqtda sahifada “Demo ma'lumotlari” deb aniq ko'rsatiladi; menyu, narxlar va aksiyalar shaxsiy ma'lumotlardan tozalangan snapshotdan olinadi.
Demo rejimi o'zaro ishlash jarayoni, kiritish cheklovlari va uchta taom kombinatsiyasini tekshirish uchun mos, biroq joriy restoranlardagi haqiqiy mavjudlik, narx yoki aksiyalarni aks ettirmaydi. Amaliy foydalanishda maqsadli restoran qaytargan ma'lumotlarga amal qiling.
Asosiy foydalanish: uchta taom rejasini yaratish
Birinchi qadam: afzallikni tanlash
Ish stoliga kirgach, avval “Muvozanatli” kabi afzallikni tanlashingiz mumkin. Afzallik kombinatsiya bahosiga ta'sir qiladi, biroq natija baribir byudjet, kaloriya va oqsil maqsadi cheklovlari bilan belgilanadi.
Ikkinchi qadam: ovqatlanish shartlarini kiriting
Quyidagi namunaviy shartlardan boshlashingiz mumkin:
Shahar: Shanxay shahri
Savdo hududi / mo'ljal: Xalq maydoni
Byudjet: 35 yuan
Maksimal kaloriya: 700 kcal
Oqsil maqsadi: 35 g
Uchinchi qadam: hisoblash natijasini ko'rish
Server yaqin atrofdagi restoranlarni topadi, menyu va ozuqaviy ma'lumotlarni o'qiydi, so'ng uch turdagi rejani qaytaradi:
- A rejasi: Muvozanatli tanlov. Byudjet va kaloriya cheklovlari doirasida asosiy taom hamda yegulik yoki ichimlikni taklif qiladi, shuningdek oqsil, har bir yuan uchun oqsil va tavsiya sabablarini ko'rsatadi.
- B rejasi: Oqsilni oshirish. Byudjet va kaloriya cheklovlarini imkon qadar saqlagan holda oqsilni oshirishni ustuvor qiladi.
- C rejasi: Oson tanlov. Narxi arzonroq, biroq baribir to'liq kombinatsiyani taqdim etadi; xarajat va tanlash samaradorligini muhim deb biladigan holatlar uchun mos.
Rejalarni taqqoslaganda faqat umumiy oqsil miqdoriga qaramang. Har bir yuan uchun oqsil, qolgan byudjet, qolgan kaloriya va aksiya bo'yicha tejalgan mablag'ni ham hisobga olib, qaysi natija joriy ehtiyojga mosligini baholang.
To'rtinchi qadam: MCP chaqiruv zanjirini tekshirish
“MCP chaqiruv zanjiri”ni ochsangiz, restoran, menyu, ozuqa, chegirma va aksiya kabi Tool'larning holati hamda sarflangan vaqtini ko'rasiz. Bu tavsiya real vaqtda qaytarilgan ma'lumotlarga asoslanganmi yoki Token yetishmagani yoxud Tool ishlamagani sababli demo snapshotiga o'tilganmi, degan savolga javob berishga yordam beradi.
Ko'p ishlatiladigan ishlab chiqish buyruqlari
npm run dev: Express API va Vite hot reload'ini ishga tushiradi.npm run build: frontendni quradi va serverni kompilyatsiya qiladi.npm start: ishlab chiqarish xizmatini ishga tushiradi.npm test: kombinatsiya mantiqi va ozuqani tahlil qilish testlarini ishga tushiradi.npm run check: tur tekshiruvi, server kompilyatsiyasi tekshiruvi va testlarni ketma-ket bajaradi.
Ozuqani tahlil qilish, menyu moslashtirish yoki taom tanlash qoidalarini o'zgartirgandan so'ng, kamida quyidagilarni bajaring:
npm test
npm run check
Bu tur xatolari, kompilyatsiya muammolari, kombinatsiya cheklovlari yoki ozuqani tahlil qilishdagi regressiyalarni erta aniqlashga yordam beradi.
Docker yordamida joylashtirish
Loyiha Docker orqali qurishni qo'llab-quvvatlaydi. Avval image yarating:
docker build -t mcd-meal-mate .
So'ng kompyuteringizdagi 8787 portini konteynerga ulang va Token'ni muhit o'zgaruvchisi orqali uzating:
docker run --rm -p 8787:8787 \
-e MCD_MCP_TOKEN="YOUR_MCD_MCP_TOKEN" \
mcd-meal-mate
Konteyner ishga tushgach, http://localhost:8787 manziliga kirish mumkin. Agar MCD_MCP_TOKEN qoldirib ketilsa, ilova demo ma'lumotlaridan foydalanadi.
Loyiha tuzilmasini tushunish
Loyiha React frontend, Express serveri, MCP chaqiruvlari, ozuqani tahlil qilish va kombinatsiyani rejalashtirishni turli modullarga ajratadi:
src/
App.tsx React ish stoli va moslashuvchan o'zaro aloqa
styles.css tahririyat menyusi × chek vizual tizimi
server/
index.ts Express API, kiritish tekshiruvi va statik resurslar
mcp.ts MCP JSON-RPC klienti, Tool orkestratsiyasi va zaxira rejimi
nutrition.ts ozuqaviy matn tahlili, menyu moslashtirish va mahsulot rolini aniqlash
planner.ts kombinatsiya cheklovlari, afzallik bahosi va uchta reja tanlovi
demo-data.ts shaxsiy ma'lumotlardan tozalangan demo snapshoti
planner.test.ts ozuqa va kombinatsiya testlari
shared/
types.ts frontend va backend uchun umumiy turlar
server/mcp.ts MCP JSON-RPC aloqasi, Tool orkestratsiyasi va xatolardan keyingi zaxira rejimini boshqaradi; server/nutrition.ts ozuqaviy matnlar va menyu mahsulotlarini moslashtiradi; server/planner.ts kombinatsiya cheklovlari, afzallik bahosi va uchta reja tanlovini amalga oshiradi. Frontend va backend uchun umumiy ma'lumot tuzilmalari shared/types.ts da joylashgan.
Backend McDonald's MCP Streamable HTTP Server bilan aloqa qilish uchun mahalliy fetch dan foydalanadi. Ishlab chiqarish qurilmasida bitta Express jarayoni bir vaqtning o'zida API va statik sahifalarni taqdim etadi hamda menyu va ozuqaviy natijalarni xotirada keshlaydi.
Ilg'or foydalanish va ishlab chiqish tavsiyalari
Natijalarni avval cheklovlar orqali tekshiring
Agar kutilgan kombinatsiya olinmasa, avval byudjet, maksimal kaloriya va oqsil maqsadi haddan tashqari qat'iy emasligini tekshiring. Taom tanlash vositasi bir nechta chegaralarni bir vaqtning o'zida qondirishi kerak, maqsadlar esa o'zaro to'qnashishi mumkin. Byudjetni biroz oshirish, maksimal kaloriyani ko'tarish yoki oqsil maqsadini pasaytirish ko'proq maqbul kombinatsiyalarni olishga yordam beradi.
Real ma'lumotlar va demo snapshotini farqlang
Sozlash paytida sahifada “Demo ma'lumotlari” ko'rsatilganini va MCP chaqiruv zanjirini tekshiring. Token bo'lmaganda, Tool vaqtincha ishlamaganda yoki sof frontend GitHub Pages versiyasi ishga tushirilganda natijalar shaxsiy ma'lumotlardan tozalangan snapshotdan olinishi mumkin.
Server hisob ma'lumotlarini himoyalang
Token'ni brauzer tomoniga uzatmang. Loyiha muhit o'zgaruvchilarini Express xizmati orqali o'qiydi va MCP'ni server tomonidan chaqiradi, shu tariqa Token frontendga oshkor bo'lishining oldini oladi. Server yoki konteynerga joylashtirganda ham hisob ma'lumotlarini xavfsiz muhit o'zgaruvchilarini boshqarish usuli orqali kiriting.
Rejalashtirish mantiqini o'zgartirgach to'liq tekshiruvni ishga tushiring
Agar planner.ts, nutrition.ts yoki umumiy turlar o'zgartirilsa, tur, kompilyatsiya va test tekshiruvlarini bajarish uchun npm run check buyrug'idan foydalaning. Loyihada mavjud kombinatsiya va ozuqani tahlil qilish testlari o'zgarishlar avvalgi xatti-harakatga ta'sir qilgan-qilmaganini tekshirishga yordam beradi.
Integratsiya materiallarini ko'rib chiqing
Repozitoriydagi MCP_INTEGRATION.md faylida barcha Tool'lar, chaqiruv jarayoni, biznes qiymati va xavfsizlik chegaralari qayd etilgan; mcp-config.example.json shaxsiy ma'lumotlardan tozalangan konfiguratsiya namunasini taqdim etadi; workbuddy.md WorkBuddy bilan bog'liq kontekst va qayta tiklash mumkin bo'lgan buyruqlarni o'z ichiga oladi. Boshqa Agent yoki Skill'ni ulaganda, avval shu fayllarga murojaat qiling.
Xavfsizlik chegaralari
- Repozitoriyda haqiqiy Token, parol yoki hisob ma'lumotlari mavjud emas.
- MCP Token faqat server muhit o'zgaruvchisidan o'qiladi.
- Loyiha buyurtma berish, to'lov, lotereya yoki ballarni almashtirish Tool'larini chaqirmaydi.
- Server foydalanuvchi kiritgan ma'lumotlarni saqlamaydi va foydalanuvchi profilini yaratmaydi.
- Taomlarning mavjudligi, narxi va aksiyalari McDonald's rasmiy kanallaridagi ma'lumotlarga asoslanadi.
- Tavsiya natijalari tibbiy, ozuqaviy yoki boshqa professional maslahat hisoblanmaydi.
Xulosa
M餐搭子 restoranlarni qidirish, real vaqt menyusi, ozuqaviy moslik, chegirma maʼlumotlari va kombinatsiyalarni rejalashtirishni tushunarli ovqat tanlash jarayoniga birlashtiradi. MCP Token sozlangach, u joriy restoran maʼlumotlaridan foydalanishi mumkin; Token bo‘lmaganda ham, anonimlashtirilgan snapshot orqali to‘liq interaktiv imkoniyatlarni sinab ko‘rish mumkin.
O‘rnatishni yakunlagach, avval namunaviy shartlar yordamida uchta yechimni tekshirib ko‘rishingiz, so‘ngra maʼlumotlar manbasini tasdiqlash uchun MCP chaqiruvlar zanjiridan foydalanishingiz mumkin. Ishlab chiquvchilar esa real vaqt maʼlumotlarini boshqarish, ozuqaviy moslashtirish va cheklovlarni hisoblash qanday amalga oshirilganini tushunish uchun mcp.ts, nutrition.ts va planner.ts fayllaridan boshlashlari mumkin.
