Macrofactor Mcp

io.github.NasserAlbusaidiPublished by GitHub account NasserAlbusaidiv0.1.1Updated Oct 24, 2026

Fueling & recovery decision engine combining MacroFactor nutrition with Garmin training data

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Local MCP server that imports MacroFactor nutrition exports, optionally adds Garmin training data, and answers fueling and recovery questions.

What you can do
  • Import MacroFactor export workbooks into a local DuckDB database and check setup
  • Review recovery readiness from sleep, HRV, body battery, training load and prior-day fueling
  • Show a daily briefing combining intake, adherence, body and training signals
  • Produce weekly reports on nutrition, weight, workouts, sleep and training load
  • Correlate nutrition with next-day Garmin recovery signals, reporting sample sizes
  • Sync Garmin data from an existing local token directory
When to use it
Useful if you track nutrition in MacroFactor and want an assistant to combine it with Garmin training and recovery data to answer questions like whether you are recovered, whether fueling worked, or what to change next week. MacroFactor-only use covers nutrition, weight, workouts and weekly reviews.
Requirements
Runs locally via uvx (Python 3.10 or newer) on macOS or Linux; Windows is untested. Needs a manual MacroFactor .xlsx export placed in a directory set by MACROFACTOR_DATA_DIR, a database path in MACROFACTOR_DB_PATH, and optionally GARMINTOKENS pointing at an existing Garmin token directory for Garmin sync.
Before you install
Health, nutrition and training data is imported and stored locally, but tool results are sent to whichever model or client is connected, so review that client's data policy. Garmin access relies on existing token files in GARMINTOKENS. Correlations are observational, not causal, and the project is unofficial and not medical advice.

Installation

In SourceWeft

  1. Open Macrofactor Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Am I recovered? Did my fueling work? What should change next week? The only MCP combining MacroFactor nutrition with Garmin training data.

MacroFactor MCP is a local Fueling & Recovery Decision Engine. Give your MCP client a MacroFactor export, optionally add Garmin, and ask for a decision instead of manually comparing nutrition, sleep, body, and training screens.

Quickstart

Install uv, then confirm the packaged server starts:

bash
uvx macrofactor-mcp

Export your data from MacroFactor, put the .xlsx file in one local directory, and add this to your MCP client configuration. Use absolute paths.

json
{  "mcpServers": {    "macrofactor": {      "command": "uvx",      "args": ["macrofactor-mcp"],      "env": {        "MACROFACTOR_DATA_DIR": "/absolute/path/to/macrofactor-exports",        "MACROFACTOR_DB_PATH": "/absolute/path/to/macrofactor.duckdb"      }    }  }}

Restart the MCP client. The server imports new workbooks on startup. Run setup_check, then ask one of the questions below. If a desktop client cannot find uvx, replace "uvx" with the absolute path returned by which uvx.

Four flagship workflows

All examples below use synthetic data.

recovery_check — Am I recovered?

Combines last night's sleep, HRV, body battery, training load, and yesterday's fueling into a readiness view.

text
Recovery Check: 2026-07-08Sleep: 7h 38m, score 82; HRV +4 vs 7-day averageTraining load: ACWR 1.08 (optimal)Yesterday: 96% calorie target; 101% protein targetOverall: All systems go — 4 positive signals.

daily_briefing — What do today's signals say together?

Shows the day as one picture instead of separate nutrition and training logs.

text
Daily Briefing: 2026-07-08Intake: 2,340 kcal (P 171g / F 72g / C 248g)Adherence: 98% calories | 101% proteinBody Battery: 28 → 83 | Sleep: 7h 38m, score 82Training: Productive | Load 612/568 (ACWR 1.08)

weekly_report — What should change next week?

Reviews seven days of nutrition, weight, workouts, sleep, and training load.

text
Weekly Report: 2026-07-02 to 2026-07-08Average: 2,315 kcal | 168g proteinOn target: calories 6/7 days | protein 7/7 daysTraining: 4 sessions | Sleep: 7h 26m averageNext-week signal: fueling was consistent; protect sleep before adding load.

nutrition_performance_correlation — Did my fueling work?

Compares nutrition with next-day Garmin recovery signals. It reports sample sizes so small or missing datasets stay visible.

text
Nutrition → Performance Correlation: 28 paired daysProtein >=90% target: next-day HRV 51 vs 45 (+6)Protein >=90% target: sleep score 81 vs 76 (+5)Energy deficit days: body battery 68 vs 75 (-7)Observation: higher-protein days tended to precede better recovery.

MacroFactor-only or MacroFactor + Garmin

ModeDecisions available
MacroFactor onlyNutrition, weight, workouts, daily_briefing, and weekly_report. Recovery output uses the nutrition signals that exist.
MacroFactor + GarminAll four flagship workflows, including sleep, HRV, body battery, activities, and training load.

Garmin is optional. To enable it, point GARMINTOKENS at an existing local Garth/Garmin token directory, then run sync_garmin.

Platform support

  • macOS and Linux
  • Windows is untested
  • Python 3.10 or newer

Limitations

  • v0.1 requires a manual MacroFactor export; it does not connect to a MacroFactor API.
  • Garmin correlation workflows need overlapping MacroFactor and Garmin dates.
  • Correlations are observational, not proof that one behavior caused another outcome.
  • Import support follows the current MacroFactor Quick Export and All-Time Data workbook layouts.

Privacy

Raw nutrition, body, workout, and Garmin data stays in the local DuckDB database. The server does not upload that database. However, MCP tool results are sent to whatever model or client the server is connected to. Review that client's data policy and avoid requesting more detail than you want to share.

Disclaimer

This is an unofficial project. It is not affiliated with, endorsed by, or supported by MacroFactor or Stronger By Science. It is not medical advice and must not replace care from a qualified health professional.

Released under the MIT License.

mcp-name: io.github.NasserAlbusaidi/macrofactor-mcp

Source: README.md at commit 613747f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts