Adaptive AI training coach MCP server backed by Garmin Connect
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add coach --env GARMIN_EMAIL='<GARMIN_EMAIL>' --env GARMIN_PASSWORD='<GARMIN_PASSWORD>' -- uvx garmin-coach-mcp~/.codex/config.toml
[mcp_servers.coach]
command = "uvx"
args = ["garmin-coach-mcp"]
env = { GARMIN_EMAIL = "<GARMIN_EMAIL>", GARMIN_PASSWORD = "<GARMIN_PASSWORD>" }
# codex mcp add coach --env GARMIN_EMAIL='<GARMIN_EMAIL>' --env GARMIN_PASSWORD='<GARMIN_PASSWORD>' -- uvx garmin-coach-mcp~/.cursor/mcp.json
{
"mcpServers": {
"coach": {
"command": "uvx",
"args": [
"garmin-coach-mcp"
],
"env": {
"GARMIN_EMAIL": "<GARMIN_EMAIL>",
"GARMIN_PASSWORD": "<GARMIN_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"coach": {
"type": "stdio",
"command": "uvx",
"args": [
"garmin-coach-mcp"
],
"env": {
"GARMIN_EMAIL": "<GARMIN_EMAIL>",
"GARMIN_PASSWORD": "<GARMIN_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"coach": {
"command": "uvx",
"args": [
"garmin-coach-mcp"
],
"env": {
"GARMIN_EMAIL": "<GARMIN_EMAIL>",
"GARMIN_PASSWORD": "<GARMIN_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"coach": {
"command": "uvx",
"args": [
"garmin-coach-mcp"
],
"env": {
"GARMIN_EMAIL": "<GARMIN_EMAIL>",
"GARMIN_PASSWORD": "<GARMIN_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"coach": {
"command": "uvx",
"args": [
"garmin-coach-mcp"
],
"env": {
"GARMIN_EMAIL": "<GARMIN_EMAIL>",
"GARMIN_PASSWORD": "<GARMIN_PASSWORD>"
}
}
}
}Environment variables
GARMIN_EMAILGARMIN_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.