GymTempo
EN
All posts

Connect GymTempo to Claude (MCP)

Install @gymtempo/mcp, generate an API key in the app, and connect Claude Code or Cursor to your training data.

GymTempo MCP connects compatible AI assistants to your account — programs, routines, workout history, and the exercise catalog. Your assistant can read your training data and help you plan or log workouts.

Status

Beta — free while we test. MCP access is planned for the PRO plan later. For now, every account can try it at no cost.

What you need

  • Node.js 20+
  • A GymTempo account with at least one program (or willingness to create one via MCP)
  • An MCP client — Claude Code (CLI), Cursor, or Claude Desktop

Step 1 — Install the MCP server

Install the package globally so your MCP client can run gymtempo-mcp from anywhere. Use the package manager you normally use:

pnpm add -g @gymtempo/mcp

Verify the install:

which gymtempo-mcp
gymtempo-mcp --help 2>&1 || true

The command should resolve to your package manager’s global bin directory.

Alternative (no global install): use npx -y @gymtempo/mcp instead of gymtempo-mcp in the examples below. Cursor’s config uses this pattern by default.

Step 2 — Generate an API key

  1. Open GymTempo → Settings → Developer.
  2. Tap Generate API key.
  3. Copy the key immediately — it is shown only once. It starts with gtm_live_.
  4. Store it somewhere safe. You can revoke and regenerate it anytime in Settings.

Only one active key is allowed per account.

Step 3 — Connect Claude Code

Run this once (replace the key with yours):

claude mcp add gymtempo --scope user \
  --env GYMTEMPO_API_KEY=gtm_live_YOUR_KEY_HERE \
  -- gymtempo-mcp
  • gymtempo — server name shown in Claude (pick any name you like)
  • --scope user — available in all your projects
  • --env GYMTEMPO_API_KEY=... — your key from Step 2
  • -- gymtempo-mcp — the globally installed MCP server binary from Step 1

Check that Claude sees the server:

claude mcp list

Then ask Claude something like:

List my GymTempo programs.

Show my last 5 workouts.

Search exercises for barbell row.

Cursor

Add to your Cursor MCP config (~/.cursor/mcp.json or project .cursor/mcp.json):

{
  "mcpServers": {
    "gymtempo": {
      "command": "npx",
      "args": ["-y", "@gymtempo/mcp"],
      "env": {
        "GYMTEMPO_API_KEY": "gtm_live_YOUR_KEY_HERE"
      }
    }
  }
}

Restart Cursor after saving. No global install required — npx downloads the package on first use.

If you already installed globally and prefer that:

{
  "mcpServers": {
    "gymtempo": {
      "command": "gymtempo-mcp",
      "env": {
        "GYMTEMPO_API_KEY": "gtm_live_YOUR_KEY_HERE"
      }
    }
  }
}

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (create the file if it does not exist):

{
  "mcpServers": {
    "gymtempo": {
      "command": "gymtempo-mcp",
      "env": {
        "GYMTEMPO_API_KEY": "gtm_live_YOUR_KEY_HERE"
      }
    }
  }
}

Restart Claude Desktop completely (quit from the menu bar, not just close the window).

Available tools

ToolWhat it does
list_programsList your training programs
list_routinesList routines in a program
get_routineFull routine with exercises and sets
list_workoutsRecent workouts (paginated)
get_workoutFull workout log
get_exercise_historyPast sets for an exercise
list_exercisesSearch the exercise catalog
create_programCreate a program
create_routineCreate a routine with a plan
update_routineReplace a routine’s exercise tree
log_workoutLog a completed workout

Delete operations are not exposed via MCP — remove programs, routines, or workouts in the GymTempo app.

Troubleshooting

Invalid API key

Regenerate a key in Settings → Developer, update GYMTEMPO_API_KEY in your MCP config, and restart the client.

Rate limit exceeded

Wait a minute and retry. Limits are 60 requests/minute and 500/hour per account.

gymtempo-mcp: command not found

Your package manager’s global bin directory may not be on your PATH. Either:

  • Re-run the global install command above and ensure the global bin directory is in PATH, or
  • Switch to npx -y @gymtempo/mcp (Cursor example above)

Server not listed in Claude

claude mcp list
claude mcp remove gymtempo   # if you need to re-add

Make sure options come before the server name and -- separates the name from the command:

claude mcp add gymtempo --env GYMTEMPO_API_KEY=gtm_live_... -- gymtempo-mcp

No programs yet

Ask your assistant to create one, or add a program in the GymTempo app first.

Security

  • Treat gtm_live_... like a password — anyone with it can read and write your training data via MCP.
  • Revoke the key in Settings if it is exposed.
  • The MCP package bundles GymTempo’s public Supabase credentials (same as the web app). Your API key is what authenticates you.

Questions? Contact us.