MCP.Market

TrainBud MCP server

by Zsadigzade·io.github.Zsadigzade/trainbud·v0.9.0

Talk to your own fitness data. Findings computed in code against your own 28-day baselines.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

0 stars252 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • compare_workouts

    Compares 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_range

    Returns Garmin activities within an ISO 8601 date range.

  • get_body_composition

    Returns weight, body fat, and muscle mass trends over a time period.

  • get_findings

    Returns 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_trends

    Returns resting, max, and average heart rate trends over a time period.

  • get_latest_activity

    Returns the most recent Garmin activity with distance, duration, pace, and heart rate stats.

  • get_recovery_status

    Combines HRV, sleep, stress, and resting heart rate into a recovery score and training recommendation.

  • get_sleep_data

    Returns sleep duration, quality score, stage breakdown, and interruptions for recent nights.

  • get_stress_levels

    Returns daily stress averages and trends from Garmin Connect.

  • get_training_insights

    Returns a combined weekly training summary: latest activity, recent workouts, sleep, recovery, and stress.

  • get_user_context

    Returns the goals, races, injuries and notes on record for the user. Read this before giving training advice.

  • get_vo2_max_trends

    Returns VO2 max fitness trends over time from Garmin Connect.

  • get_week_review

    Returns 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_subjective

    Records how a day or session actually felt, rated 1-10: perceived effort (rpe), soreness, or mood. Garmin has no equivalent.

  • remember_context

    Records 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

no findings
  • 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
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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 setup

The 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 setup

Needs 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 setup

Without 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@trainbud

Set 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.