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.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit a8e6fac580d3016264a7d6f2935daec4d1374c72

121GitHub stars
Not availablestars in 7 days
1skill in this repository
58commits in 30 days

Heat

Insufficient history

Not 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

Nov 2, 2026Nov 3, 2026122

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 tokens

Always available to the agent

SKILL.md

2,250 tokens

When the skill is activated

Reference documents

87,671 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 何时使用
  2. 前置
  3. 用法
  4. 输出约定(**这是本技能的重点**)
  5. 边界(务必遵守)
  6. 自检与复现
  7. 参考资料

Scripts executed separately

  • package.json
  • scripts/capture-fixtures.ts
  • scripts/check-combo-decomposition.ts
  • scripts/check-placeholders.mjs
  • scripts/fixture-manifest.ts
  • scripts/independent-online-verify.mjs
  • scripts/measure-matching.ts
  • scripts/propose-aliases.ts
  • scripts/release/pack.py
  • scripts/review-samples.ts
  • scripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjs
  • scripts/review-scaffolds/mcmeal-v3-additional-probes-2026-10-12.mjs
  • scripts/review-scaffolds/modern-shape.mjs
  • scripts/review-scaffolds/price-raw.mjs
  • scripts/review-scaffolds/ratelimit-probe.mjs
  • scripts/secrets-scan.mjs
  • scripts/source-identity.mjs
  • scripts/sync-version.mjs
  • scripts/v373-edge-probe.ts
  • scripts/v374-edge-probe.ts
  • src/aliases.ts
  • src/analyze.ts
  • src/capture-guard.ts
  • src/cli.ts
  • src/constraints.ts
  • src/decompose.ts
  • src/detail-loader.ts
  • src/explain.ts
  • src/fixtures.ts
  • src/freshness.ts
  • src/matching.ts
  • src/mcp-client.ts
  • src/money.ts
  • src/order-guard.ts
  • src/pricing.ts
  • src/recommend.ts
  • src/schema.ts
  • src/score.ts
  • src/text-width.ts
  • src/toon.ts
  • src/validate.ts
  • src/version.ts
  • tests/analyze.test.ts
  • tests/cli.test.ts
  • tests/combo-substitution.test.ts
  • tests/dataguard.test.ts
  • tests/decide.test.ts
  • tests/decompose.test.ts
  • tests/fixtures.test.ts
  • tests/human-review-2026-10-12.test.ts
  • tests/matching.test.ts
  • tests/money.test.ts
  • tests/protocol.test.ts
  • tests/schema.test.ts
  • tests/security.test.ts
  • tests/substitution-pricing.test.ts
  • tests/text-width.test.ts
  • tests/toon.test.ts
  • tests/v3-acceptance.test.ts
  • tests/v3-probe-regression.test.ts
  • tests/v33-review-regression.test.ts
  • tests/v34-review-regression.test.ts
  • tests/v36-a-level.test.ts
  • tests/v361-api-consistency.test.ts
  • tests/v362-reallimit.test.ts
  • tests/v373-review-regression.test.ts
  • tests/v374-review-regression.test.ts
  • tests/variant-flavor.test.ts
  • tests/version-identity.test.ts

Files

  • .gitattributesasset1,265 bytes
  • .gitignoreasset531 bytes
  • CONTEST_DECLARATION.mddoc1,522 bytes
  • LICENSEasset1,072 bytes
  • MCP_INTEGRATION.mddoc7,463 bytes
  • README.mddoc28,295 bytes
  • SKILL.mdcore7,244 bytes
  • SKILL.mdcore7,244 bytes
  • SKILL.mdcore7,244 bytes
  • SKILL.mdcore7,244 bytes
  • docs/API_PROBE_NOTES.mddoc6,246 bytes
  • docs/DECISION_NOTES.mddoc62,339 bytes
  • docs/DEMO_SCRIPT.mddoc7,128 bytes
  • docs/HUMAN_REVIEW.mddoc9,591 bytes
  • docs/MATCHING_NOTES.mddoc11,461 bytes
  • docs/RETROSPECTIVE-2026-10-10.mddoc9,341 bytes
  • docs/REVIEW-DISPOSITION-2026-10-11.mddoc10,708 bytes
  • docs/REVIEW-RESPONSE-2026-10-11.mddoc8,362 bytes
  • docs/REVIEW-RESPONSE-v3-2026-10-12.mddoc25,075 bytes
  • docs/REVIEW-RESPONSE-v3.3-2026-10-12.mddoc9,752 bytes
  • docs/REVIEW-RESPONSE-v3.4-2026-10-12.mddoc9,116 bytes
  • docs/REVIEW-RESPONSE-v3.5-2026-10-12.mddoc5,216 bytes
  • docs/REVIEW-RESPONSE-v3.6-2026-10-12.mddoc3,500 bytes
  • docs/REVIEW-RESPONSE-v3.6.1-2026-10-12.mddoc4,995 bytes
  • docs/REVIEW-RESPONSE-v3.6.2-2026-10-12.mddoc5,602 bytes
  • docs/REVIEW-RESPONSE-v3.6.3-2026-10-13.mddoc4,208 bytes
  • docs/REVIEW-RESPONSE-v3.6.4-2026-10-13.mddoc4,553 bytes
  • docs/REVIEW-RESPONSE-v3.6.5-2026-10-13.mddoc5,515 bytes
  • docs/SIGNOFF-v3.6.1-2026-10-12.mddoc3,781 bytes
  • docs/SIGNOFF-v3.6.2-2026-10-12.mddoc2,317 bytes
  • docs/SIGNOFF-v3.6.3-2026-10-13.mddoc2,407 bytes
  • docs/SIGNOFF-v3.6.4-2026-10-13.mddoc2,177 bytes
  • docs/SIGNOFF-v3.6.5-2026-10-13.mddoc2,545 bytes
  • docs/assets/demo.gifasset246,330 bytes
  • docs/assets/how-it-works.svgasset9,989 bytes
  • docs/assets/trust-levels.svgasset9,742 bytes
  • docs/demo/README.mddoc5,962 bytes
  • docs/demo/offline-20261014-budget35-balance.txtdoc5,514 bytes
  • docs/demo/online-20261014-194006-budget35-balance.txtdoc4,500 bytes
  • docs/demo/online-20261014-194102-budget40-variant.txtdoc4,504 bytes
  • docs/demo/online-20261014-194119-budget28-balance.txtdoc4,477 bytes
  • docs/demo/online-20261014-194136-budget45-protein.txtdoc4,513 bytes
  • docs/demo/online-20261014-194155-budget45-json.jsonasset21,035 bytes
  • docs/demo/online-20261016-103614-budget80-protein35.txtdoc5,299 bytes
  • docs/demo/online-20261016-103621-budget80-protein35-variant-colalarge.txtdoc5,299 bytes
  • docs/demo/online-20261016-103730-budget65-protein35.txtdoc5,297 bytes
  • docs/demo/online-20261016-105347-budget80-protein35.txtdoc5,299 bytes
  • docs/demo/online-20261016-105353-budget80-protein35-swap-sugarfree-coke.txtdoc5,856 bytes
  • docs/human-review/README.mddoc2,283 bytes
  • docs/human-review/human-review-samples-blank.csvasset6,213 bytes
  • docs/human-review/human-review-samples-filled-before-signoff.csvasset11,746 bytes
  • docs/human-review/human-review-samples-filled.csvasset13,532 bytes
  • docs/human-review/human-review-samples-reclassified.csvasset13,526 bytes
  • docs/human-review/human-review-score-reclassified.txtdoc2,775 bytes
  • docs/human-review/human-review-score.txtdoc2,684 bytes
  • fixtures/README.mddoc3,216 bytes
  • fixtures/baseline-20261010-3450024/calculate-price.raw.txtdoc3,421 bytes
  • fixtures/baseline-20261010-3450024/list-nutrition-foods.raw.jsonasset8,945 bytes
  • fixtures/baseline-20261010-3450024/manifest.jsonasset1,436 bytes
  • fixtures/baseline-20261010-3450024/meal-details.bundle.jsonasset237,519 bytes
  • fixtures/baseline-20261010-3450024/query-meal-detail.raw.txtdoc15,530 bytes
  • fixtures/baseline-20261010-3450024/query-meals.raw.txtdoc35,000 bytes
  • fixtures/baseline-20261010-3450024/query-nearby-stores.raw.txtdoc3,683 bytes
  • mcp-config.example.jsonasset194 bytes
  • package-lock.jsonasset1,896 bytes
  • package.jsonruns1,538 bytes
  • scripts/capture-fixtures.tsruns9,062 bytes
  • scripts/check-combo-decomposition.tsruns4,219 bytes
  • scripts/check-placeholders.mjsruns7,873 bytes
  • scripts/fixture-manifest.tsruns10,279 bytes
  • scripts/independent-online-verify.mjsruns15,036 bytes
  • scripts/measure-matching.tsruns4,474 bytes
  • scripts/propose-aliases.tsruns5,958 bytes
  • scripts/release/pack.pyruns19,094 bytes
  • scripts/review-samples.tsruns12,002 bytes
  • scripts/review-scaffolds/mcmeal-v3-acceptance-harness.mjsruns10,375 bytes
  • scripts/review-scaffolds/mcmeal-v3-additional-probes-2026-10-12.mjsruns4,026 bytes
  • scripts/review-scaffolds/modern-shape.mjsruns2,714 bytes
  • scripts/review-scaffolds/price-raw.mjsruns4,494 bytes
  • scripts/review-scaffolds/ratelimit-probe.mjsruns8,901 bytes
  • scripts/secrets-scan.mjsruns8,810 bytes
  • scripts/source-identity.mjsruns5,768 bytes
  • scripts/sync-version.mjsruns2,750 bytes
  • scripts/v373-edge-probe.tsruns6,133 bytes
  • scripts/v374-edge-probe.tsruns3,726 bytes
  • src/aliases.tsruns4,456 bytes
  • src/analyze.tsruns29,014 bytes
  • src/capture-guard.tsruns1,852 bytes
  • src/cli.tsruns41,415 bytes
  • src/constraints.tsruns13,322 bytes
  • src/decompose.tsruns15,582 bytes
  • src/detail-loader.tsruns2,528 bytes
  • src/explain.tsruns11,954 bytes
  • src/fixtures.tsruns6,994 bytes
  • src/freshness.tsruns10,560 bytes
  • src/matching.tsruns23,512 bytes
  • src/mcp-client.tsruns32,341 bytes
  • src/money.tsruns2,838 bytes
  • src/order-guard.tsruns8,230 bytes
  • src/pricing.tsruns59,015 bytes
  • src/recommend.tsruns23,499 bytes
  • src/schema.tsruns14,981 bytes
  • src/score.tsruns8,708 bytes
  • src/text-width.tsruns2,462 bytes
  • src/toon.tsruns11,414 bytes
  • src/validate.tsruns4,412 bytes
  • src/version.tsruns464 bytes
  • tests/analyze.test.tsruns10,062 bytes
  • tests/cli.test.tsruns7,919 bytes
  • tests/combo-substitution.test.tsruns11,580 bytes
  • tests/dataguard.test.tsruns4,151 bytes
  • tests/decide.test.tsruns24,591 bytes
  • tests/decompose.test.tsruns11,175 bytes
  • tests/fixtures.test.tsruns3,309 bytes
  • tests/human-review-2026-10-12.test.tsruns4,245 bytes
  • tests/matching.test.tsruns12,581 bytes
  • tests/money.test.tsruns3,071 bytes
  • tests/protocol.test.tsruns11,286 bytes
  • tests/schema.test.tsruns6,206 bytes
  • tests/security.test.tsruns18,957 bytes
  • tests/substitution-pricing.test.tsruns20,060 bytes
  • tests/text-width.test.tsruns3,661 bytes
  • tests/toon.test.tsruns9,270 bytes
  • tests/v3-acceptance.test.tsruns20,019 bytes
  • tests/v3-probe-regression.test.tsruns13,014 bytes
  • tests/v33-review-regression.test.tsruns10,038 bytes
  • tests/v34-review-regression.test.tsruns5,166 bytes
  • tests/v36-a-level.test.tsruns4,539 bytes
  • tests/v361-api-consistency.test.tsruns5,086 bytes
  • tests/v362-reallimit.test.tsruns7,416 bytes
  • tests/v373-review-regression.test.tsruns12,818 bytes
  • tests/v374-review-regression.test.tsruns8,989 bytes
  • tests/variant-flavor.test.tsruns4,188 bytes
  • tests/version-identity.test.tsruns5,058 bytes
  • tsconfig.jsonasset457 bytes
  • workbuddy.mddoc5,992 bytes
Read SKILL.md

# McMeal Compass · 菜单营养决策助手

给一份麦当劳菜单,回答「**在这个预算里,吃哪个更合适**」——并**如实标注每一项证据**:
哪条营养来自官方、哪条只是部分可知、哪条无法验证;价格是**官方实付**还是**未核实的菜单价**。

## 何时使用

- 用户问「XX 元预算在麦当劳吃什么」「哪份套餐蛋白高」「这份多少卡」
- 用户给出偏好(预算 / 蛋白质 / 均衡)或约束(最低蛋白、避开含糖饮料、过敏)
- 需要**可交代来源**的营养与价格结论(不是凭印象推荐)

## 前置

| 模式 | 前置 | 说明 |
View the complete source on GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • fixtures/baseline-20261010-3450024/list-nutrition-foods.raw.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/baseline-20261010-3450024/meal-details.bundle.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/baseline-20261010-3450024/query-meal-detail.raw.txt:58 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/baseline-20261010-3450024/query-meals.raw.txt:39 Analysis incomplete: physical or joined line exceeds character limit
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

  • Network accessline 20
    |---|---|---| | 离线 | 无 | 读仓库内快照夹具,可完整演示(**不含实时价格**) | | 在线 | `MCD_MCP_TOKEN` | 真实调用 `https://mcp.mcd.cn`(到店自取 `beType=1`) |
  • Network accessline 22
    | 在线 | `MCD_MCP_TOKEN` | 真实调用 `https://mcp.mcd.cn`(到店自取 `beType=1`) |

docs/API_PROBE_NOTES.md

  • Network accessline 12
    | 项 | 值 | |---|---| | 端点 | `https://mcp.mcd.cn` —— **根路径** |
  • Network accessline 13
    |---|---| | 端点 | `https://mcp.mcd.cn` —— **根路径** | | 传输类型 | `streamablehttp` |
  • Network accessline 14
    | 端点 | `https://mcp.mcd.cn` —— **根路径** |

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

  • Network accessline 3
    "mcd-mcp": {       "type": "streamablehttp",       "url": "https://mcp.mcd.cn",
  • Network accessline 4
    "type": "streamablehttp",       "url": "https://mcp.mcd.cn",       "headers": {
  • Network accessline 5
    "url": "https://mcp.mcd.cn",
  • Access to secretsline 7
    [Credential-related source omitted]

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

  • Executable scriptline 1
    Executable file
  • Network accessline 106
    [Credential-related source omitted]
  • Network accessline 107
    [Credential-related source omitted]
  • Network accessline 108
    [Credential-related source omitted]

scripts/review-scaffolds/mcmeal-v3-additional-probes-2026-10-12.mjs

  • Executable scriptline 1
    Executable file

scripts/review-scaffolds/modern-shape.mjs

  • Executable scriptline 1
    Executable file
  • Access to secretsline 16
    [Credential-related source omitted]
  • Network accessline 22
    const ENDPOINT = 'https://mcp.mcd.cn';

scripts/review-scaffolds/price-raw.mjs

  • Executable scriptline 1
    Executable file
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 24
    const ENDPOINT = 'https://mcp.mcd.cn';

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

  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]

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

  • Executable scriptline 1
    Executable file
  • Network accessline 89
    return {     server,     url: `http://127.0.0.1:${port}/`,
  • Network accessline 90
    server,     url: `http://127.0.0.1:${port}/`,     seen,
  • Network accessline 91
    url: `http://127.0.0.1:${port}/`,

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

  • Executable scriptline 1
    Executable file
  • Network accessline 54
    [Credential-related source omitted]
  • Network accessline 55
    [Credential-related source omitted]
  • Network accessline 56
    [Credential-related source omitted]

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

and 137 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.