A Garmin MCP server for Cursor, Raycast, and Claude Code.

One hosted MCP server, every client. Point Cursor, Raycast, Claude Code, or anything else that speaks MCP at a single URL and bring your full Garmin history, planned and completed, into the tool you already work in.

Using Claude Desktop, claude.ai or the Claude mobile app? Those connect in three clicks with no config file, and the walkthrough lives on Connect Garmin to Claude. This page is for clients you configure yourself.

Garmin MCP
Create a threshold session for Thursday and send it to my Garmin: 4×10 min at threshold, 3 min jog recoveries.
Create activity

Ask anything…

What this lets you do

Works in every tool you already use

Claude Desktop, Cursor, Raycast, custom scripts — if it speaks MCP, Shape works in it. Set up once and your Garmin data is available everywhere without re-authorising each time.

Make sense of how training is going

Compare this week to last, look at heart-rate trends across long runs, check whether your resting HR is creeping up. Your full Garmin history is available in whichever tool you're in, no exports or screenshots.

Two-way sync, not just reading

Most Garmin integrations are read-only. Shape also writes back: plan a workout in any MCP client and it lands on Garmin Connect, ready to start from your watch or Edge.

Use it mid-flow without switching apps

Reviewing training in Cursor? Planning a week in Claude Desktop? Querying from Raycast while your coffee brews? Shape's tools are wherever you're working — no browser tab required.

Setup in 3 steps

  1. 1

    Sign up for Shape and connect Garmin Connect

    Sign up for Shape (start the 14-day free trial) and connect Garmin via the official OAuth flow. Your activity history starts syncing right away, so we have something to work with from minute one.

  2. 2

    Connect your MCP client to Shape

    Point your MCP client (Claude Desktop, Cursor, Raycast, custom tools) at https://shapecalendar.com/mcp. Clients that support OAuth (Claude, ChatGPT) will open a Shape consent screen for you to approve, no token to copy. For clients without OAuth, generate a bearer token in Settings → API access and add it as an Authorization header.

  3. 3

    Start using it

    Fire up your client and start calling Shape’s tools. Check the MCP docs for the full tool list and example calls.

Example prompts

  • Plan me a 6-day week based on how I've been training in Garmin lately. Two key sessions, one long run, the rest easy please.
  • Build me a threshold run for Thursday: 4x10 minutes at threshold, 3-minute jogs between. Send it to my Garmin.
  • How am I doing this week compared to two weeks ago? Pull from Garmin and break it down for me.
  • Move all my bike sessions this week to next week. Life happened.
  • Build me a 12-week marathon plan ending October 5th. Peak around 70 km a week. Schedule the whole thing.
  • Sum up my last race and tell me what to work on for the next block.
  • Make Sunday's long run hilly. Three steady 8-minute climbs at marathon effort would be perfect.
  • Check my sleep, HRV, and Body Battery from Garmin this week. Am I recovered enough to hit today's intervals, or should I go easy?

What makes Shape different

  • Two-way Garmin sync, not just analytics. Most Garmin AI tools only read your data. Shape also sends structured workouts to Garmin Connect and your watch.
  • Built around workouts. Shape thinks like a coach: planned sessions, completed sessions, intent, comparison. Not raw activity files.
  • All your sports in one calendar. Runs, rides, lifts, hikes and Apple Health workouts sit side by side instead of being stuck in separate apps.

Config for Cursor, Claude Code, and Raycast

Shape is a remote (Streamable HTTP) MCP server, so there is nothing to install and no Garmin credentials in a config file. Clients that support OAuth open a Shape consent screen on first use. For the rest, create a token in Settings → API access and send it as a bearer header.

Cursor

Add Shape to ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside one repo.

{
  "mcpServers": {
    "shape": {
      "type": "http",
      "url": "https://shapecalendar.com/mcp",
      "headers": {
        "Authorization": "Bearer shape_..."
      }
    }
  }
}

Claude Code

One command, from any directory.

claude mcp add --transport http shape https://shapecalendar.com/mcp \
  --header "Authorization: Bearer shape_..."

Raycast and other MCP clients

Anything that speaks Streamable HTTP takes the same URL and header.

URL:    https://shapecalendar.com/mcp
Header: Authorization: Bearer shape_...

Pricing.

Paid plans keep Shape sustainable, independent, and focused on athletes.

Monthly

$5per month

Flexible. Cancel any time.

  • Unlimited planning
  • AI workout creation
  • MCP for Claude and ChatGPT
  • Training load, fitness and form
  • Structured workouts + watch sync
  • Garmin, Apple Health, Wahoo
  • External calendar integration
  • API access
Launch offer

Lifetime

$59.99$149once

Pay once. Use forever.

  • Unlimited planning
  • AI workout creation
  • MCP for Claude and ChatGPT
  • Training load, fitness and form
  • Structured workouts + watch sync
  • Garmin, Apple Health, Wahoo
  • External calendar integration
  • API access

Frequently asked questions

Yes. Claude Code talks to remote MCP servers over Streamable HTTP, so `claude mcp add --transport http shape https://shapecalendar.com/mcp` is the whole setup. Add an Authorization header with a token from Settings → API access if you would rather not go through the OAuth prompt.

No. You connect Garmin to Shape once through Garmin Connect's own OAuth screen, and your MCP client only ever holds a Shape token. Your Garmin credentials never go near a config file.

Not from us. Shape's MCP server works with any MCP-compatible client. Some clients (ChatGPT, Claude) gate custom MCP behind their paid tiers, others (Cursor, Raycast, local Claude Desktop) don't.

Yep. When you (or ChatGPT/Claude) plan a workout in Shape, we write the structured steps straight to Garmin Connect, and they appear on your watch ready to start.

Connection happens via Garmin Connect's official OAuth, so we never see your password. Your MCP URL is private and token-protected, so only your MCP sees your data. Nothing public, no leaky feeds.

You get a summary of each activity: type, duration, distance, average heart rate and power, elevation gain, and training load. For activities recorded on your Garmin device you also get the recorded time-series — heart rate, pace, cadence, power, elevation, GPS and temperature over the course of the workout — plus per-lap splits and time in each training zone. We also pull daily health data: sleep, resting heart rate, HRV, stress, Body Battery, VO2 max, body composition, and steps.

Yes. For any activity recorded on your Garmin, your AI assistant can read how your heart rate, pace, cadence, power and elevation changed over the workout, along with your lap splits and how long you spent in each training zone. That answers the things a summary can't: where you faded, whether your intervals held pace, how much of the run was actually at threshold.

Yes, all of it. Connecting Garmin syncs your activities and health data through the official Garmin API, which covers your last 30 days and everything you record from then on. For the years before that, Shape also reads Garmin's own data export: in Settings, Connections, pick Import your full Garmin history and request the export from Garmin. They email it within a day, you drop the .zip back in, and every activity comes across with its map and heart rate trace, plus your sleep and daily health history.

Yes, and most athletes do. Hook up Garmin, Wahoo and Apple Health side by side and we'll blend everything into one calendar and one training-load chart.

$5/month, with a 14-day free trial, or $59.99 one-time for lifetime access.

Your training stays yours. We don't sell it, we don't put it in a public feed, and we don't use it to train AI models. It's your account, full stop.

Related integrations

See all integrations →