frictionlesscode

Macro MCP — Data skill for Claude Code

Data community

A self-hosted MCP server for nutrition logging and adaptive TDEE/macro-target estimation, driven from Claude.

How to install Macro MCP

This entry records only its repository, not the path inside it, so there is no exact command to give. Open frictionlesscode/macro-mcp and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Macro MCP does

A self-hosted MCP server for nutrition logging and adaptive TDEE/macro-target estimation, driven from Claude. Companion to garmin-mcp — pulls real weight data to compute expenditure and resolve daily targets from a weekly energy budget, no fabricated numbers.

Alternatives in Data

  • Portaljs Architect — Recommend a data-portal architecture (storage, compute, catalog, access, hosting, metadata) from your needs, t 2.3k ★
  • /recon — Run the full recon pipeline on a target and produce a prioritized attack surface 927 ★
  • FACT — FACT – Fast Augmented Context Tools: FACT is a lean retrieval pattern that skips vector search 161 ★

README

macro-mcp

**Unofficial personal project.** Not affiliated with or endorsed by any nutrition, fitness, or device company. It runs entirely on your own machine; the only optional outbound call is to your own [garmin-mcp](https://github.com/frictionlesscode/garmin-mcp) instance for a weight trend.

A self-hosted [MCP](https://modelcontextprotocol.io) server that turns Claude into a nutrition log: you tell it what you ate (or photograph it), it logs the numbers, and it tracks intake against whatever macro targets you set — trend statistics, adherence, and server-rendered charts. It also stores progress photos, pose-aligned frame to frame, viewable on a small self-hosted dashboard next to your weight and body-fat trend.

It deliberately does **not** decide what you should eat. TDEE, goals, training-day cadence, and target derivation all live in the conversation and in Claude's own judgment — this server records what it's told and measures what happened against it. See [SPEC.md's Charter](SPEC.md#charter) for the full reasoning, including the design this replaced and why.

Like [garmin-mcp](https://github.com/frictionlesscode/garmin-mcp), this is the data-and-math plane only. The judgment layer lives in the [macro-coach](https://github.com/frictionlesscode/macro-coach) Skill and in conversation, not in this codebase.

Benefits

  • Log food by talking or by photo. No app, no barcode-scanning ritual — describe it or show it, and it's logged. (Food photos are read in-chat only, never stored — see "Progress photos" below for the photos this server does keep.)
  • You set the targets; the server just holds them. No formula guesses your calories for you. set_targets takes exact macros per date — a fat-cycling protocol, a refeed, a single one-off day — Claude and you decide the numbers, the server stores and measures against them.
  • It refuses to guess. Too few logged days for a trend statistic, no target set for a date — every one of those returns