# Suunto MCP

Connects Suunto watch records with your AI assistant. Useful for analyzing workout trends, resting heart rate, and sleep scores or sending workout sessions directly to the watch.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 35
- Author: googlarz
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/googlarz/suunto-mcp
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/suunto-mcp

## What it does

This integration exposes Suunto watch statistics through the official Developer API to Claude Code and compatible MCP clients. It pulls workout summaries and sleep metrics. Dashboards are no longer necessary. Beyond reading stats, the server can convert prior runs into GPX files or send custom workout intervals straight to the watch.

Running the server requires Node.js LTS alongside active credentials from `apizone.suunto.com`. Private developers must wait 3–4 weeks for Suunto to approve the Developer API subscription. You register an application in your developer profile using `http://localhost:8421/callback` as the callback address. Without valid `SUUNTO_CLIENT_ID`, `SUUNTO_CLIENT_SECRET`, and `SUUNTO_SUBSCRIPTION_KEY` values, the tool cannot access your data.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SUUNTO_CLIENT_ID`, `SUUNTO_CLIENT_SECRET`, `SUUNTO_SUBSCRIPTION_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add suunto-mcp -e SUUNTO_CLIENT_ID=<SUUNTO_CLIENT_ID> -e SUUNTO_CLIENT_SECRET=<SUUNTO_CLIENT_SECRET> -e SUUNTO_SUBSCRIPTION_KEY=<SUUNTO_SUBSCRIPTION_KEY> -- npx -y suunto-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add suunto-mcp --env SUUNTO_CLIENT_ID=<SUUNTO_CLIENT_ID> --env SUUNTO_CLIENT_SECRET=<SUUNTO_CLIENT_SECRET> --env SUUNTO_SUBSCRIPTION_KEY=<SUUNTO_SUBSCRIPTION_KEY> -- npx -y suunto-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "suunto-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "suunto-mcp"
            ],
            "env": {
                "SUUNTO_CLIENT_ID": "<SUUNTO_CLIENT_ID>",
                "SUUNTO_CLIENT_SECRET": "<SUUNTO_CLIENT_SECRET>",
                "SUUNTO_SUBSCRIPTION_KEY": "<SUUNTO_SUBSCRIPTION_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "suunto-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "suunto-mcp"
            ],
            "env": {
                "SUUNTO_CLIENT_ID": "<SUUNTO_CLIENT_ID>",
                "SUUNTO_CLIENT_SECRET": "<SUUNTO_CLIENT_SECRET>",
                "SUUNTO_SUBSCRIPTION_KEY": "<SUUNTO_SUBSCRIPTION_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SUUNTO_CLIENT_ID=<SUUNTO_CLIENT_ID> -e SUUNTO_CLIENT_SECRET=<SUUNTO_CLIENT_SECRET> -e SUUNTO_SUBSCRIPTION_KEY=<SUUNTO_SUBSCRIPTION_KEY> suunto-mcp npx -y suunto-mcp
```
Replace <…> with your own values

## When to use it
- compare heart-rate drift across recent long runs
- review resting heart-rate trends and sleep scores
- filter workout sessions with average heart rate above 160 bpm
- export route tracks into GPX files
- dispatch custom workout plans directly to the watch

## Example prompts
- Compare my last three long runs and tell me if heart-rate drift improved.
- Find all training sessions this month where my average heart rate went above 160 bpm.
- Export the GPS track from yesterday's trail run as a GPX file.

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27669
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49845

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
