TrainBud MCP server
io.github.Zsadigzade/trainbud·v0.9.0Talk to your own fitness data. Findings computed in code against your own 28-day baselines.
0 stars252 downloads/wk
Reviews
Write oneNobody has reviewed TrainBud yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
TrainBud tools (15)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
compare_workoutsCompares one workout against the user's own earlier workouts of the same type and a similar distance (or duration, for sports that record no distance). Reports duration, pace, heart rate, elevation and calories against the closest previous effort, with the typical value across the comparable set. Defaults to the most recent activity. Use this when asked how a session went compared with usual, rath
get_activities_rangeReturns Garmin activities within an ISO 8601 date range.
get_body_compositionReturns weight, body fat, and muscle mass trends over a time period.
get_findingsReturns what stands out in the user's stored history against their own 28-day baselines: resting heart rate elevation, sleep debt, HRV trend breaks, and training load ratio. Prefer this over reading raw metrics when asked how things are going.
get_heart_rate_trendsReturns resting, max, and average heart rate trends over a time period.
get_latest_activityReturns the most recent Garmin activity with distance, duration, pace, and heart rate stats.
get_recovery_statusCombines HRV, sleep, stress, and resting heart rate into a recovery score and training recommendation.
get_sleep_dataReturns sleep duration, quality score, stage breakdown, and interruptions for recent nights.
get_stress_levelsReturns daily stress averages and trends from Garmin Connect.
get_training_insightsReturns a combined weekly training summary: latest activity, recent workouts, sleep, recovery, and stress.
get_user_contextReturns the goals, races, injuries and notes on record for the user. Read this before giving training advice.
get_vo2_max_trendsReturns VO2 max fitness trends over time from Garmin Connect.
get_week_reviewReturns this training week against the previous one — sessions, training load, sleep, resting heart rate, HRV and stress — plus where the acute:chronic load ratio lands if next week repeats this one, a sleep debt and consistency read against the user's own baseline, and the next race on record. Prefer this over reading individual metrics when asked how the week or the block is going, whether to ba
log_subjectiveRecords how a day or session actually felt, rated 1-10: perceived effort (rpe), soreness, or mood. Garmin has no equivalent.
remember_contextRecords something about the user that Garmin does not know: a goal, a race and its date, an injury, or a free-form note. Use this whenever the user mentions one in passing. It can also silence a finding the user has already accounted for — see `mutes`.
Public scan report
scanner v0.1.10 · 2026-10-15 · same rubric, same numbers if you re-run it
- Code scan159 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How TrainBud compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,255 servers
- Tools
- 15
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 252
- more than 78% of 12,191 servers with a package
What its tools let an agent do: 15 read
Release history: 2 versions in the registry since 2026-09-15, latest 2026-09-18, typically one every 3 days.
Install TrainBud in Claude Code, Cursor or VS Code
Runs npx -y trainbud on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add trainbud -- npx -y trainbud
What the publisher says
From the TrainBud repository's README, as published. We do not edit it. Read it on GitHub
TrainBud
Talk to your training data.
TrainBud is an open-source MCP server that connects your Garmin Connect fitness data to Claude, Cursor, and other AI assistants. Ask about workouts, sleep, heart rate, recovery, and body composition in plain English — privately, on your machine.
Disclaimer: TrainBud is an unofficial community project. It is not affiliated with, endorsed by, or sponsored by Garmin Ltd. Garmin Connect is a trademark of Garmin Ltd.
Try it
Once connected to your MCP client, ask things like:
- "What did I do today?"
- "How's my sleep been this week?"
- "Am I recovered enough to train hard tomorrow?"
- "Is my resting heart rate trending down?"
See examples/prompts.md for more ideas.
Why TrainBud
- Private — credentials stay in your local .env; data is cached on your machine
- Local-first — SQLite cache, session tokens in .trainbud/
- Works everywhere — Windows, macOS, Linux (Node.js 22.12+)
- Any MCP client — Claude Desktop, Cursor, and other stdio-compatible clients
- Smart fetching — batched API calls and automatic re-auth when sessions expire
Quick start
npx trainbud setupThe setup wizard walks you through credentials, authentication, and connecting Cursor or Claude Desktop — no MCP config editing required. Then restart your MCP client and ask it what you did today.
To keep trainbud on your PATH instead of typing npx every time:
npm install -g trainbud
trainbud setupNeeds Node 22.12+. Full walkthrough: QUICKSTART.md
From source (for contributors, or to run an unreleased commit)
git clone https://github.com/Zsadigzade/trainbud.git
cd trainbud
npm install
npm run build
npm link # puts `trainbud` on your PATH; undo with `npm unlink -g trainbud`
trainbud setupWithout npm link, every trainbud in this README is node dist/index.js run from the repo root. If dist/ does not exist yet, run npm run build first.
Claude Code plugin (recommended)
Install as a Claude Code plugin — skills and MCP server in one step:
/plugin marketplace add Zsadigzade/trainbud
/plugin install trainbud@trainbudSet credentials, then restart Claude Code:
export GARMIN_EMAIL="your@email.com"
export GARMIN_PASSWORD="yourpassword"Plugin files live in plugin/. See plugin/README.md.
Claude Code skills (in-repo)
This repo also ships project skills in .claude/skills/ for development without installing the plugin:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-09-19restoreC → Bscore 83
TrainBud: common questions
- Is TrainBud MCP server safe?
- Mostly: it is graded B (83/100). Read the TrainBud safety report
- How do I install TrainBud?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does TrainBud need an API key?
- Yes. The registry entry asks for
GARMIN_PASSWORD,ANTHROPIC_API_KEY. - Is TrainBud maintained?
- The last commit was 21 days ago (2026-10-14). The latest release is v0.9.0.
- How does TrainBud compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,255 servers); tools 15 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.