Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

Futureweb Intervals MCP

by futurewebversion 1.0.0b2i★ 13iRuns on your computer
Registry nameio.github.futureweb/intervals-mcp-server

How to install

What it does

Self-hosted Intervals.icu MCP server: training analytics, Garmin data, wellness, workout planning

  • Connects Runs on your computer
  • Account or key Needs API_KEY, ATHLETE_ID
  • Category Clinics & health

Install

Pick the AI app you use, then copy the settings.

Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude, with some setup first

You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Futureweb Intervals MCP key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Futureweb Intervals MCP site ↗

  3. Open the Claude desktop app’s settings file

    SettingsDeveloperEdit Config

  4. Paste these settings and save the file

    {
      "mcpServers": {
        "intervals": {
          "command": "uvx",
          "args": [
            "futureweb-intervals-mcp"
          ],
          "env": {
            "API_KEY": "your-value",
            "ATHLETE_ID": "your-value",
            "MCP_PERMISSIONS": "your-value",
            "MCP_TOOLSET": "your-value",
            "ATHLETE_TIMEZONE": "your-value"
          }
        }
      }
    }

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Quit Claude and open it again

  6. Try it

    Use Futureweb Intervals MCP and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Futureweb Intervals MCP or shows a Futureweb Intervals MCP tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect Futureweb Intervals MCP yet

Futureweb Intervals MCP runs on your computer, but ChatGPT can only connect servers that run on the web

What you can do instead

A · Use an app that can connect Futureweb Intervals MCP

  • You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
  • You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)
  • You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)
  • You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

B · Others in Clinics & health that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code, with some setup first

You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Futureweb Intervals MCP key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Futureweb Intervals MCP site ↗

  3. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  4. Paste this command and press Enter

    claude mcp add --scope user intervals --env API_KEY=your-value --env ATHLETE_ID=your-value --env MCP_PERMISSIONS=your-value --env MCP_TOOLSET=your-value --env ATHLETE_TIMEZONE=your-value -- uvx futureweb-intervals-mcp

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Type /mcp in Claude Code

    You should see Futureweb Intervals MCP listed as connected

  6. Try it

    Use Futureweb Intervals MCP and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Futureweb Intervals MCP or shows a Futureweb Intervals MCP tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor, with some setup first

You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Futureweb Intervals MCP key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Futureweb Intervals MCP site ↗

  3. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  4. Fill in your key

    In the Futureweb Intervals MCP settings, API_KEY, ATHLETE_ID, MCP_PERMISSIONS, MCP_TOOLSET, ATHLETE_TIMEZONE is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in Cursor in Agent mode

  6. Try it

    Use Futureweb Intervals MCP and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Futureweb Intervals MCP or shows a Futureweb Intervals MCP tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code, with some setup first

You need a Futureweb Intervals MCP key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Futureweb Intervals MCP key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Futureweb Intervals MCP site ↗

  3. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  4. Fill in your key

    In the Futureweb Intervals MCP settings, API_KEY, ATHLETE_ID, MCP_PERMISSIONS, MCP_TOOLSET, ATHLETE_TIMEZONE is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in VS Code in Agent mode

  6. Try it

    Use Futureweb Intervals MCP and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Futureweb Intervals MCP or shows a Futureweb Intervals MCP tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

JSON settings are under “For developers” below

Stuck? Ask people who use Futureweb Intervals MCP💬 Discussion →
For developers: Terminal commands and JSON settings

Installed on your computer

Claude Code

claude mcp add --scope user intervals --env API_KEY=your-value --env ATHLETE_ID=your-value --env MCP_PERMISSIONS=your-value --env MCP_TOOLSET=your-value --env ATHLETE_TIMEZONE=your-value -- uvx futureweb-intervals-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "intervals": {
      "command": "uvx",
      "args": [
        "futureweb-intervals-mcp"
      ],
      "env": {
        "API_KEY": "your-value",
        "ATHLETE_ID": "your-value",
        "MCP_PERMISSIONS": "your-value",
        "MCP_TOOLSET": "your-value",
        "ATHLETE_TIMEZONE": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "intervals": {
      "command": "uvx",
      "args": [
        "futureweb-intervals-mcp"
      ],
      "env": {
        "API_KEY": "your-value",
        "ATHLETE_ID": "your-value",
        "MCP_PERMISSIONS": "your-value",
        "MCP_TOOLSET": "your-value",
        "ATHLETE_TIMEZONE": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "intervals": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "futureweb-intervals-mcp"
      ],
      "env": {
        "API_KEY": "your-value",
        "ATHLETE_ID": "your-value",
        "MCP_PERMISSIONS": "your-value",
        "MCP_TOOLSET": "your-value",
        "ATHLETE_TIMEZONE": "your-value"
      }
    }
  }
}

Values you fill in

  • API_KEY secret required env
    Intervals.icu API key (Settings > Developer Settings)
  • ATHLETE_ID required env
    Intervals.icu athlete ID
  • MCP_PERMISSIONS env
    Enabled tool classes: read (default, read-only), read,write, or all (adds destructive and admin tools)
  • MCP_TOOLSET env
    full (every tool of the enabled classes) or core (curated coaching set)
  • ATHLETE_TIMEZONE env
    Time zone for 'today' and default date ranges, e.g. Europe/Vienna; default: the Intervals.icu athlete profile

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
42/wk
Licencei
GPL-3.0
Connection
Runs on your computer
Latest versioni
1.0.0b2
Published to registryi
Oct 15, 2026
Code last changedi
Nov 1, 2026
Maker
futureweb
Packages
pypi: futureweb-intervals-mcp
oci: ghcr.io/futureweb/intervals-mcp-server:1.0.0b2
Website
github.com
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account futureweb, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 12 days ago

  • ✓ Pass

    Has a licence

    Uses GPL-3.0

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Clinics & healthi

  • More stars than 96% of the other 1103 servers in this category
  • Published to the registry more recently than 49% of the other 1103 servers in this category
  • Basic checks equal to or better than 100% of the other 1103 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Futureweb Intervals MCP safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: API_KEY, ATHLETE_ID

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed 12 days ago, and the latest version (1.0.0b2) reached the registry 29 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), Docker on your computer.

What can I use instead?

In the same category: Medplum MCP, Mirobody, Apple Health

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Medplum MCP

Securely access and manage FHIR healthcare data stored in Medplum.

by medplumWidely used★ 2.8KUpdated 4 months ago

Runs in the cloud✓ service owner · medplum.com

Mirobody

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

by thetahealthGrowing↓ 290/wk★ 1.5KUpdated 3 days ago

Runs on your computer✓ thetahealth.ai

Apple Health

Local-first Apple Health MCP server for questions about your sleep, workouts and heart data.

by neiltronGrowing↓ 106/wk★ 575Updated 2 months ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Futureweb Intervals MCP

Advanced Intervals.icu MCP server for ChatGPT, Claude and every MCP client: Garmin-enriched metrics, every custom field and stream, recovery insights and endurance performance analysis.

A Model Context Protocol server that lets AI assistants read and analyse your Intervals.icu training data the way a coach would: activities with every custom field and stream, intervals, wellness against personal baselines, thresholds and zones, planned-versus-executed workouts, climbs, dual power meters, best efforts, efficiency and fatigue resistance, nutrition and weight, training summaries and the calendar. It runs where you run it, talks only to the Intervals.icu API and exposes nothing that writes unless you enable it.

Continuation of [mvilanova/intervals-mcp-server](https://github.com/mvilanova/intervals-mcp-server).

The original project is no longer actively developed (last commit on 2 August 2026, 29

pull requests left open). This community-maintained fork carries it on: the useful

open pull requests were reviewed and merged with their authors credited, the bugs fixed, and the

server rebuilt around coaching analysis, Garmin data and safe remote access. Not affiliated with

Intervals.icu or Garmin.

Companion project: the Garmin Intervals Bridge puts back the metrics Garmin strips from the files it sends to Intervals.icu (stamina, training effect, recovery time, VO₂max, running dynamics, sleep and HRV details …). This MCP is built to read all of it, but works just as well without the bridge.

For the mountains: intervals-summits writes the summits, huts and passes of your activities into custom fields (Summits, SummitCount). This MCP reads them like any other field, so your assistant knows which summits a tour reached: ask which ones you climbed this year, or how often.

Contents

Highlights

  • Every custom item, resolved dynamically. Custom activity fields, interval fields, streams and wellness fields are read from your own definitions and reported with name, code, value and units. Nothing device-specific is hard-coded; null, NaN, zero and absent stay distinct, fields that do not belong to the sport are kept apart, and device loads are never mixed with the Intervals.icu load.
  • Streams at full resolution. Any stream as summary, CSV or JSON, sliced by index or time, downsampled and paged, plus per-interval statistics of any stream (for example the stamina drop of each interval).
  • Coaching analysis instead of raw dumps. One-call activity report, planned versus executed per step (also for deleted events and rides extended beyond the plan), climbs and descents, second power meter check, best efforts, similar intervals, repeated workouts over time, power-to-heart-rate efficiency, fatigue resistance, training load (acute:chronic ratio, monotony, strain), three-zone intensity distribution with polarization index, aerobic durability, load projection over the plan, recovery snapshot with 42-day baselines, wellness trends and correlations, nutrition and weight trends, weekly and monthly summaries. Statistics with their sample sizes; the interpretation stays with the coach.
  • Token-efficient. detail_level (compact, standard, full) and output_format="json" on the heavy tools, a compact tool catalogue (about 23k tokens for read and write, an optional core set of about 10k), 13 ready-made coaching prompts and method guides as MCP resources and through get_guide.
  • Safe remote access. Built-in OAuth 2.1 server with "Continue with Intervals.icu" sign-in, a consent page with per-connection permissions, client metadata documents with private_key_jwt (ChatGPT), PKCE and RFC 9207. Streamable HTTP (/mcp) and SSE from one process.
  • Safe, verifiable writes. Workouts are validated before they are written, dry_run shows the exact request, a second identical event on the same day is refused, and every write reads back what Intervals.icu stored and parsed.
  • Route-aware outdoor workouts. Steps that end on the lap button (until_lap_press) let you start the next interval where the road suits it, e.g. at the foot of a climb, while the work steps stay timed. Confirmed on a Garmin Edge 1040 on the bike (see below).
  • Read-only by default. Tools are grouped into permission classes (read, write, destructive, admin) enforced on the server; only read is active unless you enable more.
  • Tested. More than 1,100 tests on synthetic data, ruff, mypy, CodeQL, pinned GitHub Actions, build and Docker smoke tests on every pull request.

Works with the Garmin Intervals Bridge

Garmin device ──► Garmin Connect ──► official sync ──► Intervals.icu activity (filtered FIT)

│ ▲ └── Garmin Intervals Bridge ──────────┘ restores custom fields, streams, wellness │ Futureweb Intervals MCP (this project) │ ChatGPT / Claude / any MCP client

The Garmin Intervals Bridge writes the metrics Garmin filters out into the custom activity fields, custom streams and wellness fields you defined in Intervals.icu. The MCP reads those definitions at run time, so every restored value shows up in the tools automatically:

Restored by the bridgeWhere the MCP shows it
Training effect, EPOC, Garmin training load, recovery time, VO₂max, performance condition, stamina start/end, sweat loss, temperaturesget_activity_details, get_activity_report, get_training_summary, get_training_load (device loads apart from the Intervals.icu load), get_fueling_analysis (sweat loss per hour), get_activity_data_audit (which fields still hold a zero placeholder or no value)
Stamina and potential stamina, second power meter, grade-adjusted speed, gear selection, running dynamics streamsget_activity_streams, get_activity_intervals, analyze_workout_execution, analyze_climbs, compare_power_streams
Night SpO₂, respiration, sleeping HR, HRV details, Body Battery, sleep stages and stress, readiness, nutritionget_wellness_data, get_recovery_snapshot, get_wellness_trends, get_nutrition_summary

The MCP never contacts Garmin; the bridge is optional and other devices or sync tools that fill custom items get the same treatment. Worked examples and notes on reading the device metrics correctly: docs/GARMIN_BRIDGE.md.

Tools

67 tools; 52 of them only read. Write tools are marked ✎ (write), ✖ (destructive) or ⚙ (admin) and are hidden unless their class is enabled. Most tools accept output_format="json" and detail_level (compact first). Tools never take an API key: credentials come only from the server environment.

The catalogue is kept small for the AI client: short descriptions that say when to use a tool, a description and (where the values are fixed) an enum for every parameter, and text results without a duplicate structured copy. Method details and the workout format live in MCP resources (intervals://methods/ , intervals://workout-syntax) and in get_guide(topic) for clients that only call tools. tools/list is about 22.7k tokens at MCP_PERMISSIONS=read,write (was 42.0k; cl100k); see Tool sets for a smaller set.

Activity analysis

ToolWhat it does
get_activity_reportComplete analysis in one call: overview with fueling (carbs used/ingested per hour, sweat loss, energy), weather (temperature, feels-like, wind, head/tailwind share) and W′ balance (max depletion, time below 75/50/25 % of W′), plan vs execution or intervals, second power meter check, climbs, data-quality notes (source, upload and analysis times, recording stops, zero placeholders); include_route_history compares earlier activities on the same Intervals.icu route (time, power, W/kg, HR, weather, stamina); detail_level compact (core numbers, one context line and key findings, about 2-2.5k characters), standard or full
get_activity_data_auditProvenance and data quality of one activity: source and file (Garmin sync, Garmin export or bridge upload, Strava stub), upload and analysis times, filtered duplicates, recording stops and gaps, FIT laps vs intervals and manual edits, device and sensor identity, streams usual for the sport but missing, per-stream coverage, custom fields with value / zero placeholder / none and what the Garmin Intervals Bridge could fill; without an activity, the per-sport data coverage of a period

| analyze_workout_execution | Planned vs executed per step (duration, target adherence, time in range, HR response, fade, Pw:HR drift with the Intervals.icu decoupling sign, stamina). A step ma

Only the beginning is shown; read the rest in the repo