Garmin MCP Server

Fitness and health data integration providing access to Garmin Connect activity analytics.

Data last scanned today · Reviewed today

456 tools848PythonMIT

Overview

This MCP server bridges Garmin Connect with AI assistants, exposing a comprehensive library of over 110 tools. It enables users to query health metrics like heart rate, sleep, and respiration, alongside deep training performance data such as VO2 max trends, HRV, and cycling power analytics. The server relies on the python-garminconnect library to interface with your account data. Beyond data retrieval, the server supports activity management, allowing users to modify metadata, edit workout details, and log nutritional information. Advanced users can parse FIT files, download activity records in various formats, or utilize the workout builders to schedule training plans directly through their AI interface.

Our verdict

This server carries a high risk level with a security score of 45/100, primarily due to it being a community-maintained project that has not yet undergone independent editorial or security review. While it offers extensive functionality, the lack of verified authentication and read-only mode protocols means users should exercise caution before connecting personal health data. It is currently suitable for experimental or personal testing environments rather than sensitive data workflows.

  • Over 110 tools covering 90 percent of the Garmin API
  • Zero direct dependencies minimize the software supply chain surface
  • Supports writing data for activity metadata and workout scheduling
  • Active repository with 37 contributors and recent commits
  • Security score of 45/100 indicates high risk for users
  • Authentication and read-only mode methods remain unverified
  • Community-maintained without official vendor oversight or review

Tools

ToolDescriptionRisk
download_activity_fileDownloads the activity and saves it to the configured directory.low
set_fit_download_dirSets and persists the default download directory.medium
create_walk_run_workoutCreates a walk/run interval workout with optional heart-rate zone target.medium
create_z2_walk_workoutCreates a steady Z2 walking workout.medium
create_strength_workoutCreates a strength workout from a list of exercises.medium
schedule_weekSchedules multiple workouts in one call.medium

Compatibility

ClientLocalDockerRemoteRead-only
ChatGPT
Claude Desktop
Cursor
VS Code
Windsurf

Frequently asked questions

Can I limit the number of tools exposed to the LLM?

Yes, you can use the GARMIN_ENABLED_TOOLS environment variable to specify an allowlist of tools, or the GARMIN_DISABLED_TOOLS variable to specify a denylist.

How do I configure where activity files are downloaded?

You can set the download path using the set_fit_download_dir tool, define the GARMIN_FIT_DOWNLOAD_DIR environment variable, or provide an output_dir argument during the download call.

Are there any requirements for using the Activity Analysis tools?

Yes, these tools require a compatible power meter and/or electronic shifting components like Shimano Di2 or SRAM eTap to function.

Are destructive operations like deleting activities supported?

No, certain destructive operations such as delete_activity and delete_blood_pressure have been intentionally excluded from the implementation.

Why is the get_activity_details tool not available?

This endpoint was excluded due to the high volume of data returned, such as large GPS tracks and chart data, in favor of using get_activity for summaries.

Alternatives

Changelog

Badge

Garmin MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.