
M餐搭子 ni nini
M餐搭子 ni Skill mahiri ya kupanga mlo kulingana na data ya McDonald's MCP. Unahitaji tu kuingiza jiji, alama ya eneo, bajeti, kiwango cha juu cha kalori na lengo la protini; kisha itatafuta maduka ya karibu yanayoruhusu kuchukua mwenyewe, kulinganisha menyu ya sasa na data ya lishe, na kutoa mipangilio mitatu ya mlo inayoweza kutekelezwa.
Tofauti na zana zinazopendekeza bidhaa moja pekee, M餐搭子 huonyesha bei, kalori, protini, kiasi cha bajeti kilichotumika, kalori zilizobaki na sababu ya pendekezo kwa kila mpangilio. Pia humruhusu mtumiaji kupanua mlolongo wa simu za MCP ili kuona hali na muda wa kila Tool.
Mradi huu ulishiriki katika Mashindano ya Ubunifu wa Programu ya McDonald's ya 2026, lakini si bidhaa rasmi ya McDonald's. Upatikanaji wa bidhaa, bei na ofa unapaswa kuthibitishwa kupitia taarifa halisi kutoka kwa njia rasmi za McDonald's; matokeo hayawakilishi ushauri wa kitaalamu wa kitabibu au lishe.
Mradi huu umetatua tatizo gani
Ugumu wa kuagiza chakula kwa kawaida hautokani na ukosefu wa chaguo, bali kwa sababu menyu, taarifa za lishe, ofa na malengo ya kibinafsi vimetawanyika katika maeneo tofauti. Mtumiaji anahitaji kudhibiti bajeti na kalori, huenda akataka kuongeza protini, na hatimaye bado anapaswa kuamua ikiwa mchanganyiko huo umekamilika.
Mbinu ya M餐搭子 ni kumruhusu mtumiaji kwanza kufafanua mipaka ya mlo huu, kisha kukokotoa matokeo kutoka kwenye menyu halisi, badala ya kumtaka aamue bidhaa mahususi mapema. Huunganisha bei za menyu, data ya lishe na taarifa za ofa katika eneo moja la kazi, hivyo kufanya mchakato wa mapendekezo uwe rahisi kuelewa na kuthibitisha.
Uwezo mkuu
- Utafutaji wa maduka kwa wakati halisi: Hutumia
query-nearby-storeskutafuta maduka ya karibu yanayoruhusu kuchukua mwenyewe kulingana na jiji na alama ya eneo. - Usomaji wa menyu kwa wakati halisi: Hutumia
query-mealskupata bei ya sasa, bei ya awali, picha za bidhaa na lebo za duka husika. - Ulinganishaji wa lishe: Hutumia
list-nutrition-foodskulinganisha bidhaa za menyu na data ya kalori na protini. - Matokeo matatu ya kupanga mlo: Hurudisha “Chaguo la usawa”, “Ongezeko la protini” na “Mchanganyiko rahisi”, ili kuepuka kutoa jibu moja lisiloelezeka.
- Vipimo vinavyoelezeka: Huonyesha protini kwa kila yuan, matumizi ya bajeti, kalori zilizobaki na tofauti ya ofa.
- Ofa na kampeni: Huita
available-couponsnacampaign-calendarili kuonyesha kwa pamoja kuponi zinazoweza kudaiwa na kampeni za hivi karibuni. - Ufuatiliaji wa simu: Mtumiaji anaweza kuona hali na muda wa simu za MCP Tool.
- Upunguzaji salama: Token haijasanidiwa au Tool haipatikani kwa muda, mfumo hutumia picha ya data ya onyesho iliyofichwa na iliyoandikwa wazi.
Maandalizi kabla ya kuendesha
Toleo la MCP la wakati halisi linahitaji kuendesha huduma ya Node iliyo ndani ya hazina kwenye kompyuta ya eneo lako. Kabla ya kuanza, andaa mazingira yafuatayo:
- Node.js 20 au toleo la juu zaidi
- npm 10 au toleo la juu zaidi
- Token ya McDonald's MCP; ikiwa unataka kujaribu data ya onyesho pekee, si lazima uitumie
Ikiwa hutaki kusakinisha kwa sasa, unaweza pia kutembelea onyesho la mtandaoni la GitHub Pages. Toleo hili ni onyesho la mbele pekee, linaunga mkono marekebisho kamili ya masharti na ukokotoaji wa mlo, lakini hutumia picha ya menyu iliyofichwa badala ya data ya MCP ya wakati halisi.
Kusakinisha na kusanidi
Hatua ya kwanza: Kloonisha na kusakinisha utegemezi
Tekeleza amri zifuatazo kwenye terminal. Badilisha kishikilia nafasi cha anwani ya hazina kwa anwani halisi:
git clone <your-repository-url>
cd mcd-meal-mate
npm install
cp .env.example .env
Hatua ya pili: Sanidi vigezo vya mazingira
Fungua faili ya .env katika saraka kuu ya mradi, kisha uandike Token ya MCP na mlango wa huduma:
MCD_MCP_TOKEN=YOUR_MCD_MCP_TOKEN
PORT=8787
MCD_MCP_TOKENsi kigezo cha lazima. Ukikisanidi, MCP ya wakati halisi itawezeshwa; usipokisanidi, data ya onyesho itatumika.PORTsi kigezo cha lazima; thamani chaguomsingi ni8787.
Token ya MCP inapaswa kuwekwa tu katika vigezo vya mazingira vya upande wa seva. Usiandike kwenye msimbo wa mbele wala kuiwasilisha kwenye hazina ya umma.
Hatua ya tatu: Anzisha mazingira ya usanidi
npm run dev
Baada ya kuanza, tembelea http://localhost:5173 kwenye kivinjari. Amri ya usanidi itaendesha Express API na kuwezesha uhuishaji wa moto wa Vite, unaofaa kwa kurekebisha kiolesura na mantiki ya upande wa seva.
Hali ya onyesho bila kusanidi Token
Ikiwa huna Token ya McDonald's MCP, unaweza kujenga na kuanzisha toleo la uzalishaji:
npm install
npm run build
npm start
Kisha tembelea http://localhost:8787. Katika hali hii, ukurasa utaonyesha wazi “Data ya onyesho”; menyu, bei na kampeni zitatoka kwenye picha ya data iliyofichwa.
Hali ya onyesho inafaa kwa kukagua mtiririko wa mwingiliano, masharti ya uingizaji na matokeo matatu ya kupanga mlo, lakini haiwakilishi upatikanaji, bei au kampeni za sasa za duka. Katika matumizi halisi, data inayorejeshwa na duka lengwa ndiyo inayopaswa kuzingatiwa.
Matumizi ya msingi: Tengeneza mipangilio mitatu ya mlo
Hatua ya kwanza: Chagua mapendeleo
Baada ya kuingia kwenye eneo la kazi, unaweza kwanza kuchagua mapendeleo kama “Usawa”. Mapendeleo hushiriki katika ukadiriaji wa mchanganyiko, lakini matokeo bado yatawekewa mipaka na bajeti, kalori na lengo la protini.
Hatua ya pili: Jaza masharti ya mlo
Unaweza kuanza na masharti haya ya mfano:
Jiji: Shanghai
Eneo la biashara / alama ya eneo: People's Square
Bajeti: yuan 35
Kiwango cha juu cha kalori: 700 kcal
Lengo la protini: 35 g
Hatua ya tatu: Tazama matokeo ya ukokotoaji
Upande wa seva utatafuta maduka ya karibu, kusoma menyu na data ya lishe, kisha kurudisha aina tatu za mipangilio:
- Mpangilio A: Chaguo la usawa. Hutoa chakula kikuu pamoja na kitafunwa au kinywaji ndani ya mipaka ya bajeti na kalori, na huonyesha protini, protini kwa kila yuan na sababu ya pendekezo.
- Mpangilio B: Ongezeko la protini. Huongeza protini kwanza huku ikijaribu kuheshimu mipaka ya bajeti na kalori.
- Mpangilio C: Mchanganyiko rahisi. Hutoa mchanganyiko wa bei ya chini lakini bado kamili, unaofaa hali zinazotanguliza gharama na ufanisi wa kuchagua.
Unapolinganisha mipangilio, usiangalie protini ya jumla pekee. Unaweza pia kuzingatia protini kwa kila yuan, bajeti iliyobaki, kalori zilizobaki na tofauti ya ofa ili kuamua matokeo yanayokidhi mahitaji ya sasa zaidi.
Hatua ya nne: Kagua mlolongo wa simu za MCP
Panua “Mlolongo wa simu za MCP” ili kuona hali na muda wa Tool za maduka, menyu, lishe, kuponi na kampeni. Hii husaidia kubaini ikiwa pendekezo linategemea data ya wakati halisi iliyorejeshwa au lilihamia kwenye picha ya data ya onyesho kwa sababu Token haipo au Tool haipatikani.
Amri za kawaida za usanidi
npm run dev: Huanzisha Express API na uhuishaji wa moto wa Vite.npm run build: Hujenga upande wa mbele na kukompili upande wa seva.npm start: Huanzisha huduma ya uzalishaji.npm test: Huendesha majaribio ya mantiki ya mchanganyiko na uchanganuzi wa lishe.npm run check: Huendesha ukaguzi wa aina, ukaguzi wa ujenzi wa seva na majaribio kwa mfuatano.
Baada ya kurekebisha uchanganuzi wa lishe, uchoraji wa menyu au sheria za kupanga mlo, inashauriwa kutekeleza angalau:
npm test
npm run check
Hii husaidia kugundua mapema makosa ya aina, matatizo ya ujenzi na urejeshaji wa nyuma unaohusu masharti ya mchanganyiko au uchanganuzi wa lishe.
Kupeleka kwa kutumia Docker
Mradi huu unaunga mkono ujenzi wa Docker. Kwanza tengeneza picha:
docker build -t mcd-meal-mate .
Kisha elekeza mlango wa 8787 wa kompyuta yako kwenye kontena, na pitisha Token kupitia kigezo cha mazingira:
docker run --rm -p 8787:8787 \
-e MCD_MCP_TOKEN="YOUR_MCD_MCP_TOKEN" \
mcd-meal-mate
Baada ya kontena kuanza, unaweza kutembelea http://localhost:8787. Ukiacha MCD_MCP_TOKEN, programu itatumia data ya onyesho.
Kuelewa muundo wa mradi
Mradi umetenganisha React ya mbele, huduma ya Express, simu za MCP, uchanganuzi wa lishe na upangaji wa mchanganyiko katika moduli tofauti:
src/
App.tsx Eneo la kazi la React na mwingiliano unaobadilika
styles.css Mfumo wa mwonekano wa menyu ya uhariri × risiti
server/
index.ts Express API, uthibitishaji wa uingizaji na rasilimali tuli
mcp.ts Mteja wa MCP JSON-RPC, upangaji wa Tool na upunguzaji
nutrition.ts Uchanganuzi wa maandishi ya lishe, uchoraji wa menyu na utambuzi wa jukumu la bidhaa
planner.ts Masharti ya mchanganyiko, ukadiriaji wa mapendeleo na uteuzi wa mipangilio mitatu
demo-data.ts Picha ya data ya onyesho iliyofichwa
planner.test.ts Majaribio ya lishe na mchanganyiko
shared/
types.ts Aina zinazoshirikiwa na mbele na nyuma
server/mcp.ts hushughulikia mawasiliano ya MCP JSON-RPC, upangaji wa Tool na upunguzaji wa hitilafu; server/nutrition.ts hushughulikia uchoraji kati ya maandishi ya lishe na bidhaa za menyu; server/planner.ts hutekeleza masharti ya mchanganyiko, ukadiriaji wa mapendeleo na uteuzi wa mipangilio mitatu. Miundo ya data inayotumiwa na mbele na nyuma iko katika shared/types.ts.
Upande wa nyuma hutumia fetch asilia kuwasiliana na McDonald's MCP Streamable HTTP Server. Katika ujenzi wa uzalishaji, mchakato huo wa Express hutoa API na ukurasa tuli kwa pamoja, na huhifadhi menyu pamoja na matokeo ya lishe kwenye kumbukumbu.
Matumizi ya juu na mapendekezo ya usanidi
Anza kwa kuchunguza masharti
Ikiwa hupati mchanganyiko unaotarajiwa, kagua kwanza ikiwa bajeti, kiwango cha juu cha kalori na lengo la protini ni kali kupita kiasi. Kijenzi cha kupanga mlo kinahitaji kutimiza mipaka kadhaa kwa wakati mmoja, na malengo yanaweza kugongana. Kuongeza bajeti, kuongeza kiwango cha juu cha kalori au kupunguza lengo la protini kunaweza kusaidia kupata mchanganyiko zaidi unaowezekana.
Tenganisha data ya wakati halisi na picha ya data ya onyesho
Wakati wa kutatua hitilafu, thibitisha ikiwa ukurasa unaonyesha “Data ya onyesho”, na uangalie mlolongo wa simu za MCP. Token isipokuwepo, Tool isipatikane kwa muda au unapoendesha toleo la GitHub Pages la mbele pekee, matokeo yanaweza kutoka kwenye picha ya data iliyofichwa.
Linda vitambulisho vya upande wa seva
Usiingize Token kwenye upande wa kivinjari. Mradi tayari husoma vigezo vya mazingira kupitia huduma ya Express na huita MCP kutoka upande wa seva, hivyo kuzuia Token kufichuliwa kwa upande wa mbele kupitia muundo wa mfumo. Unapopeleka kwenye seva au kontena, tumia pia njia salama ya usimamizi wa vigezo vya mazingira kuingiza vitambulisho.
Tekeleza ukaguzi kamili baada ya kurekebisha mantiki ya upangaji
Ukirekebisha planner.ts, nutrition.ts au aina zinazoshirikiwa, tumia npm run check kufanya ukaguzi wa aina, ujenzi na majaribio. Mradi una majaribio ya mchanganyiko na uchanganuzi wa lishe ambayo yanaweza kusaidia kuthibitisha ikiwa marekebisho yameathiri tabia iliyopo.
Soma nyenzo za ujumuishaji
MCP_INTEGRATION.md katika hazina inaeleza Tool kamili, mtiririko wa simu, thamani ya biashara na mipaka ya usalama; mcp-config.example.json hutoa mfano wa usanidi uliofichwa; workbuddy.md ina muktadha wa muunganisho wa WorkBuddy na amri zinazoweza kuzalishwa tena. Unapounganisha Agent au Skill nyingine, unaweza kuanza kwa kurejelea faili hizi.
Mipaka ya usalama
- Hazina haina Token, nenosiri au vitambulisho halisi vya akaunti.
- Token ya MCP husomwa tu kutoka kwenye vigezo vya mazingira vya upande wa seva.
- Mradi hauiti Tool za kuagiza, kulipa, bahati nasibu au kubadilisha pointi.
- Upande wa seva hauhifadhi uingizaji wa mtumiaji wala kuunda wasifu wa mtumiaji.
- Upatikanaji wa bidhaa, bei na kampeni hutegemea njia rasmi za McDonald's.
- Matokeo ya mapendekezo si ushauri wa kitabibu, lishe au kitaalamu wa aina nyingine.
Muhtasari
M餐搭子 huunganisha utafutaji wa maduka, menyu za wakati halisi, ulinganifu wa lishe, taarifa za ofa na upangaji wa mchanganyiko kuwa mchakato mmoja wa kueleweka wa kupanga mlo. Baada ya kusanidi MCP Token, inaweza kutumia data ya sasa ya duka; bila Token, bado unaweza kutumia mwingiliano kamili kupitia muhtasari uliotolewa taarifa za utambulisho.
Baada ya kukamilisha usakinishaji, unaweza kwanza kutumia masharti ya mfano kuthibitisha mipango mitatu, kisha kuthibitisha chanzo cha data kupitia mnyororo wa miito ya MCP. Waendelezaji wanaweza kuanzia kwenye mcp.ts, nutrition.ts na planner.ts ili kuelewa jinsi upangaji wa data ya wakati halisi, uchoraji wa lishe na ukokotoaji wa vikwazo unavyotekelezwa.
