Garmin MCP Server for Poke
A Poke-compatible MCP server exposing 90+ Garmin Connect tools over HTTP via FastMCP. Deployable to Render.
Built on top of Taxuspt/garmin_mcp and InteractionCo/mcp-server-template.
Setup
1. Generate OAuth Tokens
Garmin accounts with MFA require local token generation:
pip install garminconnect garth
python scripts/generate_tokens.py
This will prompt for your Garmin email, password, and MFA code, then output a base64 token string.
2. Deploy to Render
Option 1: One-Click Deploy
Click the "Deploy to Render" button above, then set GARMINTOKENS_BASE64 to the token string from step 1.
Option 2: Manual Deployment
- Fork this repository
- Connect your GitHub account to Render
- Create a new Web Service on Render
- Connect your forked repository
- Render will automatically detect the
render.yamlconfiguration - Set
GARMINTOKENS_BASE64in environment variables
Your server will be available at https://your-service-name.onrender.com/mcp
3. Connect Poke
Add your Render URL to Poke at poke.com/settings/connections:
https://your-service-name.onrender.com/mcp
Local Development
pip install -r requirements.txt
cp .env.example .env
# Edit .env and set GARMINTOKENS_BASE64
python src/server.py
Test with MCP Inspector:
npx @modelcontextprotocol/inspector
Open http://localhost:3000 and connect to http://localhost:8000/mcp using "Streamable HTTP" transport.
Token Refresh
Tokens last approximately 6 months. When they expire, re-run generate_tokens.py and update the Render env var.
Tool Categories
| Category | Tools | Examples |
|---|---|---|
| Activity Management | 14 | Activities by date, splits, weather, HR zones, gear |
| Health & Wellness | 28 | Stats, sleep, stress, body battery, HRV, SpO2, steps |
| Training | 10 | Training status, endurance score, hill score, lactate threshold |
| User Profile | 4 | Profile info, settings, unit system |
| Devices | 7 | Device list, settings, alarms, solar data |
| Gear Management | 3 | Gear inventory, add/remove gear from activities |
| Weight Management | 5 | Weigh-ins, add/delete measurements |
| Challenges | 10 | Goals, badges, challenges, race predictions, PRs |
| Workouts | 7 | Workout library, scheduling, training plans, upload |
| Data Management | 3 | Body composition, blood pressure, hydration |
| Women's Health | 3 | Pregnancy, menstrual cycle tracking |
| Workout Templates | 5 | Resources with workout JSON templates |
Attribution
Built on top of:
- Taxuspt/garmin_mcp -- Garmin Connect MCP tool modules and authentication flow
- InteractionCo/mcp-server-template -- FastMCP HTTP server template for Render/Poke