GarminSynapse
Provides tools for interacting with Garmin Connect, enabling AI agents to retrieve health metrics, activities, sleep data, HRV trends, download FIT files, and query the local relational database.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GarminSynapseShow my sleep stages and HRV status for today."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚡ GarminSynapse
Unified Health Engine, Relational Database, Native MCP Server & Web Dashboard for Garmin Connect.
Bridge your Garmin training data, health metrics, and raw .FIT files directly to AI Agents (Claude, Cursor, AGY) and modern web clients.
Features • Architecture • Quick Start • MCP Guide • REST API • License
🌟 Key Features
Related MCP server: Garmin Workouts MCP Server
🏗️ System Architecture
flowchart TD
subgraph Cloud["Garmin Connect Cloud"]
GC["Garmin API Endpoints (180+ Methods)"]
end
subgraph Auth["Dual-Engine Auth Core"]
CFFI["curl_cffi (Chrome TLS Impersonation)"]
PW["Playwright Chromium Fallback"]
end
subgraph Storage["Storage & ETL Engine"]
EXT["GarminExtractor"]
PROC["GarminProcessor"]
DB[("SQLite Database\n(40+ Relational Tables)")]
end
subgraph Access["Interfaces"]
MCP["MCPServer (SDK 2.0)\n(STDIO & SSE)"]
REST["FastAPI REST API\n(Port 6060)"]
SPA["Web Dashboard SPA\n(Dark/Light Mode)"]
end
subgraph Clients["Clients"]
AI["AI Agents\n(Claude, Cursor, AGY)"]
User["User Browser / Tailscale"]
end
GC --> Auth
Auth --> EXT
EXT --> PROC
PROC --> DB
DB --> MCP
DB --> REST
REST --> SPA
MCP --> AI
SPA --> User⚡ Quick Start
Zero-Friction Install: install.sh automatically checks & installs all prerequisites (Python ≥ 3.9, pip, git, system libs, Playwright browser, all 13 Python packages). Users never need to install anything manually.
Prerequisites (auto-handled by install.sh)
Requirement | Version | Notes |
Python | ≥ 3.9 | Script checks and errors if missing |
pip | Any | Auto-installed via apt/dnf/pacman/brew |
git | Any | Auto-installed if missing |
System libs | libnss3, libgbm1, etc. | Auto-installed for Playwright on Debian/Ubuntu |
Installation
# 1. Clone Repository
git clone https://github.com/kaivyy/garminsynapse.git
cd garminsynapse
# 2. One-Click Setup (checks & installs everything)
chmod +x install.sh
./install.sh
# 3. Start Web Dashboard (Port 6060)
garminsynapse start-server
# or: python3 -m garminsynapse.cli start-serverOpen your browser at http://localhost:6060 or via Tailscale IP http://<IP-Tailscale-Server>:6060.
What install.sh does
✅ Checks Python ≥ 3.9, pip, git — auto-installs if missing
✅ Installs system libraries for Playwright (Debian/Ubuntu)
✅ Runs
pip install -e .[dev](all 13 dependencies frompyproject.toml)✅ Installs Playwright Chromium browser binary
✅ Creates
garmin_files/working directories and~/.garminsynapse/config✅ Validates installation by importing all modules and testing the web server
Norequirements.txt needed — all dependencies are declared in pyproject.toml using modern PEP 621 standards.
📦 Dependencies
All installed automatically via pyproject.toml:
Package | Purpose |
| REST API server & web dashboard |
| CLI interface ( |
| SQLite ORM with 40+ table schema |
| Primary auth via Chrome TLS fingerprint |
| Fallback auth via headless Chromium |
| Garmin Connect API client wrapper |
| Model Context Protocol server SDK |
| Binary |
| Safe XML/TCX parsing |
| HTTP utilities |
| Data validation (via FastAPI) |
| Test suite (dev dependency) |
🤖 MCP Integration Guide
Connect GarminSynapse to your favorite AI Assistant in seconds.
Claude Desktop Setup
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"garminsynapse": {
"command": "python3",
"args": ["-m", "garminsynapse.cli", "mcp"],
"env": {
"PYTHONPATH": "${workspaceFolder}/src"
}
}
}
}Cursor & AGY Setup
In Editor Settings -> Model Context Protocol (MCP) -> Add New Command:
Name:
garminsynapseCommand:
python3 -m garminsynapse.cli mcp
🛠️ MCP Tools Reference (20 Native AI Tools)
Tool Name | Parameters | Description |
| None | Check auth, database, and MCP system status |
|
| Authenticate with Garmin Connect |
| None | Get registered watch model names, serial numbers, unit IDs, and firmware |
| None | Get live point-in-time metrics (Body Battery %, charged/drained, Stress, Steps, Nap) |
|
| Extract recent Garmin metrics to SQLite database |
|
| Get daily steps, RHR, stress, body battery, calories, distance |
|
| Get sleep stages, sleep score, and daytime nap intervals |
|
| Get Training Readiness score (0–100) and recovery factors |
| None | Get race time predictions for 5K, 10K, Half Marathon, and Marathon |
| None | Get user's earned Garmin Connect achievement badges |
|
| Get HRV status, weekly baseline, and nightly averages |
|
| Get waking and sleep respiration rates (brpm) |
|
| Get blood oxygen saturation (SpO2 / Pulse Ox %) daily time-series |
|
| Get daily water intake and hydration logs |
| None | Get calculated Fitness Age vs chronological age |
| None | Get user social and biometric profile (weight, height, gender, VO2 Max) |
|
| List recent workouts (distance, duration, HR, calories) |
|
| Get detailed time-series metrics & map polyline |
|
| Download raw binary |
|
| Execute safe |
📡 REST API Endpoints (Port 6060)
Method | Endpoint | Description |
|
| System health & authentication status |
|
| Authenticate Garmin Connect account |
|
| Clear active token session |
|
| Connected Garmin watch info with 6-hour cache |
|
| Live real-time biometric readings (Body Battery, Stress, Steps, Nap) |
|
| Health gauges (Steps, HR, Sleep, Battery, HRV, SpO2, Respiration) |
|
| Training Readiness score & recovery factor breakdown |
|
| Race time predictions (5K, 10K, Half Marathon, Marathon) |
|
| User's earned Garmin Connect achievement badges |
|
| User social profile & biometric parameters |
|
| List recent logged workouts with date filters |
|
| Single activity full details |
|
| Trigger manual data extraction (with 5-minute cooldown) |
🖥️ CLI Commands
# Start web dashboard
garminsynapse start-server [--host 0.0.0.0] [--port 6060]
# Sync Garmin data
garminsynapse sync --email you@mail.com --password yourpass [--days 7]
# Start MCP server (for AI agents)
garminsynapse mcp
# Downsample raw 1-second time-series metrics older than 30 days
garminsynapse downsample --days-keep-raw 30
# Prune historical activities older than 1 year
garminsynapse prune --days-keep 365🧹 Database Maintenance
Keep disk usage optimal by downsampling high-frequency 1-second metrics.
# Downsample raw 1-second time-series metrics older than 30 days
garminsynapse downsample --days-keep-raw 30
# Prune historical activities older than 1 year
garminsynapse prune --days-keep 365🧪 Running Tests
# Run full test suite
PYTHONPATH=src pytest tests/ -v
# Run specific module tests
PYTHONPATH=src pytest tests/test_db.py -v
PYTHONPATH=src pytest tests/test_mcp.py -v📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access Garmin Connect activities, workouts, and workout templates for querying and creating workout plans.5MIT
- AlicenseNot gradedqualityAmaintenanceDownloads all your Garmin health and fitness data into a local SQLite database and exposes 45 MCP tools for AI analysis, enabling assistants to query sleep, training load, HRV, and more.144AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query live Garmin Connect health and fitness data, including daily metrics, activities, sleep analysis, and trends via natural language.MIT
Related MCP Connectors
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
63 tools for Apple Health, Fitbit, Oura & Health Connect data in Claude, ChatGPT, Grok & Mistral.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaivyy/garminsynapse'
If you have feedback or need assistance with the MCP directory API, please join our Discord server