
Muhtasari wa mradi
Mcd Collector (mcd-gacha-collector) ni WorkBuddy Skill iliyotengenezwa kwa msingi wa MCP ya McDonald's China. Hubadilisha vyakula vya McDonald's kuwa kadi zinazoweza kutolewa kwa bahati nasibu na kukusanywa, huku ikionyesha bei, kalori, protini, sodiamu na kiwango cha afya kwenye kadi.
Mradi hutumia MCP kupata menyu, data ya lishe, maduka na bei za wakati halisi, kisha injini ya ndani ya Python hukamilisha ukadiriaji wa afya, upangaji wa nadra, uchujaji wa bajeti na utoaji wa kadi kwa uzani. Baada ya kupata chakula kinachoweza kununuliwa, unaweza pia kuthibitisha bei na kuunda oda halisi baada ya uthibitisho wa pili.
Data ya lishe katika hazina inashughulikia takribani bidhaa 160, huku hifadhi ya sasa ya kadi kwenye tovuti ikiwa na kadi 53 zilizoundwa kwa kutumia taarifa halisi za menyu. Mradi huu ni kazi ya mashindano, si bidhaa rasmi ya McDonald's.

Vipengele muhimu
- Kutoa kadi kwa bajeti: Unaweza kutoa ombi kwa lugha ya kawaida, kama “toa kadi moja ndani ya yuan 50”; mfumo huchuja bei kwanza, kisha hutoa kadi kwa uzani.
- Lishe na kiwango cha afya: Hukokotoa kiwango cha afya cha 0 hadi 100 kulingana na data inayorudishwa na MCP, na kuonyesha kalori, protini, mafuta au sodiamu.
- Viwango vya SSR, UR na R: Nadra huamuliwa na mgawanyo wa viwango vya afya, si kwa kuwekwa kwa mikono. Uainishaji wa kulinganisha unaweza kuendana na miundo tofauti ya menyu za maduka.
- Albamu ya ndani ya ukusanyaji: Rekodi za kadi huhifadhiwa katika
ledger.json; kadi zinazorudiwa huongeza idadi ya kupatikana, na unaweza kupata wastani wa kalori na kiwango cha afya. - Mfumo wa pointi: Skill hujirejeshea nafasi 1 ya kutoa kadi kila baada ya saa 4; toleo la wavuti hutumia uonyeshaji upya wa mikono wenye muda wa kusubiri wa sekunde 60.
- Kuagiza halisi: Kwanza huita MCP kuthibitisha bei, kisha humtaka mtumiaji athibitishe wazi, na hatimaye huita
create-order. - Matumizi bila mtandao: Hazina ina data ya mfano, hivyo unaweza kujaribu kutoa kadi, kukusanya na kuonyesha kadi za HTML hata bila kusanidi MCP Token.
- Hakuna vitegemezi vya wahusika wengine: Maandishi ya msingi hutumia maktaba ya kawaida ya Python na yanahitaji Python 3.8 au toleo jipya zaidi.

Mtiririko wa uendeshaji
Mradi unafuata wazo la muundo: “MCP ishughulikie data, msimbo ushughulikie hesabu, Agent ishughulikie uwasilishaji.” WorkBuddy Agent huelewa nia ya mtumiaji, MCP ya McDonald's hutoa data halisi ya biashara, na gacha.py hufanya hesabu za kudumu.
Mtumiaji anaomba kutoa kadi, kuangalia lishe au kuagiza
→ WorkBuddy Agent huita MCP ya McDonald's
→ Hupata muda, duka, menyu, bei na data ya lishe
→ gacha.py hukokotoa afya, nadra na kutekeleza utoaji wa kadi
→ render.py hutengeneza ukurasa wa kadi au albamu
→ Mtumiaji huchagua kununua
→ calculate-price huthibitisha bei
→ Mtumiaji huthibitisha mara ya pili
→ create-order huunda odaBei, kiwango cha afya na nadra hazikabidhiwi modeli kubwa ya lugha ili zihesabiwe kwa makadirio. Bei hutoka kwa MCP, huku ukadiriaji na utoaji wa kadi vikitekelezwa na msimbo wa Python, hivyo kupunguza hatari ya kupotoka kwa hesabu na makosa.
Maandalizi kabla ya kuanza
- Sakinisha Python 3.8 au toleo jipya zaidi.
- Sakinisha WorkBuddy na uhakikishe unaweza kuitumia.
- Andaa MCP Token ya McDonald's China inayoweza kufikiwa; Token haihitajiki unapoendesha mfano wa nje ya mtandao pekee.
- Hakikisha WorkBuddy inaweza kusoma saraka ya ujuzi ya mtumiaji.
Njia ya kwanza: Jaribu moja kwa moja mtandaoni
Ikiwa ungependa kuona kiolesura na onyesho la kutoa kadi pekee, fungua ukurasa wa mtandaoni wa Mcd Collector. Ukurasa utajaribu kupata jiji kupitia IP, kisha uitumie huduma ya kutafuta maduka kuchagua duka lililo karibu, bila kuhitaji kuingiza anwani mwenyewe.

Kwa sababu ya mipaka ya mazingira ya usambazaji, ukurasa wa umma hauwezi kuingiza MCP Token ya mtu binafsi. Toleo la mtandaoni linafaa kwa kujaribu utambuzi wa eneo, maduka na kiolesura cha kadi; kuagiza halisi kunahitaji kukamilishwa kwenye seva ya ndani au WorkBuddy Skill iliyosanidiwa na kiunganishi.
Njia ya pili: Sakinisha kwenye WorkBuddy
Hatua ya kwanza: Nakili hazina
git clone https://github.com/YOUR_GITHUB_USER/mcd-gacha-collector.git
cd mcd-gacha-collectorAnwani ya hazina katika README inatumia kishikilia nafasi. Wakati wa matumizi halisi, badilisha YOUR_GITHUB_USER kwa jina la mmiliki wa hazina, au nakili moja kwa moja anwani ya kloni inayotolewa na ukurasa wa GitHub.
Hatua ya pili: Omba McDonald's MCP Token
Tembelea jukwaa la wazi la McDonald's MCP, ingia kwa nambari ya simu, washa huduma kwenye dashibodi na unakili Token. Token ni taarifa nyeti; usiiandike kwenye hazina ya umma wala kuiwasilisha kwenye historia ya Git.
Hatua ya tatu: Sanidi kiunganishi cha MCP
- Fungua “Mtaalamu · Ujuzi · Viunganishi” upande wa kushoto wa WorkBuddy.
- Ingia kwenye “Viunganishi” na uchague “Kiunganishi maalum” upande wa juu kulia.
- Chagua “Sanidi MCP”.
- Nakili yaliyomo kwenye
mcp-config.example.jsonkatika hazina. - Badilisha
${MCD_MCP_TOKEN}kuwa Token halisi, au iingize kupitia kigezo cha mazingira. - Hifadhi usanidi na uwashe kiunganishi.
Inapendekezwa kutumia vigezo vya mazingira kudhibiti Token. Kwa njia yoyote utakayotumia, usiwasilishe faili ya usanidi yenye vitambulisho halisi kwenye mfumo wa kudhibiti matoleo.
Hatua ya nne: Nakili Skill
Tekeleza kwenye macOS au Linux:
cp -r skills/mcd-gacha-collector ~/.workbuddy/skills/Saraka ya ujuzi ya mtumiaji wa WorkBuddy kwenye Windows ni:
%USERPROFILE%\.workbuddy\skills\Wakati wa kunakili, hifadhi saraka nzima ya mcd-gacha-collector, ikijumuisha SKILL.md, maandishi ya msingi, nyaraka za marejeo na faili za rasilimali.
Hatua ya tano: Thibitisha usakinishaji
Rudi kwenye kisanduku cha mazungumzo cha WorkBuddy na uingize:
抽张麦当劳卡Ikiwa Skill inaweza kuita zana za menyu na lishe na kurudisha kadi yenye nadra, bei na kalori, usakinishaji na muunganisho wa MCP umefanikiwa.
Matumizi ya msingi
Kutoa kadi moja kwa bajeti
50 元内抽一张Skill itapata menyu inayopatikana na data ya lishe ya duka la sasa, ichuje vyakula vyenye bei isiyozidi yuan 50, kisha itoe kadi kwa uzani. Mfano uliopimwa katika README ulipata UR chai nyekundu ya limau ya jua, kikombe cha kati, yenye bei ya yuan 10, kalori 117 kcal na kiwango cha afya 63.4.
Matokeo halisi hutegemea menyu ya duka, bei za wakati halisi, muundo wa hifadhi ya kadi na matokeo ya utoaji wa nasibu; kwa hiyo usichukulie chakula au bei katika mfano kuwa matokeo ya kudumu.
Kutoa kadi kumi mfululizo
来十连Pointi zinapotosha, Skill itatoa kadi 10 mfululizo na kuonyesha matokeo kwa muundo kamili zaidi. Pointi zisipotosha, itaeleza ni nafasi ngapi zinakosekana na muda wa kurejeshwa kwa nafasi inayofuata.
Kuangalia albamu ya ukusanyaji
我的收藏册?Data ya ukusanyaji hukusanywa kutoka ledger.json ya ndani. Matokeo yanaweza kujumuisha idadi ya kadi zilizokusanywa, idadi ya SSR, UR na R, idadi ya marudio, wastani wa kalori na wastani wa kiwango cha afya.
Kuuliza taarifa ya lishe
巨无霸多少热量?Skill itatafuta chakula kupitia list-nutrition-foods. Mfano katika README ni: Big Mac ina kalori 513, protini gramu 27, mafuta gramu 26, sodiamu miligramu 961 na kiwango cha afya 32.2, na imewekwa kwenye daraja R. Taarifa ya lishe inapaswa bado kutegemea data rasmi inayorudishwa na MCP wakati huo.
Kuuliza maduka yaliyo karibu
附近麦当劳?Mfumo kwa kawaida huanza kwa kutambua eneo kupitia IP ili kupata jiji, kisha huita query-nearby-stores na kupanga kwa kutumia sehemu ya umbali inayorudishwa na MCP. Kwa kuwa longitudo na latitudo za kiolesura cha maduka zinaweza kuwa 0.0 kila mara katika majaribio, mradi hautegemei kuratibu hizo kukokotoa umbali wenyewe.
Kuangalia pointi zilizosalia

还有几次抽卡机会?Skill itasoma pointi katika daftari la ndani na kurudisha idadi inayopatikana sasa pamoja na muda wa kurejeshwa kiotomatiki. Pointi hizi ni mfumo wa ndani wa uchezeshaji wa mradi huu tu na hazihusiani na akaunti rasmi ya pointi za McDonald's.
Kuunda oda halisi kwa usalama
Unapopata kadi unayoipenda au kutoa ombi la kununua moja kwa moja, mradi hautaunda oda mara moja, bali utatumia mchakato wa lazima wa uthibitisho wa pili:
- Chagua duka na chakula au seti inayoweza kununuliwa.
- Haita
calculate-pricekupata bei ya wakati halisi na njia zinazopatikana za kuchukua. - Huunda
quoteTokenya matumizi ya mara moja yenye uhalali wa dakika 15. - Huonyesha matokeo ya uthibitishaji wa bei na kusubiri uthibitisho wazi wa mtumiaji.
- Seva ya nyuma huthibitisha Token, kisha huita
create-order. - Hurejesha nambari ya oda na kiungo cha malipo.
create-order lazima ibebe takeWayCode; thamani hii inapaswa kupatikana kutoka takeWayList inayorudishwa na calculate-price. Usibashiri wala kuiacha, la sivyo ombi linaweza kurudisha 400.
Katika menyu zilizojaribiwa, bidhaa za kibinafsi huenda zisiweze kuagizwa peke yake. Bidhaa 96 zilizorekodiwa kwenye README zote zilikuwa na
canWithOrderya false, hivyo kadi kuu zinazoweza kuagizwa ni kadi 18 za seti. Kadi za bidhaa binafsi bado zinaweza kutumika kwa ukusanyaji na kuonyesha lishe.
Matumizi ya mstari wa amri bila Token
Hazina ina sample_data, hivyo unaweza kuthibitisha mantiki nzima ya kutoa kadi nje ya mtandao. Ingia kwenye saraka ya maandishi:
cd skills/mcd-gacha-collector/scriptsKagua mgawanyo wa hifadhi ya kadi
python gacha.py sample_data --inspect --budget 50Amri hii hukagua hifadhi ya kadi za mfano kwa bajeti ya yuan 50, na inafaa kuthibitisha kadi zinazoweza kutolewa pamoja na mgawanyo wa nadra.
Kutoa kadi moja na kumi
python gacha.py sample_data --draw 1 --budget 50 --ledger /tmp/ledger.json
python gacha.py sample_data --draw 10 --budget 50 --ledger /tmp/ledger.json--ledger hubainisha njia ya daftari. Tumia faili hiyo hiyo mfululizo ili kuhifadhi pointi na rekodi za ukusanyaji.
Kuangalia takwimu za ukusanyaji
python gacha.py sample_data --collection --ledger /tmp/ledger.jsonKuiga mgawanyo wa uwezekano
python gacha.py sample_data --simulate 100 --seed 42Mgawanyo unaolengwa wa mfano ni SSR 5%, UR 20% na R 75%. --seed 42 hufanya matokeo ya nasibu yaweze kurudiwa, jambo linalofaa kwa utatuzi na kulinganisha matokeo kabla na baada ya kurekebisha algoriti.
Kutoa HTML ya kadi
python render.py /tmp/ledger.json --out /tmp/cards.html --last-draw 1Kionyeshi kitabadilisha data ya leja kuwa HTML ya faili moja, ili iwe rahisi kutazama kadi zilizotolewa katika droo ya mwisho kwenye kivinjari.
Kuendesha majaribio ya ndani
python selftest.pyMantiki kuu ina majaribio 105 ya ndani. Baada ya kurekebisha alama, pointi, nadra au msimbo wa kutoa kadi, unapaswa kuendesha amri hiyo tena.
Kuelewa afya na nadra
Afya ya bidhaa moja huhesabiwa kwa kupima kwa uzito vipengele vitatu:
- Msongamano wa protini ni 35%.
- Kipimo cha kalori chache ni 40%.
- Kipimo cha sodiamu chache ni 25%.
Nadra hutumia mfumo wa upangaji wa kulinganisha, ambapo viwango vya asilimia huwekwa kulingana na mgawanyo wa data ya sasa. Hii huzuia duka fulani kukosa SSR kabisa kwa sababu halina bidhaa zenye alama nyingi kama kahawa. Kundi la kadi lililopimwa katika README lilipata kadi 3 za SSR, 7 za UR na 13 za R baada ya kutumia asilimia.
Seti za chakula hazitumii moja kwa moja uzito wa bidhaa moja, kwa sababu jumla ya kalori ya seti huwa kubwa kiasili. Mradi hutumia algoriti huru kwa seti: msongamano wa protini 40%, msongamano wa sodiamu 35% na mzigo wa kalori 25%, huku viwango vya asilimia vikihesabiwa kivyake.
Afya na nadra ni kwa ajili ya ulinganishaji wa burudani tu; si ushauri wa kitabibu, lishe au utaalamu mwingine.
Maendeleo ya hali ya juu na mbinu za utatuzi
Kuchanganua kwa usahihi data ya lishe ya MCP
data inayorejeshwa na list-nutrition-foods inaweza kuwa mfuatano wa CSV badala ya safu ya JSON. Mradi hutoa mantiki maalum ya kuchanganua parse_nutrition_csv. Unapopanua mteja, usidhani moja kwa moja kuwa data hiyo daima ni orodha.
Kufungua bahasha ya structuredContent
Data ya biashara ya MCP inaweza kuwa ndani ya structuredContent.data, na thamani zake zinaweza bado kuwa kamusi, orodha au mifuatano. Unaposhughulikia jibu, kwanza fungua bahasha ya nje, kisha elekeza uchanganuzi kulingana na aina halisi.
Kudumisha uwiano wa algoriti kati ya sehemu ya mbele na ya nyuma
Tovuti hutumia ukokotoaji wa wakati wa kujenga: tools/gen_web_data.py hutengeneza data, na web/build.py huingiza data hiyo ndani ya ukurasa wa faili moja. Sehemu ya mbele haitengenezi upya algoriti nyingine ya alama, hivyo kupunguza matatizo ya matokeo kutofautiana kati ya pande hizo mbili.
Baada ya kurekebisha utengenezaji wa data, uchoraji wa sehemu au kiolezo cha tovuti, unaweza kuendesha tools/parity_check.py. Hifadhi ina ukaguzi 99 wa uwiano, unaohusisha HTML, JavaScript, mgawanyo wa kundi la kadi na ulinganifu wa sehemu.
Kuthibitisha uchanganuzi wa maduka wa sehemu ya nyuma
Sehemu ya nyuma iko katika saraka ya server, na hutumia maktaba ya kawaida ya Python kutekeleza utafutaji wa eneo kwa IP, mteja wa MCP na kiolesura cha kuagiza. Mantiki ya uchanganuzi wa maduka ina madai 15 zaidi. Pamoja na majaribio 105 ya ndani ya Skill na ukaguzi 99 wa tovuti, mradi una madai 219 yaliyorekodiwa kwa jumla.
Usimtegemee longitudo na latitudo ya duka
Kulingana na matokeo ya majaribio katika README, sehemu za longitudo na latitudo zinazorejeshwa na query-nearby-stores zinaweza zote kuwa 0.0. Mkakati unaotegemeka zaidi ni kupata jiji kupitia IP kwanza, kisha kutafuta kwa jiji na maneno muhimu ya eneo, na kupanga kwa kutumia distance inayorejeshwa na kiolesura.
Kutofautisha kadi za kuonyeshwa na kadi zinazoweza kuagizwa
Chakula kinachoonekana kwenye menyu si lazima kiweze kununuliwa kivyake. Unapojenga kipengele cha ununuzi, unapaswa kuangalia hali ya kuagizika inayorejeshwa na MCP na kumwelekeza mtumiaji kwanza kwenye seti halali; usidhani kuwa kadi inaweza kuunda oda kwa sababu tu inaweza kuonyeshwa.
Kulinda Token na shughuli za kuagiza
- Tumia kwanza vigezo vya mazingira kuingiza Token.
- Usiandike Token halisi katika
mcp-config.example.json. - Kagua upya bei kila mara kabla ya kuagiza.
- Thibitisha
quoteTokenya matumizi ya mara moja na muda wake wa uhalali. - Piga simu kwa
create-ordertu baada ya mtumiaji kuthibitisha wazi. - Shughulikia oda za majaribio kwa uangalifu na uthibitishe ikiwa zinahitaji kughairiwa kwa wakati.
Inawafaa watumiaji gani
- Watengenezaji wanaotaka kujifunza mtiririko wa simu za MCP wa McDonald's.
- Wataalamu wanaotaka kuunda WorkBuddy Agent Skill.
- Watumiaji wanaopenda ukusanyaji wa kadi, utoaji wa kadi na uchezaji wa albamu.
- Wafanyakazi wa ofisini au wanafunzi wanaotaka kulinganisha kalori na muundo wa lishe wa vyakula kwa njia nyepesi.
- Wahandisi wanaohitaji kuchunguza uchanganuzi wa data ya MCP, ukaguzi wa bei na mchakato salama wa kuagiza.
Muhtasari
Mkusanyaji wa Kadi za McDonald's huunganisha utafutaji wa menyu, ulinganishaji wa lishe, ukusanyaji wa kadi na kuagiza halisi kuwa mtiririko kamili. Unapotumia kwa mara ya kwanza, unaweza kuanza kwa kuchunguza kiolesura kupitia ukurasa wa mtandaoni, kisha kuendesha majaribio ya mstari wa amri kwa data ya mfano; baada ya kuthibitisha kuwa mantiki ni sahihi, sanidi Token ya MCP ya McDonald's na usakinishe Skill katika WorkBuddy.
Unapotumia kwa vitendo, zingatia hasa tofauti za miundo ya data, vikwazo vya kiolesura cha maduka, hali ya kuagizika ya seti na utaratibu wa uthibitisho wa pili. Bei zote, hali ya upatikanaji na maelezo ya vyakula vinapaswa kuthibitishwa kupitia matokeo ya wakati halisi kutoka njia rasmi za McDonald's.
