Not in the top 1,000 by GitHub stars
miaoyhcat/mcd-chinese-class
麦门语文课 · 接入麦当劳官方 MCP(只读 order-list 读取真实订单),把餐品写成一篇语文课文。16 篇原创文学戏仿,纯 Python 标准库实现、不调用任何大模型;另附零依赖的网页版可离线体验,并一键导出手机分享图片。麦当劳程序员节创意开发大赛参赛作品。
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 65238becca1c
No earlier version was observed for comparison.
Heat
Insufficient historyNot enough history yet to measure heat. It appears after a few days of data.
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
mcd-chinese-class
When your agent uses it
把餐品清单或用户授权读取的麦当劳订单,生成原创语文课文戏仿。支持离线试玩、麦当劳 MCP order-list 只读工具、分享图片。用户提到“麦门语文课”“把订单写成课文”“用麦当劳订单生成故事”时使用。
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
423 tokensWhen the skill is activated
Reference documents
6,263 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心能力
- 命令
- 接入规则
- 输出
Scripts executed separately
build_web.pyconsole_utf8.pyengine.pymcd_chinese.pymcd_mcp.pytests/browser_smoke.pytests/test_build.pytests/test_engine.pytests/test_mcp.pyweb/app.js
Files
.gitattributesasset101 bytes.github/workflows/ci.ymlasset1,735 bytes.gitignoreasset144 bytesCONTEST_DECLARATION.mddoc1,522 bytesCOPYRIGHT.mddoc3,968 bytesLICENSEasset1,066 bytesMCP_INTEGRATION.mddoc3,862 bytesREADME.mddoc9,385 bytesSECURITY.mddoc537 bytesSKILL.mdcore1,505 bytesSKILL.mdcore1,505 bytesTEST_REPORT.mddoc2,762 bytesassets/preview-desktop.jpgasset138,876 bytesassets/preview-mobile.jpgasset146,589 bytesbuild_web.pyruns1,853 bytescatalog.jsonasset1,137 bytesconsole_utf8.pyruns801 bytesdocs/index.htmlasset49,968 bytesengine.pyruns7,096 byteslessons.jsonasset16,508 bytesmcd_chinese.pyruns3,956 bytesmcd_mcp.pyruns10,389 bytesmcp-config.example.jsonasset194 bytestests/browser_smoke.pyruns6,576 bytestests/test_build.pyruns3,246 bytestests/test_engine.pyruns3,544 bytestests/test_mcp.pyruns6,447 bytesweb/app.jsruns13,156 bytesweb/style.cssasset13,176 bytesweb/template.htmlasset7,849 bytes
Read SKILL.md
# 麦门语文课
## 核心能力
把用户指定的餐品或通过麦当劳 MCP `order-list` 读到的最近有效订单改写成原创文学小品。严禁把 Token、订单编号、收件信息等隐私信息写到输出。
## 命令
```bash
python mcd_chinese.py --demo
python mcd_chinese.py --items "巨无霸,中薯条,可乐" --lesson beiying
python mcd_chinese.py --items "巨无霸,中薯条,可乐" --json
python mcd_chinese.py --list
View the complete source on GitHubSkills included
- mcd-chinese-class
Repository facts
- License
- MIT
- Created
- Oct 14, 2026
- Last pushed
- Oct 18, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 10 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/index.html:15Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:16Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:17Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:99Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:97Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:98Analysis incomplete: physical or joined line exceeds character limitweb/style.css:4Analysis incomplete: physical or joined line exceeds character limitweb/style.css:5Analysis incomplete: physical or joined line exceeds character limitweb/style.css:6Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- No dangerous shell commands
- 50 network referencesin 8 files: docs/index.html:9 web/template.html:9 README.md:9 and 5 more
- No hidden or obfuscated text
- No instruction overrides
- 10 executable scriptsin 10 files: build_web.py:1 console_utf8.py:1 engine.py:1 and 7 more
- 9 references to secretsin 6 files: MCP_INTEGRATION.md:18 README.md:47 tests/test_build.py:43 and 3 more
- No requests to vote in Hot
Show all 69 signals by file
.gitignore
- Access to secretsline 4
[Credential-related source omitted]
MCP_INTEGRATION.md
README.md
- Network accessline 9
[🔎 **MCP 技术实现**](MCP_INTEGRATION.md) · [🎬 在线体验(网页版)](https://miaoyhcat.github.io/mcd-chinese-class/) · [📋 比赛报名 #716](https://github.com/M-China/mcd-developer-innovation-challenge/issues/716) - Network accessline 11
[](https://m8ven.ai/mcp/miaoyhcat/mcd-chinese-class?s=readme) - Network accessline 41
1. 从 [麦当劳 MCP 平台](https://open.mcd.cn/mcp) 按官方流程申请令牌。 - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Network accessline 113
**直接打开 [在线体验](https://miaoyhcat.github.io/mcd-chinese-class/),无需账号、Token 或安装。** 网页仅在本地运算,没有广告、远程 AI 请求或第三方追踪。 - Network accessline 169
本项目参与 [麦当劳程序员创意开发大赛](https://github.com/M-China/mcd-developer-innovation-challenge): - Network accessline 171
- 参赛申请:[Issue #716](https://github.com/M-China/mcd-developer-innovation-challenge/issues/716) - Network accessline 172
- 活动规则:[activityGuidelines.md](https://github.com/M-China/mcd-developer-innovation-challenge/blob/main/activityGuidelines.md) - Network accessline 179
**知识产权说明:** 本仓库网页及代码采用 MIT 许可证。十六篇课文均为新写的原创文字,只借经典作品的情境与语气,不整段复制原著;逐篇的灵感来源、公有领域状态与仍然存在的风险写在 [COPYRIGHT.md](COPYRIGHT.md) 里(它同时列出了尚未做的核查,不是法律意见)。作品上线前请由仓库维护者复查涉及的文字、图像和品牌素材,合理权利人可通过 [Issues](https://github.com/miaoyhcat/mcd-chinese-class/iss
SECURITY.md
build_web.py
- Executable scriptline 1
#!/usr/bin/env python3
console_utf8.py
- Executable scriptline 1
#!/usr/bin/env python3
docs/index.html
- Network accessline 9
<meta property="og:description" content="点几样餐品,生成专属课文。离线可玩,接入麦当劳 MCP 可导入真实订单。"> <title>麦门语文课 | 今日这单,值得一篇课文</title> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='10 - Network accessline 10
<title>麦门语文课 | 今日这单,值得一篇课文</title> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='24' fill='%23b74135'/%3E%3Ctext x='50' y='70' text-anchor='m - Network accessline 11
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='24' fill='%23b74135'/%3E%3Ctext x='50' y='70' text-anchor='middle' font-size='67'%3E📖%3C/text%3 - Network accessline 25
<header class="topbar"> <a class="brand" href="#top" aria-label="麦门语文课首页"><span class="brand-icon">麦</span><span>麦门语文课<small>THE LITERARY ORDER</small></span></a> <nav aria-label="主导航"><a href="#studio">开始创作</a><a href="#about">关于项目</a><a - Network accessline 26
<a class="brand" href="#top" aria-label="麦门语文课首页"><span class="brand-icon">麦</span><span>麦门语文课<small>THE LITERARY ORDER</small></span></a> <nav aria-label="主导航"><a href="#studio">开始创作</a><a href="#about">关于项目</a><a class="nav-github" href= - Network accessline 27
<nav aria-label="主导航"><a href="#studio">开始创作</a><a href="#about">关于项目</a><a class="nav-github" href="https://github.com/miaoyhcat/mcd-chinese-class" target="_blank" rel="noopener noreferrer">GitHub <span aria-hidden="true">↗</span></a></nav - Network accessline 89
<section id="about" class="about-section"> <div><p class="section-kicker">MORE THAN A JOKE</p><h2>写给有点饿,<br>又有点喜欢文字的人。</h2></div> <div class="about-body"><p>我们把点餐后的几分钟,变成一场小小的文学实验。每篇故事重新写作,餐品根据你的选择填入;不用登录、没有广告,也不调用付费大模型。</p><p>本项目另提供真实的麦当 - Network accessline 90
<div><p class="section-kicker">MORE THAN A JOKE</p><h2>写给有点饿,<br>又有点喜欢文字的人。</h2></div> <div class="about-body"><p>我们把点餐后的几分钟,变成一场小小的文学实验。每篇故事重新写作,餐品根据你的选择填入;不用登录、没有广告,也不调用付费大模型。</p><p>本项目另提供真实的麦当劳 MCP 只读接入:在自己的电脑运行命令行,读取最近有效订单,再导出只有餐品名称与数量 - Network accessline 91
<div class="about-body"><p>我们把点餐后的几分钟,变成一场小小的文学实验。每篇故事重新写作,餐品根据你的选择填入;不用登录、没有广告,也不调用付费大模型。</p><p>本项目另提供真实的麦当劳 MCP 只读接入:在自己的电脑运行命令行,读取最近有效订单,再导出只有餐品名称与数量的 JSON,交给网页继续创作。浏览器不会接收你的 Token。</p><a href="https://github.com/miaoyhcat/mcd-chinese-cl - Network accessline 92
</section> </main> <footer class="site-footer"><span class="footer-brand">麦门语文课 <small>MADE FOR WORDS & FOOD</small></span><p>独立开发 · 非麦当劳官方产品 · 所有作品为原创文学戏仿</p><a href="https://github.com/miaoyhcat/mcd-chinese-class/issues" target="_blank" r - Network accessline 93
</main> <footer class="site-footer"><span class="footer-brand">麦门语文课 <small>MADE FOR WORDS & FOOD</small></span><p>独立开发 · 非麦当劳官方产品 · 所有作品为原创文学戏仿</p><a href="https://github.com/miaoyhcat/mcd-chinese-class/issues" target="_blank" rel="noopene - Network accessline 94
<footer class="site-footer"><span class="footer-brand">麦门语文课 <small>MADE FOR WORDS & FOOD</small></span><p>独立开发 · 非麦当劳官方产品 · 所有作品为原创文学戏仿</p><a href="https://github.com/miaoyhcat/mcd-chinese-class/issues" target="_blank" rel="noopener norefe
engine.py
- Executable scriptline 1
Executable file
mcd_chinese.py
- Executable scriptline 1
#!/usr/bin/env python3
mcd_mcp.py
- Executable scriptline 1
Executable file - Network accessline 13
SERVER = 'https://mcp.mcd.cn' - Access to secretsline 92
[Credential-related source omitted] - Network accessline 93
[Credential-related source omitted] - Network accessline 94
raise MCPError('缺少 MCD_MCP_TOKEN,请先配置环境变量') self._opener = opener or urllib.request.urlopen self._counter = 0 - Network accessline 95
self._opener = opener or urllib.request.urlopen - Network accessline 105
if params is not None: data['params'] = params req = urllib.request.Request(SERVER, data=json.dumps(data).encode('utf-8'), method='POST') - Network accessline 106
data['params'] = params req = urllib.request.Request(SERVER, data=json.dumps(data).encode('utf-8'), method='POST') req.add_header('Authorization', f'Bearer {self.token}') - Network accessline 107
req = urllib.request.Request(SERVER, data=json.dumps(data).encode('utf-8'), method='POST')
mcp-config.example.json
tests/browser_smoke.py
- Executable scriptline 1
Executable file
tests/test_build.py
- Executable scriptline 1
Executable file - Network accessline 27
self.assertNotIn('innerHTML',page) self.assertNotIn('课后习题',page) self.assertNotIn('http://fonts',page) - Network accessline 28
self.assertNotIn('课后习题',page) self.assertNotIn('http://fonts',page) self.assertFalse(re.search(r'<script\s+[^>]*src=',page)) - Network accessline 29
self.assertNotIn('http://fonts',page) - Network accessline 42
config=json.loads((ROOT/'mcp-config.example.json').read_text('utf-8')) self.assertEqual(config['mcpServers']['mcd-mcp']['headers']['Authorization'],'Bearer ${MCD_MCP_TOKEN}') self.assertEqual(config['mcpServers']['mcd-mcp'][ - Access to secretsline 43
[Credential-related source omitted] - Network accessline 44
self.assertEqual(config['mcpServers']['mcd-mcp']['url'],'https://mcp.mcd.cn') - Access to secretsline 59
[Credential-related source omitted]
tests/test_engine.py
- Executable scriptline 1
Executable file
tests/test_mcp.py
- Executable scriptline 1
Executable file
web/app.js
- Executable scriptline 1
Executable file
web/template.html
- Network accessline 9
<meta property="og:description" content="点几样餐品,生成专属课文。离线可玩,接入麦当劳 MCP 可导入真实订单。"> <title>麦门语文课 | 今日这单,值得一篇课文</title> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='10 - Network accessline 10
<title>麦门语文课 | 今日这单,值得一篇课文</title> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='24' fill='%23b74135'/%3E%3Ctext x='50' y='70' text-anchor='m - Network accessline 11
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='24' fill='%23b74135'/%3E%3Ctext x='50' y='70' text-anchor='middle' font-size='67'%3E📖%3C/text%3 - Network accessline 15
<header class="topbar"> <a class="brand" href="#top" aria-label="麦门语文课首页"><span class="brand-icon">麦</span><span>麦门语文课<small>THE LITERARY ORDER</small></span></a> <nav aria-label="主导航"><a href="#studio">开始创作</a><a href="#about">关于项目</a><a - Network accessline 16
<a class="brand" href="#top" aria-label="麦门语文课首页"><span class="brand-icon">麦</span><span>麦门语文课<small>THE LITERARY ORDER</small></span></a> <nav aria-label="主导航"><a href="#studio">开始创作</a><a href="#about">关于项目</a><a class="nav-github" href= - Network accessline 17
<nav aria-label="主导航"><a href="#studio">开始创作</a><a href="#about">关于项目</a><a class="nav-github" href="https://github.com/miaoyhcat/mcd-chinese-class" target="_blank" rel="noopener noreferrer">GitHub <span aria-hidden="true">↗</span></a></nav - Network accessline 79
<section id="about" class="about-section"> <div><p class="section-kicker">MORE THAN A JOKE</p><h2>写给有点饿,<br>又有点喜欢文字的人。</h2></div> <div class="about-body"><p>我们把点餐后的几分钟,变成一场小小的文学实验。每篇故事重新写作,餐品根据你的选择填入;不用登录、没有广告,也不调用付费大模型。</p><p>本项目另提供真实的麦当 - Network accessline 80
<div><p class="section-kicker">MORE THAN A JOKE</p><h2>写给有点饿,<br>又有点喜欢文字的人。</h2></div> <div class="about-body"><p>我们把点餐后的几分钟,变成一场小小的文学实验。每篇故事重新写作,餐品根据你的选择填入;不用登录、没有广告,也不调用付费大模型。</p><p>本项目另提供真实的麦当劳 MCP 只读接入:在自己的电脑运行命令行,读取最近有效订单,再导出只有餐品名称与数量 - Network accessline 81
<div class="about-body"><p>我们把点餐后的几分钟,变成一场小小的文学实验。每篇故事重新写作,餐品根据你的选择填入;不用登录、没有广告,也不调用付费大模型。</p><p>本项目另提供真实的麦当劳 MCP 只读接入:在自己的电脑运行命令行,读取最近有效订单,再导出只有餐品名称与数量的 JSON,交给网页继续创作。浏览器不会接收你的 Token。</p><a href="https://github.com/miaoyhcat/mcd-chinese-cl - Network accessline 82
</section> </main> <footer class="site-footer"><span class="footer-brand">麦门语文课 <small>MADE FOR WORDS & FOOD</small></span><p>独立开发 · 非麦当劳官方产品 · 所有作品为原创文学戏仿</p><a href="https://github.com/miaoyhcat/mcd-chinese-class/issues" target="_blank" r - Network accessline 83
</main> <footer class="site-footer"><span class="footer-brand">麦门语文课 <small>MADE FOR WORDS & FOOD</small></span><p>独立开发 · 非麦当劳官方产品 · 所有作品为原创文学戏仿</p><a href="https://github.com/miaoyhcat/mcd-chinese-class/issues" target="_blank" rel="noopene - Network accessline 84
<footer class="site-footer"><span class="footer-brand">麦门语文课 <small>MADE FOR WORDS & FOOD</small></span><p>独立开发 · 非麦当劳官方产品 · 所有作品为原创文学戏仿</p><a href="https://github.com/miaoyhcat/mcd-chinese-class/issues" target="_blank" rel="noopener norefe
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 40 facts
- Network access in prose of documentationMCP_INTEGRATION.md:5Low confidence
- Access to secrets in code of documentationMCP_INTEGRATION.md:18Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueMCP_INTEGRATION.md:61Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:41Low confidence
- Access to secrets in code of documentationREADME.md:47Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:50Low confidence
- Network access in prose of documentationREADME.md:113Low confidence
- Network access in prose of documentationREADME.md:169Low confidence
- Network access in prose of documentationREADME.md:171Low confidence
- Network access in prose of documentationREADME.md:172Low confidence
- Network access in prose of documentationREADME.md:179Low confidence
- Network access in prose of documentationSECURITY.md:5Low confidence
- Network access in prose of documentationSECURITY.md:7Low confidence
- Executable script in code of a file that runsbuild_web.py:1High confidence
- Executable script in code of a file that runsconsole_utf8.py:1High confidence
- Executable script in prose of a file that runsengine.py:1Low confidence
- Executable script in code of a file that runsmcd_chinese.py:1High confidence
- Executable script in prose of a file that runsmcd_mcp.py:1Low confidence
- Network access in code of a file that runsmcd_mcp.py:13High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemcd_mcp.py:92Low confidence
- Network access in code of a file that runsmcd_mcp.py:93High confidence
- Network access in code of a file that runsmcd_mcp.py:94High confidence
- Network access in code of a file that runsmcd_mcp.py:95High confidence
- Network access in code of a file that runsmcd_mcp.py:105High confidence
- Network access in code of a file that runsmcd_mcp.py:106High confidence
- Network access in code of a file that runsmcd_mcp.py:107High confidence
- Executable script in prose of a testtests/browser_smoke.py:1Low confidence
- Executable script in code of a testtests/test_build.py:1Low confidence
- Network access in code of a testtests/test_build.py:27Low confidence
- Network access in code of a testtests/test_build.py:28Low confidence
- Network access in code of a testtests/test_build.py:29Low confidence
- Network access in code of a testtests/test_build.py:42Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_build.py:43Low confidence
- Network access in code of a testtests/test_build.py:44Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_build.py:59Low confidence
- Executable script in code of a testtests/test_engine.py:1Low confidence
- Executable script in code of a testtests/test_mcp.py:1Low confidence
- Executable script in code of a file that runsweb/app.js:1High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.