A gateway between your AI coach
and your Garmin watch
coachd serves your Garmin data to any AI agent over MCP
and puts the workout you agreed on onto your watch, but only after you approve it.

How it works in 46 seconds. Mocked, with a made-up runner (an example week).
Your Garmin data, for any agent
Activities with their FIT files, sleep, HRV and more, from the official Garmin Connect Personal API, over MCP to Claude, ChatGPT or any MCP client.
Nothing reaches the watch without you
The agent proposes; you read the workout, its reasons and coachd’s warnings, and approve with a passkey. No agent credential can approve, deliver or withdraw.
On your wrist or your trainer
The coachd app from the Connect IQ Store copies approved workouts onto your fēnix or Forerunner. Or download the FIT file, or a Zwift workout for cycling.
Planned vs actual
Executed steps are read back from each activity and linked to the workout delivered, so the agent can review the plan against what you did.
Self-hosted, one runner
One signed Docker image, one instance per runner. Your Garmin key and your health data stay on your server.
A gateway, not a coach
Numbers, never verdicts. You and your agent decide the training; coachd provides the data, keeps the context, warns and delivers.

Approving a workout, connecting an app and the connected apps, on a phone. Fake data from a test instance.