Not in the top 1,000 by GitHub stars
smallchristy123/mcmeal-compass
基于麦当劳中国官方 MCP 的营养搭配工具:套餐逐件展开求官方营养、官方计价并标出每个金额的价源、取不到就如实标"未知"而不填 0。离线可跑,无需 Token。不提供下单能力。
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 → a8e6fac580d3
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
mcmeal-compass
When your agent uses it
麦当劳菜单营养决策助手(离线可演示 / 在线可核实)。当用户想知道「某家麦当劳门店某预算下吃什么更合适」「这份套餐多少热量/蛋白」「官方实付多少钱」时使用;给出三种视角方案(预算优先 / 蛋白质优先 / 均衡优先),并对每项营养与价格如实标注来源与可信度。不代替下单。
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
2,250 tokensWhen the skill is activated
Reference documents
87,671 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 何时使用
- 前置
- 用法
- 输出约定(**这是本技能的重点**)
- 边界(务必遵守)
- 自检与复现
- 参考资料
Scripts executed separately
package.jsonscripts/capture-fixtures.tsscripts/check-combo-decomposition.tsscripts/check-placeholders.mjsscripts/fixture-manifest.tsscripts/independent-online-verify.mjsscripts/measure-matching.tsscripts/propose-aliases.tsscripts/release/pack.pyscripts/review-samples.tsscripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjsscripts/review-scaffolds/mcmeal-v3-additional-probes-2026-10-12.mjsscripts/review-scaffolds/modern-shape.mjsscripts/review-scaffolds/price-raw.mjsscripts/review-scaffolds/ratelimit-probe.mjsscripts/secrets-scan.mjsscripts/source-identity.mjsscripts/sync-version.mjsscripts/v373-edge-probe.tsscripts/v374-edge-probe.tssrc/aliases.tssrc/analyze.tssrc/capture-guard.tssrc/cli.tssrc/constraints.tssrc/decompose.tssrc/detail-loader.tssrc/explain.tssrc/fixtures.tssrc/freshness.tssrc/matching.tssrc/mcp-client.tssrc/money.tssrc/order-guard.tssrc/pricing.tssrc/recommend.tssrc/schema.tssrc/score.tssrc/text-width.tssrc/toon.tssrc/validate.tssrc/version.tstests/analyze.test.tstests/cli.test.tstests/combo-substitution.test.tstests/dataguard.test.tstests/decide.test.tstests/decompose.test.tstests/fixtures.test.tstests/human-review-2026-10-12.test.tstests/matching.test.tstests/money.test.tstests/protocol.test.tstests/schema.test.tstests/security.test.tstests/substitution-pricing.test.tstests/text-width.test.tstests/toon.test.tstests/v3-acceptance.test.tstests/v3-probe-regression.test.tstests/v33-review-regression.test.tstests/v34-review-regression.test.tstests/v36-a-level.test.tstests/v361-api-consistency.test.tstests/v362-reallimit.test.tstests/v373-review-regression.test.tstests/v374-review-regression.test.tstests/variant-flavor.test.tstests/version-identity.test.ts
Files
.gitattributesasset1,265 bytes.gitignoreasset531 bytesCONTEST_DECLARATION.mddoc1,522 bytesLICENSEasset1,072 bytesMCP_INTEGRATION.mddoc7,463 bytesREADME.mddoc28,295 bytesSKILL.mdcore7,244 bytesSKILL.mdcore7,244 bytesSKILL.mdcore7,244 bytesSKILL.mdcore7,244 bytesdocs/API_PROBE_NOTES.mddoc6,246 bytesdocs/DECISION_NOTES.mddoc62,339 bytesdocs/DEMO_SCRIPT.mddoc7,128 bytesdocs/HUMAN_REVIEW.mddoc9,591 bytesdocs/MATCHING_NOTES.mddoc11,461 bytesdocs/RETROSPECTIVE-2026-10-10.mddoc9,341 bytesdocs/REVIEW-DISPOSITION-2026-10-11.mddoc10,708 bytesdocs/REVIEW-RESPONSE-2026-10-11.mddoc8,362 bytesdocs/REVIEW-RESPONSE-v3-2026-10-12.mddoc25,075 bytesdocs/REVIEW-RESPONSE-v3.3-2026-10-12.mddoc9,752 bytesdocs/REVIEW-RESPONSE-v3.4-2026-10-12.mddoc9,116 bytesdocs/REVIEW-RESPONSE-v3.5-2026-10-12.mddoc5,216 bytesdocs/REVIEW-RESPONSE-v3.6-2026-10-12.mddoc3,500 bytesdocs/REVIEW-RESPONSE-v3.6.1-2026-10-12.mddoc4,995 bytesdocs/REVIEW-RESPONSE-v3.6.2-2026-10-12.mddoc5,602 bytesdocs/REVIEW-RESPONSE-v3.6.3-2026-10-13.mddoc4,208 bytesdocs/REVIEW-RESPONSE-v3.6.4-2026-10-13.mddoc4,553 bytesdocs/REVIEW-RESPONSE-v3.6.5-2026-10-13.mddoc5,515 bytesdocs/SIGNOFF-v3.6.1-2026-10-12.mddoc3,781 bytesdocs/SIGNOFF-v3.6.2-2026-10-12.mddoc2,317 bytesdocs/SIGNOFF-v3.6.3-2026-10-13.mddoc2,407 bytesdocs/SIGNOFF-v3.6.4-2026-10-13.mddoc2,177 bytesdocs/SIGNOFF-v3.6.5-2026-10-13.mddoc2,545 bytesdocs/assets/demo.gifasset246,330 bytesdocs/assets/how-it-works.svgasset9,989 bytesdocs/assets/trust-levels.svgasset9,742 bytesdocs/demo/README.mddoc5,962 bytesdocs/demo/offline-20261014-budget35-balance.txtdoc5,514 bytesdocs/demo/online-20261014-194006-budget35-balance.txtdoc4,500 bytesdocs/demo/online-20261014-194102-budget40-variant.txtdoc4,504 bytesdocs/demo/online-20261014-194119-budget28-balance.txtdoc4,477 bytesdocs/demo/online-20261014-194136-budget45-protein.txtdoc4,513 bytesdocs/demo/online-20261014-194155-budget45-json.jsonasset21,035 bytesdocs/demo/online-20261016-103614-budget80-protein35.txtdoc5,299 bytesdocs/demo/online-20261016-103621-budget80-protein35-variant-colalarge.txtdoc5,299 bytesdocs/demo/online-20261016-103730-budget65-protein35.txtdoc5,297 bytesdocs/demo/online-20261016-105347-budget80-protein35.txtdoc5,299 bytesdocs/demo/online-20261016-105353-budget80-protein35-swap-sugarfree-coke.txtdoc5,856 bytesdocs/human-review/README.mddoc2,283 bytesdocs/human-review/human-review-samples-blank.csvasset6,213 bytesdocs/human-review/human-review-samples-filled-before-signoff.csvasset11,746 bytesdocs/human-review/human-review-samples-filled.csvasset13,532 bytesdocs/human-review/human-review-samples-reclassified.csvasset13,526 bytesdocs/human-review/human-review-score-reclassified.txtdoc2,775 bytesdocs/human-review/human-review-score.txtdoc2,684 bytesfixtures/README.mddoc3,216 bytesfixtures/baseline-20261010-3450024/calculate-price.raw.txtdoc3,421 bytesfixtures/baseline-20261010-3450024/list-nutrition-foods.raw.jsonasset8,945 bytesfixtures/baseline-20261010-3450024/manifest.jsonasset1,436 bytesfixtures/baseline-20261010-3450024/meal-details.bundle.jsonasset237,519 bytesfixtures/baseline-20261010-3450024/query-meal-detail.raw.txtdoc15,530 bytesfixtures/baseline-20261010-3450024/query-meals.raw.txtdoc35,000 bytesfixtures/baseline-20261010-3450024/query-nearby-stores.raw.txtdoc3,683 bytesmcp-config.example.jsonasset194 bytespackage-lock.jsonasset1,896 bytespackage.jsonruns1,538 bytesscripts/capture-fixtures.tsruns9,062 bytesscripts/check-combo-decomposition.tsruns4,219 bytesscripts/check-placeholders.mjsruns7,873 bytesscripts/fixture-manifest.tsruns10,279 bytesscripts/independent-online-verify.mjsruns15,036 bytesscripts/measure-matching.tsruns4,474 bytesscripts/propose-aliases.tsruns5,958 bytesscripts/release/pack.pyruns19,094 bytesscripts/review-samples.tsruns12,002 bytesscripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjsruns10,375 bytesscripts/review-scaffolds/mcmeal-v3-additional-probes-2026-10-12.mjsruns4,026 bytesscripts/review-scaffolds/modern-shape.mjsruns2,714 bytesscripts/review-scaffolds/price-raw.mjsruns4,494 bytesscripts/review-scaffolds/ratelimit-probe.mjsruns8,901 bytesscripts/secrets-scan.mjsruns8,810 bytesscripts/source-identity.mjsruns5,768 bytesscripts/sync-version.mjsruns2,750 bytesscripts/v373-edge-probe.tsruns6,133 bytesscripts/v374-edge-probe.tsruns3,726 bytessrc/aliases.tsruns4,456 bytessrc/analyze.tsruns29,014 bytessrc/capture-guard.tsruns1,852 bytessrc/cli.tsruns41,415 bytessrc/constraints.tsruns13,322 bytessrc/decompose.tsruns15,582 bytessrc/detail-loader.tsruns2,528 bytessrc/explain.tsruns11,954 bytessrc/fixtures.tsruns6,994 bytessrc/freshness.tsruns10,560 bytessrc/matching.tsruns23,512 bytessrc/mcp-client.tsruns32,341 bytessrc/money.tsruns2,838 bytessrc/order-guard.tsruns8,230 bytessrc/pricing.tsruns59,015 bytessrc/recommend.tsruns23,499 bytessrc/schema.tsruns14,981 bytessrc/score.tsruns8,708 bytessrc/text-width.tsruns2,462 bytessrc/toon.tsruns11,414 bytessrc/validate.tsruns4,412 bytessrc/version.tsruns464 bytestests/analyze.test.tsruns10,062 bytestests/cli.test.tsruns7,919 bytestests/combo-substitution.test.tsruns11,580 bytestests/dataguard.test.tsruns4,151 bytestests/decide.test.tsruns24,591 bytestests/decompose.test.tsruns11,175 bytestests/fixtures.test.tsruns3,309 bytestests/human-review-2026-10-12.test.tsruns4,245 bytestests/matching.test.tsruns12,581 bytestests/money.test.tsruns3,071 bytestests/protocol.test.tsruns11,286 bytestests/schema.test.tsruns6,206 bytestests/security.test.tsruns18,957 bytestests/substitution-pricing.test.tsruns20,060 bytestests/text-width.test.tsruns3,661 bytestests/toon.test.tsruns9,270 bytestests/v3-acceptance.test.tsruns20,019 bytestests/v3-probe-regression.test.tsruns13,014 bytestests/v33-review-regression.test.tsruns10,038 bytestests/v34-review-regression.test.tsruns5,166 bytestests/v36-a-level.test.tsruns4,539 bytestests/v361-api-consistency.test.tsruns5,086 bytestests/v362-reallimit.test.tsruns7,416 bytestests/v373-review-regression.test.tsruns12,818 bytestests/v374-review-regression.test.tsruns8,989 bytestests/variant-flavor.test.tsruns4,188 bytestests/version-identity.test.tsruns5,058 bytestsconfig.jsonasset457 bytesworkbuddy.mddoc5,992 bytes
Read SKILL.md
# McMeal Compass · 菜单营养决策助手
给一份麦当劳菜单,回答「**在这个预算里,吃哪个更合适**」——并**如实标注每一项证据**:
哪条营养来自官方、哪条只是部分可知、哪条无法验证;价格是**官方实付**还是**未核实的菜单价**。
## 何时使用
- 用户问「XX 元预算在麦当劳吃什么」「哪份套餐蛋白高」「这份多少卡」
- 用户给出偏好(预算 / 蛋白质 / 均衡)或约束(最低蛋白、避开含糖饮料、过敏)
- 需要**可交代来源**的营养与价格结论(不是凭印象推荐)
## 前置
| 模式 | 前置 | 说明 |View the complete source on GitHubSkills included
- mcmeal-compass
Repository facts
- License
- MIT
- Created
- Oct 10, 2026
- Last pushed
- Oct 19, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 7 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedfixtures/baseline-20261010-3450024/list-nutrition-foods.raw.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/baseline-20261010-3450024/meal-details.bundle.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/baseline-20261010-3450024/query-meal-detail.raw.txt:58Analysis incomplete: physical or joined line exceeds character limitfixtures/baseline-20261010-3450024/query-meals.raw.txt:39Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- No dangerous shell commands
- 122 network referencesin 22 files: tests/security.test.ts:74 package-lock.json:21 scripts/review-scaffolds/ratelimit-probe.mjs:25 and 19 more
- No hidden or obfuscated text
- No instruction overrides
- 69 executable scriptsin 69 files: package.json:1 scripts/capture-fixtures.ts:1 scripts/check-combo-decomposition.ts:1 and 66 more
- 18 references to secretsin 11 files: tests/security.test.ts:85 README.md:121 scripts/independent-online-verify.mjs:70 and 8 more
- No requests to vote in Hot
Show all 209 signals by file
.gitignore
- Access to secretsline 12
[Credential-related source omitted]
MCP_INTEGRATION.md
- Network accessline 10
|---|---| | 服务名 | `mcd-mcp`(麦当劳中国官方 MCP Server) | | 接入端点 | `https://mcp.mcd.cn` | - Network accessline 11
| 服务名 | `mcd-mcp`(麦当劳中国官方 MCP Server) | | 接入端点 | `https://mcp.mcd.cn` | | 传输协议 | **Streamable HTTP** | - Network accessline 12
| 接入端点 | `https://mcp.mcd.cn` | - Network accessline 23
> Token 由使用者自行在 [麦当劳 MCP 开放平台](https://open.mcd.cn/mcp) 申请,**不随仓库分发**。
README.md
- Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 166
[Credential-related source omitted] - Network accessline 174
1. 访问 [麦当劳 MCP 开放平台](https://open.mcd.cn/mcp),用手机号登录并**申请自己的 MCP Token**(详见[官方接入指南](https://github.com/M-China/mcd-mcp-server))。 - Network accessline 323
**实测口径**(详见 `docs/API_PROBE_NOTES.md`):MCP 端点 `https://mcp.mcd.cn`(根路径)、共 35 个工具;
SKILL.md
docs/API_PROBE_NOTES.md
docs/assets/how-it-works.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 620" width="1000" height="620" role="img" aria-labelledby="t d">
docs/assets/trust-levels.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 672" width="1000" height="672" role="img" aria-labelledby="t2 d2">
mcp-config.example.json
package-lock.json
- Network accessline 21
"node_modules/@types/node": { "version": "26.6.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz", - Network accessline 22
"version": "26.6.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz", "integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==", - Network accessline 23
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz", - Network accessline 31
"node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - Network accessline 32
"version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - Network accessline 33
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - Network accessline 45
"node_modules/undici-types": { "version": "8.9.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", - Network accessline 46
"version": "8.9.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", - Network accessline 47
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", - Network accessline 52
"node_modules/zod": { "version": "4.6.5", "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz", - Network accessline 53
"version": "4.6.5", "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz", "integrity": "sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==", - Network accessline 54
"resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz", - Network accessline 56
"license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" - Network accessline 57
"funding": { "url": "https://github.com/sponsors/colinhacks" } - Network accessline 58
"url": "https://github.com/sponsors/colinhacks"
package.json
- Executable scriptline 1
Executable file
scripts/capture-fixtures.ts
- Executable scriptline 1
Executable file
scripts/check-combo-decomposition.ts
- Executable scriptline 1
Executable file
scripts/check-placeholders.mjs
- Executable scriptline 1
Executable file
scripts/fixture-manifest.ts
- Executable scriptline 1
Executable file
scripts/independent-online-verify.mjs
- Executable scriptline 1
Executable file - Network accessline 61
const ENDPOINT = 'https://mcp.mcd.cn'; - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Network accessline 93
} })(); const res = await globalThis.fetch(url, init); - Network accessline 94
})(); const res = await globalThis.fetch(url, init); const headers = {}; - Network accessline 95
const res = await globalThis.fetch(url, init);
scripts/measure-matching.ts
- Executable scriptline 1
Executable file
scripts/propose-aliases.ts
- Executable scriptline 1
Executable file
scripts/release/pack.py
- Executable scriptline 1
Executable file
scripts/review-samples.ts
- Executable scriptline 1
Executable file
scripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjs
scripts/review-scaffolds/mcmeal-v3-additional-probes-2026-10-12.mjs
- Executable scriptline 1
Executable file
scripts/review-scaffolds/modern-shape.mjs
scripts/review-scaffolds/price-raw.mjs
scripts/review-scaffolds/ratelimit-probe.mjs
- Executable scriptline 1
Executable file - Access to secretsline 19
[Credential-related source omitted] - Network accessline 25
const ENDPOINT = 'https://mcp.mcd.cn'; - Network accessline 47
} })(); const res = await globalThis.fetch(url, init); - Network accessline 48
})(); const res = await globalThis.fetch(url, init); const headers = {}; - Network accessline 49
const res = await globalThis.fetch(url, init); - Network accessline 100
let seq = 0; const record = (row) => { out.requests.push(row); - Network accessline 101
const record = (row) => { out.requests.push(row); const key = String(row.httpStatus ?? (row.ok ? 200 : 'ERR')); - Network accessline 102
out.requests.push(row); - Network accessline 179
const failed = out.requests.filter((r) => !r.ok); - Network accessline 224
elapsedSeconds: Number(((Date.now() - startedAt) / 1000).toFixed(2)), peakRequestsIn60s: Math.max( ...out.requests.map((_, idx) => inLast60s(out.requests.slice(0, idx + 1))), - Network accessline 225
peakRequestsIn60s: Math.max( ...out.requests.map((_, idx) => inLast60s(out.requests.slice(0, idx + 1))), out.requests.length, - Network accessline 226
...out.requests.map((_, idx) => inLast60s(out.requests.slice(0, idx + 1))),
scripts/secrets-scan.mjs
scripts/source-identity.mjs
- Executable scriptline 1
Executable file
scripts/sync-version.mjs
- Executable scriptline 1
Executable file
scripts/v373-edge-probe.ts
- Executable scriptline 1
Executable file
scripts/v374-edge-probe.ts
- Executable scriptline 1
Executable file
src/aliases.ts
- Executable scriptline 1
Executable file
src/analyze.ts
- Executable scriptline 1
Executable file
src/capture-guard.ts
- Executable scriptline 1
Executable file
src/cli.ts
- Executable scriptline 1
Executable file - Access to secretsline 284
[Credential-related source omitted] - Network accessline 287
} const client = new McpClient({ url: process.env['MCD_MCP_URL'] ?? 'https://mcp.mcd.cn', - Network accessline 288
const client = new McpClient({ url: process.env['MCD_MCP_URL'] ?? 'https://mcp.mcd.cn', token, - Network accessline 289
url: process.env['MCD_MCP_URL'] ?? 'https://mcp.mcd.cn',
src/constraints.ts
- Executable scriptline 1
Executable file
src/decompose.ts
- Executable scriptline 1
Executable file - Network accessline 288
if (takenRounds.has(round.id)) { notes.push(`轮次「${labelOf(round)}」被指定多次,已采用最后一条(${hit.name})`); const at = requests.findIndex((x) => x.roundId === round.id); - Network accessline 289
notes.push(`轮次「${labelOf(round)}」被指定多次,已采用最后一条(${hit.name})`); const at = requests.findIndex((x) => x.roundId === round.id); if (at >= 0) { - Network accessline 290
const at = requests.findIndex((x) => x.roundId === round.id); - Network accessline 302
} takenRounds.add(round.id); requests.push({ roundId: round.id, choiceCode: hit.code }); - Network accessline 303
takenRounds.add(round.id); requests.push({ roundId: round.id, choiceCode: hit.code }); applied.push({ - Network accessline 304
requests.push({ roundId: round.id, choiceCode: hit.code });
src/detail-loader.ts
- Executable scriptline 1
Executable file
src/explain.ts
- Executable scriptline 1
Executable file
src/fixtures.ts
- Executable scriptline 1
Executable file
src/freshness.ts
- Executable scriptline 1
Executable file
src/matching.ts
- Executable scriptline 1
Executable file
src/mcp-client.ts
- Executable scriptline 1
Executable file - Network accessline 3
* * 实测口径(见 docs/API_PROBE_NOTES.md): * · 端点:`https://mcp.mcd.cn` —— **根路径**(`/mcp`、`/sse` 等一律 404) - Network accessline 4
[Credential-related source omitted] - Network accessline 5
* · 端点:`https://mcp.mcd.cn` —— **根路径**(`/mcp`、`/sse` 等一律 404) - Network accessline 740
[Credential-related source omitted] - Network accessline 741
[Credential-related source omitted] - Access to secretsline 741
[Credential-related source omitted] - Network accessline 742
const url = env['MCD_MCP_URL'] ?? 'https://mcp.mcd.cn';
src/money.ts
- Executable scriptline 1
Executable file
src/order-guard.ts
- Executable scriptline 1
Executable file
src/pricing.ts
- Executable scriptline 1
Executable file
src/recommend.ts
- Executable scriptline 1
Executable file
src/schema.ts
- Executable scriptline 1
Executable file
src/score.ts
- Executable scriptline 1
Executable file
src/text-width.ts
- Executable scriptline 1
Executable file
src/toon.ts
- Executable scriptline 1
Executable file
src/validate.ts
- Executable scriptline 1
Executable file
src/version.ts
- Executable scriptline 1
Executable file
tests/analyze.test.ts
- Executable scriptline 1
Executable file
tests/cli.test.ts
- Executable scriptline 1
Executable file
tests/combo-substitution.test.ts
- Executable scriptline 1
Executable file
tests/dataguard.test.ts
- Executable scriptline 1
Executable file
tests/decide.test.ts
- Executable scriptline 1
Executable file
tests/decompose.test.ts
- Executable scriptline 1
Executable file
tests/fixtures.test.ts
- Executable scriptline 1
Executable file
tests/human-review-2026-10-12.test.ts
- Executable scriptline 1
Executable file
tests/matching.test.ts
- Executable scriptline 1
Executable file
tests/money.test.ts
- Executable scriptline 1
Executable file
tests/protocol.test.ts
tests/schema.test.ts
- Executable scriptline 1
Executable file
tests/security.test.ts
- Executable scriptline 1
Executable file - Network accessline 74
[Credential-related source omitted] - Network accessline 75
[Credential-related source omitted] - Network accessline 76
[Credential-related source omitted] - Network accessline 84
[Credential-related source omitted] - Network accessline 85
[Credential-related source omitted] - Access to secretsline 85
[Credential-related source omitted] - Network accessline 86
[Credential-related source omitted] - Network accessline 98
[Credential-related source omitted] - Network accessline 99
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Network accessline 100
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted] - Network accessline 116
[Credential-related source omitted] - Network accessline 117
[Credential-related source omitted] - Network accessline 129
const sleeps: number[] = []; const c = new McpClient({ url: 'https://x', - Network accessline 130
[Credential-related source omitted] - Network accessline 131
url: 'https://x', - Network accessline 148
[Credential-related source omitted] - Network accessline 149
[Credential-related source omitted] - Network accessline 150
[Credential-related source omitted] - Network accessline 161
[Credential-related source omitted] - Network accessline 162
[Credential-related source omitted] - Network accessline 163
[Credential-related source omitted] - Network accessline 171
[Credential-related source omitted] - Network accessline 172
[Credential-related source omitted] - Network accessline 173
[Credential-related source omitted] - Network accessline 177
[Credential-related source omitted] - Network accessline 178
[Credential-related source omitted] - Network accessline 187
[Credential-related source omitted] - Network accessline 188
[Credential-related source omitted] - Network accessline 189
[Credential-related source omitted] - Access to secretsline 191
[Credential-related source omitted] - Access to secretsline 364
[Credential-related source omitted] - Network accessline 433
[Credential-related source omitted] - Network accessline 434
[Credential-related source omitted] - Network accessline 435
[Credential-related source omitted] - Network accessline 447
[Credential-related source omitted] - Network accessline 448
[Credential-related source omitted] - Network accessline 449
[Credential-related source omitted] - Network accessline 458
[Credential-related source omitted] - Network accessline 459
[Credential-related source omitted] - Network accessline 460
[Credential-related source omitted]
tests/substitution-pricing.test.ts
- Executable scriptline 1
Executable file
tests/text-width.test.ts
- Executable scriptline 1
Executable file
tests/toon.test.ts
- Executable scriptline 1
Executable file
tests/v3-acceptance.test.ts
- Executable scriptline 1
Executable file - Network accessline 259
const clientWith = (payload: unknown) => new McpClient({ url: 'http://local.invalid', - Network accessline 260
[Credential-related source omitted] - Network accessline 261
url: 'http://local.invalid', - Network accessline 376
const initClient = (serverVersion: string | undefined) => new McpClient({ url: 'http://local.invalid', - Network accessline 377
[Credential-related source omitted] - Network accessline 378
url: 'http://local.invalid',
tests/v3-probe-regression.test.ts
- Executable scriptline 1
Executable file
tests/v33-review-regression.test.ts
- Executable scriptline 1
Executable file
tests/v34-review-regression.test.ts
- Executable scriptline 1
Executable file
tests/v36-a-level.test.ts
- Executable scriptline 1
Executable file
tests/v361-api-consistency.test.ts
- Executable scriptline 1
Executable file
tests/v362-reallimit.test.ts
tests/v373-review-regression.test.ts
- Executable scriptline 1
Executable file
tests/v374-review-regression.test.ts
- Executable scriptline 1
Executable file
tests/variant-flavor.test.ts
- Executable scriptline 1
Executable file
tests/version-identity.test.ts
- Executable scriptline 1
Executable file - Network accessline 63
const { impl, sent } = makeFakeFetch(); const c = new McpClient({ url: 'https://example.invalid', - Network accessline 64
[Credential-related source omitted] - Network accessline 65
url: 'https://example.invalid', - Network accessline 80
const { impl, sent } = makeFakeFetch(); const c = new McpClient({ url: 'https://example.invalid', - Network accessline 81
[Credential-related source omitted] - Network accessline 82
url: 'https://example.invalid',
workbuddy.md
- Network accessline 49
> 端点 `https://mcp.mcd.cn`(**根路径**,非 `/mcp`)——`/mcp`、`/sse` 等路径全是 404;握手成功 `serverInfo: mcd-mcp v1.0.0`,协议 `2025-06-18`。
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: 187 facts
- Network access in prose of documentationMCP_INTEGRATION.md:10Low confidence
- Network access in prose of documentationMCP_INTEGRATION.md:11Low confidence
- Network access in prose of documentationMCP_INTEGRATION.md:12Low confidence
- Network access in prose of documentationMCP_INTEGRATION.md:23Low confidence
- Access to secrets in code of documentationREADME.md:121Low confidence
- Access to secrets in code of documentationREADME.md:166Low confidence
- Network access in prose of documentationREADME.md:174Low confidence
- Network access in prose of documentationREADME.md:323Low confidence
- Network access in prose of the SKILL.mdSKILL.md:20Low confidence
- Network access in prose of the SKILL.mdSKILL.md:22Low confidence
- Network access in prose of documentationdocs/API_PROBE_NOTES.md:12Low confidence
- Network access in prose of documentationdocs/API_PROBE_NOTES.md:13Low confidence
- Network access in prose of documentationdocs/API_PROBE_NOTES.md:14Low confidence
- Executable script in code of a file that runspackage.json:1High confidence
- Executable script in a comment of a file that runsscripts/capture-fixtures.ts:1Low confidence
- Executable script in a comment of a file that runsscripts/check-combo-decomposition.ts:1Low confidence
- Executable script in a comment of a file that runsscripts/check-placeholders.mjs:1Low confidence
- Executable script in a comment of a file that runsscripts/fixture-manifest.ts:1Low confidence
- Executable script in a comment of a file that runsscripts/independent-online-verify.mjs:1Low confidence
- Network access in code of a file that runsscripts/independent-online-verify.mjs:61High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/independent-online-verify.mjs:70Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/independent-online-verify.mjs:71Low confidence
- Network access in code of a file that runsscripts/independent-online-verify.mjs:93High confidence
- Network access in code of a file that runsscripts/independent-online-verify.mjs:94High confidence
- Network access in code of a file that runsscripts/independent-online-verify.mjs:95High confidence
- Executable script in a comment of a file that runsscripts/measure-matching.ts:1Low confidence
- Executable script in a comment of a file that runsscripts/propose-aliases.ts:1Low confidence
- Executable script in prose of a file that runsscripts/release/pack.py:1Low confidence
- Executable script in a comment of a file that runsscripts/review-samples.ts:1Low confidence
- Executable script in a comment of a file that runsscripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjs:1Low confidence
- Network access in code of a file that runsscripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjs:106High confidence
- Network access in code of a file that runsscripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjs:107High confidence
- Network access in code of a file that runsscripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjs:108High confidence
- Executable script in a comment of a file that runsscripts/review-scaffolds/mcmeal-v3-additional-probes-2026-10-12.mjs:1Low confidence
- Executable script in a comment of a file that runsscripts/review-scaffolds/modern-shape.mjs:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/review-scaffolds/modern-shape.mjs:16Low confidence
- Network access in code of a file that runsscripts/review-scaffolds/modern-shape.mjs:22High confidence
- Executable script in a comment of a file that runsscripts/review-scaffolds/price-raw.mjs:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/review-scaffolds/price-raw.mjs:18Low confidence
- Network access in code of a file that runsscripts/review-scaffolds/price-raw.mjs:24High confidence
- Executable script in a comment of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/review-scaffolds/ratelimit-probe.mjs:19Low confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:25High confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:47High confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:48High confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:49High confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:100High confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:101High confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:102High confidence
- Network access in code of a file that runsscripts/review-scaffolds/ratelimit-probe.mjs:179High confidence
and 137 more
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.