mcd-chinese-class

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Basarisiz
  • Hardcoded secret — Potential hardcoded credential in tests/test_mcp.py
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

麦门语文课 · 接入麦当劳官方 MCP(只读 order-list 读取真实订单),把餐品写成一篇语文课文。16 篇原创文学戏仿,纯 Python 标准库实现、不调用任何大模型;另附零依赖的网页版可离线体验,并一键导出手机分享图片。麦当劳程序员节创意开发大赛参赛作品。

README.md

📖 麦门语文课

今日这单,值得一篇课文。

一份麦当劳订单,十六种原创文学戏仿。 用官方 MCP 读取你的真实订单,几秒钟写成一篇“语文课文”;也可以在网页上离线体验。

🔎 MCP 技术实现 · 🎬 在线体验(网页版) · 📋 比赛报名 #716

程序员创意开发大赛作品 · 无付费 API · Python 标准库 · 只读 MCP · 本地隐私优先 · 附加完整静态网页

本项目非麦当劳官方产品。文学戏仿文章为独立创作,并非原著文字替换或官方教材。

🔗 接入真实麦当劳 MCP

项目通过官方麦当劳 MCP 的 order-list 只读工具读取真实历史订单,把餐品名、份数与套餐子项解析出来后生成课文。实际调用流程:

用户授权并在本机配置 Token
           │
           ▼
麦当劳 MCP Server ─ order-list (只读)
           │
           ▼
解析最近有效订单 → 识别餐品、份数与套餐子项
           │
           ▼
      生成文学课文
           │
           ├─ 直接显示终端输出
           └─ 导出仅含餐品名称/数量的 JSON → 网页生成并分享

1. 申请令牌并运行(Python 3.10+)

  1. 从 麦当劳 MCP 平台 按官方流程申请令牌。
  2. 在自己电脑的终端设置 MCD_MCP_TOKEN 环境变量,不要发在聊天或 Issue 里。
  3. 运行只读查询命令:
# macOS / Linux
export MCD_MCP_TOKEN="你的令牌"

# Windows PowerShell 另用此命令:
# $env:MCD_MCP_TOKEN="你的令牌"

python mcd_chinese.py --mcp

# 需要在网页里分享时,只导出商品名称与数量:
python mcd_chinese.py --mcp --export-web order-local.json

打开网页,选择「导入真实订单(脱敏 JSON)」,上传你刚刚生成的 order-local.json。浏览器不会拿到 Token、原始订单号、门店、价格和个人信息。

2. 盯单模式

python mcd_chinese.py --watch --interval 30

--watch 只处理启动后新增的订单,默认 30 秒检查一次;首次只记住当前最新订单,不会把历史订单误判为新单。停止请按 Ctrl+C。

3. 不用 Token 的命令行试玩

以下命令都不联网、不需要任何令牌,先看到效果再决定要不要接真实订单:

python mcd_chinese.py --demo
python mcd_chinese.py --items "巨无霸,中薯条,可乐" --lesson beiying
python mcd_chinese.py --list
python mcd_chinese.py --demo --md
python mcd_chinese.py --demo --json

真实验证边界: 本次重构针对 MCP 协议、订单结构、套餐和异常情况做了离线模拟测试,但没有你的真实 Token,尚未在真实非空订单上完成重构版的端到端联调。发布前请验证实际订单流程,详见 MCP_INTEGRATION.md。

📚 十六篇原创课文

作品 文学灵感 关键词
取餐的背影 《背影》 温情、家人
孔乙己的取餐码 《孔乙己》 人物、幽默
从菜单墙到靠窗座 《从百草园到三味书屋》 童趣、观察
故乡的那盏餐厅灯 《故乡》 记忆、友谊
登楼观餐记 《岳阳楼记》 古风、见闻
月光落在餐盘上 《荷塘月色》 深夜、独处
夜场散席以后 《社戏》 热闹、友谊
阿Q的点餐哲学 《阿Q正传》 自嘲、喜剧
范进中了取餐号 《儒林外史》人物故事 幽默、荒诞
误入取餐桃源 《桃花源记》 古风、奇遇
陋桌铭 《陋室铭》 短章、风趣
爱薯说 《爱莲说》 议论、分享
今日出餐表 《出师表》 书信、趣谈
春天的第一口 《春》 明朗、生活
最后一根薯条的立场 《变色龙》 对话、反转
微型餐盘观察记 《核舟记》 说明、细节

所有正文存放于 lessons.json。保留“文学语气”和巧妙的生活反差,不整段复制仍可能受版权保护的现代原著。餐品变量 {main}、{side}、{drink}、{items}、{count}、{kinds} 由订单替换。没有课后习题。

🎬 网页版:不用 Token 的离线体验

网页是同一套生成逻辑的浏览器版本,适合不想配置 Token 的人直接玩,也方便把结果发到手机。

  1. 挑餐品:点击巨无霸、薯条、可乐等快捷选项,也能输入自己的餐品。
  2. 选课文:从十六篇原创文学小品中挑风格;每篇都有独立的小故事。
  3. 带走课文:一键复制全文,或导出适合手机分享的高清 PNG 图片;长文按页导出。

直接打开 在线体验,无需账号、Token 或安装。 网页仅在本地运算,没有广告、远程 AI 请求或第三方追踪。

页面预览

麦门语文课桌面版界面

📱 查看手机端截图

麦门语文课手机端

项目的前端源码在 web/,成品 docs/index.html 为独立单文件,可直接由 GitHub Pages 托管。

提交新版本后,可用浏览器打开在线体验链接。开发者运行 python build_web.py 即可重新生成网页。

🧱 技术架构

模块 文件 职责
生成内核 engine.py 输入校验、分类、原创新课文渲染、稳定课号、脱敏输出
MCP 客户端 mcd_mcp.py Streamable HTTP / JSON-RPC、只读 order-list、订单解析
CLI mcd_chinese.py 命令行入口、真实订单、监控和 JSON 导出
课文库 lessons.json 16 篇独立原创文学小品
餐品词典 catalog.json 前后端统一的餐品分类规则与快捷选项
网页源码 web/template.html, web/style.css, web/app.js 手机友好 UI、文本安全渲染、PNG 导出、导入文件
构建 build_web.py 数据与资源注入单文件网页
演示产物 docs/index.html GitHub Pages 静态首页,单文件自包含
自动化测试 tests/ Python 生成/MCP/构建/浏览器测试
AI Skill SKILL.md Agent 的触发方式、命令、权限界限

重新构建和测试

python build_web.py
python -m unittest discover -s tests -p "test_*.py" -v

浏览器端到端测试需额外安装 仅供测试使用 的 Playwright(不影响项目运行零依赖):

python -m pip install playwright
python -m playwright install chromium
python tests/browser_smoke.py

🛡 隐私与安全

  • MCP Token 只在本地环境变量中读取,未被写进网页、JSON 导出物或仓库。
  • MCP 客户端只允许调用 order-list,没有下单、支付、领券、积分兑换等接口。
  • 服务错误默认不打印原始响应;生成文件只含商品名和数量。
  • 网页使用 DOM textContent 输出用户内容,避免通过 innerHTML 注入脚本;数据内联时转义危险脚本分隔符。
  • 无遥测,无第三方 CDN,无后端服务器。详见 SECURITY.md。

🏆 比赛与合规

本项目参与 麦当劳程序员创意开发大赛:

比赛奖项和排名按 官方 Star 排名与资格审核 认定。零 Star 项目不进入排行榜,只有进入最终榜单且合规审核通过才有获奖资格;本仓库不包含刷 Star 或榜单操作工具。

知识产权说明: 本仓库网页及代码采用 MIT 许可证。十六篇课文均为新写的原创文字,只借经典作品的情境与语气,不整段复制原著;逐篇的灵感来源、公有领域状态与仍然存在的风险写在 COPYRIGHT.md 里(它同时列出了尚未做的核查,不是法律意见)。作品上线前请由仓库维护者复查涉及的文字、图像和品牌素材,合理权利人可通过 Issues 联系。

❤️ 适合谁

  • 想把一顿麦当劳吃出一点文学感的人;
  • 喜欢文学戏仿、段子和轻量互动网页的人;
  • 想学习只读 MCP、确定性模板生成及静态网页构建的开发者。

如果你觉得有趣,欢迎分享体验链接或提出改进建议。感谢每一次真实的使用与反馈。

Yorumlar (0)

Sonuc bulunamadi