麦麦热量管家
演示 · 非麦当劳官方
一个装进 AI 里的麦当劳 Skill

减脂不是少吃你爱的,
是先换掉不值这口热量的。

你在 AI 里说今天吃了什么,它通过麦当劳 MCP 查官方营养、门店菜单和套餐换配,按你的口味和剩下的热量把麦当劳这一顿排好,核完价等你一句"下单"。

在 WorkBuddy、Claude、Cursor 等支持 MCP 的 AI 里使用。右边是它工作时的样子,下面每一步都能看到麦当劳 MCP 的真实返回。

AI 助手 · 麦麦热量管家已连接 mcd-mcp
中午吃了食堂黄焖鸡米饭,还喝了杯半糖奶茶。晚上想吃麦当劳,帮我安排一下

今天目标 1800 大卡:早餐 402(麦当劳,已记录),午餐约 950(估算),晚餐还剩 448 大卡。

你的老样子巨无霸三件套(949 大卡)放不下,我按味热比代价从小到大换:

  • 可乐 → 纯牛奶:少 18 大卡,多 7g 蛋白质
  • 巨无霸 → 麦乐鸡 5 块:少 300 大卡,代价 0.17
  • 中薯条 → 小杯玉米杯:少 236 大卡,代价 1.36

麦乐鸡经典中套餐(小杯玉米杯 + 纯牛奶)
395 大卡 · 蛋白质 21g · ¥25.0(官方核价)· 福州路餐厅 19:00 到店取

也可以:板烧鸡腿堡三件套(玉米杯 + 无糖可乐去冰 · 你说过一次)444 大卡 · ¥34.0

回复"下单"我就提交订单,付款在麦当劳官方页面完成。

每一步都是真实调用

数字不是 AI 编的。热量来自官方营养数据,价格来自官方计价接口。下面是这次演示里用到的麦当劳 MCP 工具,以及它们 2026-10-12 至 13 日的真实返回(节选,已脱敏)。

list-nutrition-foods

官方营养表,共 160 种餐品,用来算每样的热量和蛋白质。

看真实返回
[160]{productName,nutritionDescription,energyKj,energyKcal,protein,fat,carbohydrate,sodium,calcium}:
  麦乐鸡5块,null,890,213,12,12,13,422,9
  中薯条,null,1210,289,4,12,38,165,18
  巨无霸,null,2146,513,27,26,42,961,171
  板烧鸡腿堡,null,1638,391,23,17,35,1041,93
  小杯玉米杯,null,223,53,2,1,7,1,6
  可乐中杯,null,616,147,0,0,36,0,10
  无糖可口可乐中杯,null,0,0,0,0,1,35,0
  纯牛奶(盒装),null,541,129,7,7,10,73,231

query-nearby-stores

找附近能到店取餐的门店,以及能预约的时段。

看真实返回
{"storeCode":"1450441","storeName":"麦当劳上海福州路餐厅",
 "address":"福州路666号","distance":235,
 "businessStartTime":"06:30","businessEndTime":"23:00",
 "reservation":true, ... "夜市(17:14至21:45)" ...}

query-meals

这家店现在在卖什么、多少钱,拿到套餐的商品编码。

看真实返回
"9900005466":{"name":"巨无霸三件套","currentPrice":"36.5","originalPrice":"49"}
"9900005462":{"name":"板烧鸡腿堡三件套","currentPrice":"34.5","originalPrice":"47"}
"9900004835":{"name":"麦乐鸡套餐","currentPrice":"25","originalPrice":"37.5"}

query-meal-detail

套餐里能换什么、换了加多少钱。薯条换玉米杯、可乐换无糖,都在这里查。

看真实返回
{"name":"选择套餐内小食","choices":[
  {"code":"4810","name":"中薯条","diffPrice":"+ ¥0"},
  {"code":"4437","name":"小杯玉米杯","diffPrice":"- ¥0.5"}, ...]}
{"name":"选择套餐内饮料","choices":[
  {"code":"3050","name":"可乐中杯","diffPrice":"+ ¥0"},
  {"code":"3071","name":"无糖可口可乐中杯","diffPrice":"+ ¥0"}, ...]}

calculate-price

按换好的配法让官方算价。注意返回单位是"分",2500 分就是 ¥25.0,和引擎的估算一致。

看真实返回
{"productList":[{"productCode":"9900004835",
  "productName":"麦乐鸡经典中套餐","quantity":1,
  "originalSubtotal":2500,"subtotal":2500}],
 "price":2500,
 "takeWayList":[{"code":"eat-in","title":"堂食"},{"code":"take-in-store","title":"外带"}]}

create-order

只有你回复"下单"之后才会调用,返回订单号和支付链接。演示里不会调用。

它需要的参数
storeCode · orderType=1 · beType=1
takeWayCode(来自 calculate-price 的 takeWayList)
reservationDate · items[roundList]

换个午饭试试

目标 1800 大卡、蛋白质 90g,老样子是巨无霸三件套。午饭随便写一句,晚餐方案会跟着变。这里的排餐算法和 Skill 里的计算脚本是同一套,菜单、换配和营养都来自上海福州路餐厅的真实录制数据。

早餐 08:12 麦当劳 · 自动记录

  • 猪柳蛋麦满分387
  • 小杯鲜萃咖啡15
蛋白质 24g402 大卡

午餐 不是麦当劳 · 随便说

    晚餐 19:00 麦当劳 · 待你确认

      今天还剩 大卡留给晚餐
      早餐午餐(估算)晚餐方案

        福州路餐厅 · 19:00 到店取

        热量
        蛋白质
        价格

        价格 = 菜单现价 + 换配差价,和 calculate-price 实测一致;正式使用时每单都会再核一次。非麦当劳食物的热量是 AI 估算。

        味热比

        先用大众口味给每样餐品一个默认的"爱吃程度",你觉得不对就自己调。调一下,上面的晚餐方案会跟着变。

        味热比 = 爱吃程度 ÷ 每百大卡

        热量超了要换东西时,看换掉它的代价:少了多少爱吃程度,换来少了多少热量。代价最小的先换。0 大卡的无糖饮料不占热量。

        默认值来源:麦购网"麦当劳十大最受欢迎产品"综合指数(汇总大众点评、美团、饿了么的评价与热销情况,算法未公开,仅作起点),换算成 10 分制。榜单没有的餐品先给中间值 6.0。以后会根据你实际点过的单自动修正。

        一起吃也行 DLC

        两个人各有口味和目标,还是一张单、一次下单。

        你 · 减脂中,今晚剩 448 大卡
        麦乐鸡经典中套餐,小食换玉米杯,饮料换纯牛奶
        对象 · 不控制,最爱麦辣
        麦辣鸡腿汉堡三件套,不要生菜(TA 说过一次)