McCosmos skill

A skill that compares McDonald's items by calories and nutrition, finds substitutes and shows the result on a 3D map.

  • 112 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • The skill runs a local Node.js script and, for fresh data, calls the McDonald's MCP connected by the client.
All reasons and checks

ayingqaq/mccosmos

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/mccosmos

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The skill runs a local Node.js script and, for fresh data, calls the McDonald's MCP connected by the client.

This is third-party code. Review the repository files before installing.

What it does

McCosmos accepts plain-language questions: compare a Big Mac with a Filet-O-Fish, find a breakfast under 400 kcal, suggest a lower-calorie substitute. The skill runs its own `mccosmos.mjs` CLI with commands such as `compare` and `alternatives` and answers from the output. Gaps stay gaps, and unconfirmed units are marked as raw values. Data comes from a snapshot bundled in the package or from the McDonald's MCP server if the client has it connected. The answer states the source and fetch time. A companion site offers a 3D universe, an atlas and a comparison lab for those who want visuals.

Who it is for. People who choose McDonald's items by calories and want to compare figures through an agent. Developers who need nutrition analysis in their own tasks can use it too.

Good fit when

  • Two menu items need a quick comparison by calories and composition.
  • A breakfast has to stay under 400 kcal, sorted ascending.
  • You look for an item with similar composition but fewer calories.
  • You want to see which cup sizes exist for iced milk.

Not a fit when

  • You need medical dietary advice; the skill does not give it.
  • You need current prices or restaurant availability; that data is absent.
  • The environment has no Node.js 24 or newer.

Example request

Compare a Big Mac and a McFish by calories, then find a substitute about 100 kcal lighter with a similar profile.

Limitations

Node.js 24 or newer is required. Data and item names are mostly Chinese, since the snapshot covers the China menu. Fresh values are available only when the client is connected to the McDonald's MCP, otherwise a dated snapshot is used. The similarity score is not a health rating. The project is an independent work and may differ from official data, so check exact values against the company's official channel.

How to disable. Delete the `mccosmos` folder from the client's skills directory, for example `~/.agents/skills/mccosmos`. A McDonald's MCP connection, if present, is disconnected separately.

FAQ

Do I need to run the website or clone the repository?

No. The standalone package includes dependencies and the data snapshot, so unpacking the archive is enough.

Is a McDonald's token required?

Snapshot analysis needs no token. For fresh data the client connects the McDonald's MCP, and the skill does not handle tokens itself.

What does the skill say when nothing matches?

It reports that there are no results and does not substitute the nearest items without a mark.

Can the CLI run without an agent?

Yes, for example `node mccosmos.mjs compare --from="巨无霸" --to="麦香鱼"`.

Which CLI commands exist?

The README shows `compare` for comparing two items and `alternatives` for finding a substitute, for example with `--lower-kcal` and `--limit=3`.

Discussion

No questions or reviews yet.

Skills

An MCP server with a toolbox for global briefs: markets, SEC filings, conflict, climate and news from open sources

MCP serverExtended access1.1KRepository stars
Official

A skill that teaches an agent to search tables, trace lineage and read the glossary in your Marmot catalog via CLI, REST and MCP.

SkillBroad access635Repository stars

18 skills and a 34-tool MCP server for 3D Gaussian Splatting: paper reading, method comparison, training debugging and rendering.

PluginExtended access184Repository stars

MPSTATS skills

Claude Code Skills — MPSTATS

Russian stack

Official MPSTATS skills: Wildberries, Ozon and Yandex Market analytics plus product card visuals via the API

SkillExtended access14Repository stars

An MCP server for OpenAlex: 31 tools for papers, citations, authors and journals, plus a skill with a small CLI for Claude Code.

MCP serverMinimal access60Repository stars

An MCP server of science agents: Claude Code analyzes spectra and images, plans experiments and prepares DFT calculations

MCP serverBroad access99Repository stars

README in short

The README opens with the skill and archive installation, then a table of sample requests and a list of site pages. Build steps, CI checks and MCP wiring are described separately.

README badge

Original SKILL.md

---
name: mccosmos
description: Compare McDonald's food nutrition, find calorie-constrained alternatives, and explain nutrition similarities using real McDonald's MCP data or an explicitly dated McCosmos snapshot. Use for meal comparisons, food searches and nutrition maps.
---

# McCosmos · 麦门星图

把用户的餐品问题变成有数据依据的比较、筛选与替代候选;宇宙网页用于查看结果,分析无需打开网页。常见触发包括“对比巨无霸和麦香鱼”“找比这个汉堡热量低、营养特征相近的替代品”“早餐里不超过400 kcal的有哪些”。

## 运行入口

需要 Node.js 24+。先定位本 SKILL.md 所在目录,使用绝对路径调用;不要假定当前工作目录。

- **下载的独立包**:`node "<skill-dir>/scripts/mccosmos.mjs" <命令和参数>`,依赖与营养快照已打包,不需 pnpm、项目仓库或 Token。
- **源代码模式**:若本目录没有上述脚本,但位于 McCosmos 仓库的 `skills/mccosmos` 下,则在该仓库安装依赖后用 `pnpm --dir "<repo-dir>" cosmos:cli -- <命令和参数>`。不要声称复制源码目录就获得了独立包。
- 两种入口都不存在时,说明需要安装独立包,不能编造执行结果。

具体参数和 MCP 响应输入见 [命令参考](references/commands.md),按任务读取。

## 选择数据

普通探索可用包内快照,答复注明 `fetchedAt` 与 `dataInput`。用户要求“今天/最新/重新查询”时,先检查宿主是否有麦当劳 MCP 的 `list-nutrition-foods` 工具;可用则实际调用,将该次工具响应保存为临时 JSON,再用 `--response <绝对路径> --fetched-at <本次获取的ISO时间>` 分析。此路径消费工具响应,不自行处理 Token。

若 MCP 未连接或调用失败,明确告知;用户要求实时结果时,不悄悄用旧快照充当本次查询。用户接受快照后再分析。`list-nutrition-foods` 不含图片、实时门店供应或价格;这些问题不能由营养快照回答。图片/供应问题需要另行匹配 `query-meals` / `query-meal-detail` 的真实商品和门店时段。

## 完成任务

1. 识别用户要比较的具体餐品与条件。名称不完整时用 `search --query` 找候选;冰/热、口味、杯型和份数不同的记录不自行合并。`AMBIGUOUS` 时让用户选择具体 ID,不取第一条。
2. 选用命令:两款比较用 `compare`;类别、热量上限和排名用 `search`;相近替代用 `alternatives`,明确要求更低热量时加 `--lower-kcal`。默认替代限同一推断类别;用户允许跨类别才加 `--cross-category`。保留用户给出的全部限制。
3. 检查 JSON 的 `ok`、退出码及来源。没有候选就解释没有符合结果,不降低阈值或放宽条件后冒充成功。旧版 `neighbors/route/discover` 返回 ID,先用 `list` 解析名称。
4. 用简短结论和比较表回答:具体规格、数值、差异方向(第二项减第一项)、替代理由、共同有效指标。`null` 是缺失,0 是有效值;不把内部字段名 proteinG/sodiumMg 当作单位证据。未核实单位写“原始值,单位待核实”,不声称每份、每100克或等重量比较。
5. 附来源与获取时间。需要星图时使用结果中的 `links.atlas/links.galaxy`;外部新数据可能尚未出现在网页快照中,不能声称网页已更新。链接不会添加收藏、实验台或完成任务。

输出用用户的语言,不要求用户自己看原始 JSON。营养相似度是工程分析,解释它依据哪些维度;较低热量不等于更健康,BFS 航线不代表应连续食用。

Report a problem