Skip to content

Mcd Git

用 git 命令点麦当劳:add 放购物车,rebase 凑最省,push 确认后才下单;card 生成 1024 吃麦贡献图(3D 汉堡天际线 / 年度小票)。基于麦当劳 MCP Server,附 --demo 无 Token 试玩和 Agent Skill。非官方参赛作品。

Install

$git clone https://github.com/zhutoumeme/mcd-git

Install command taken from the project's README or registry entry. Always review code before running it.

mcd-git · 用 git 命令点麦当劳

mcd-git add 放进购物车,mcd-git rebase 自动凑套餐、挑最省的券,mcd-git push 才真正下单,终端里直接出支付二维码;需要 Git 子命令语义时也可使用 git mcd。基于麦当劳中国 MCP Server(mcp.mcd.cn)。

动图和下面所有截图都是 --demo 合成数据:门店、价格、订单号、券都是编的,支付链接指向 example.com。

一套引擎,两个入口

  • 开发者:在终端里优先敲 mcd-git,人工操作和命令补全都以它为推荐入口。git-mcd 在 PATH 里时,也可以使用 Git 的 git mcd … 子命令语义;它不会碰你代码仓库的 .git。
  • 普通用户:把 SKILL.md 装进 WorkBuddy / Claude Code / Kiro,用大白话点餐,Agent 在后台跑 git mcd --json。

一段 Agent 对话(demo 数据):

你:   中午想吃巨无霸,不要酸黄瓜,再来中薯条和中可乐。12:20 去店外取餐柜拿,不要餐具,看看怎么最省。

Agent:(git mcd add 巨无霸 中薯条 中可乐 --no-pickle --json → git mcd rebase --json → git mcd diff --json)
       三样正好凑成巨无霸套餐,再用一张「示例·巨无霸套餐立减 5 元」:¥45.50 → ¥33.50。
       (git mcd commit -m 午饭 --json → git mcd push --at 12:20 --locker --no-tableware --json)
       门店 演示·代码港店 · 外带·店外取餐柜 · 预约 12:20 · 不要餐具
       巨无霸套餐 [巨无霸 · 中薯条 · 中可乐] 去酸黄瓜,应付 ¥33.50。要下单吗?付款需要你自己完成。

你:   确认。

Agent:(git mcd push --at 12:20 --locker --no-tableware --confirm bfc651c --json)
       下好了,请在 12:05 前打开这个链接付款:https://example.com/mcd-git-demo/pay?orderId=1024…
       付完跟我说一声,我帮你查取餐码。

和普通 Skill 的区别:确认由代码强制执行。 普通 Skill 只是一段提示词,Agent 手里有 MCP 连接器就能随时直接调 create-order。mcd-git 的 Skill 不需要给 Agent 配 MCP 连接器,Token 只给 mcd-git 用,Agent 手里只有 git mcd 这一套命令:下单必须先出确认摘要,再用 --confirm <commit 哈希> 执行;哈希、参数、重新算出的应付金额,任何一项和预览时对不上,代码都会拒绝。代码保证的是这三件事:一定先出预览,确认时不能换参数,价格会复核。至于 Agent 有没有先把摘要拿给你看、等你点头,代码分辨不出来,这一步靠 SKILL.md 的规则约束 Agent。

1024 特别版:生成你的吃麦贡献图

把吃麦记录(最多过去一年)画成一张卡片,有三种样式,用 --style 选:

  • 麦门天际线(skyline,默认):等距 3D,最多 53 周 × 7 天,每天吃了几次就叠几层汉堡(底面包、肉饼、芝士、生菜、顶面包),超过 4 层只画 4 层、顶上标一个「+」;10-24 那格插一面「0x400」小旗。打开时汉堡按周从左到右落下叠好,只播一次、3 秒内停在完整状态,系统开了「减弱动态效果」就直接显示完成状态。默认深色夜景,浅色模式下换成奶油底。宽版,适合贴在 GitHub 个人主页。
  • 年度吃麦小票(receipt):竖版热敏小票,最常点 TOP 5 当商品行,中间一块点阵热力图(红圈是 10-24),下面是时段分布、TOTAL 和一根装饰条形码。适合发朋友圈、小红书。
  • 平面格子(grid):GitHub 风格的 7 行 × 53 周格子,颜色深浅表示那天吃了几单,10-24 那格单独描边。最朴素,放进文档里也不扎眼。

平面格子(--style grid)

真实卡片从你最早一单开始画(最少 12 周,最多 53 周),随使用越来越满:麦当劳接口只给最近 10 单,更早的要靠本机账本慢慢攒;10-24 不在画出来的这几周里时,天际线不插小旗、小票不画红圈(天际线底部那格「10-24 / Happy 0x400 Day」是 1024 特别版的固定标语,一直都在)。上面三张是 demo 一年的合成数据,所以是满的;平面格子固定画 53 周。

终端里先出预览(终端画不出 3D,天际线和格子都用格子预览;小票直接打印文字版),同时在本机写一个 SVG:自包含(不引用外部字体、图片和脚本,重复的图形用 <defs> + <use> 复用),跟着系统切换浅色 / 深色,二三十 KB。同样的数据每次生成的文件都一样。

mcd-git --demo card                    # 先用合成数据看看效果(上面这张就是),写到当前目录的 mcd-contributions-skyline.svg
mcd-git card                           # 用你自己的记录,默认麦门天际线,从你最早一单画起
mcd-git card --style receipt           # 年度吃麦小票,默认写到 mcd-contributions-receipt.svg
mcd-git card --style grid              # 平面格子,默认写到 mcd-contributions-grid.svg
mcd-git card -o ~/Desktop/mcd.svg      # 换个地方写
mcd-git card --with-savings            # 卡片上多一项「用券省下 ¥X」(默认不出现任何金额)

默认文件名按样式区分(mcd-contributions-skyline.svg / -receipt.svg / -grid.svg),三种样式各写各的、连跑两种不会互相覆盖;用 -o 指定路径时完全听你的。节前(今天还没到 10-24)卡片会把右边界提前延伸到 10-24 那一周,提前标出「即将到来的程序员节」(天际线插旗、小票红圈、格子描边),不用等到当天才看得到。

--with-savings 的数是下限:order-list 不返回优惠明细,只有 push 过或 show 过的单才知道省了多少。天际线和小票上有单缺明细时会写「只算有优惠明细的 N 单,是下限」,终端里也会提示。

贴到 GitHub 个人主页(全程在本机手动完成):

  1. 建一个和用户名同名的仓库 <用户名>/<用户名>,GitHub 会把它的 README 显示在你的个人主页上;
  2. 在本机运行 mcd-git card -o <那个仓库的目录>/mcd-contributions.svg;
  3. 在那个仓库的 README.md 里加一行 ``;
  4. 自己 git add、git commit、git push。

不要用 GitHub Actions 定时生成。 MCP Token 不能放进 CI(服务规则不允许把凭证托管到第三方平台),也不允许自动化调用。想更新就在本机再跑一次 mcd-git card。

Similar plugs

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local…

Why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.

The 1st Collaborative AI Design Agent Workspace. Local-first and open source. Create prototypes, websites, apps, dashboards, presentations, images, and videos with your team…