Intervals.icu MCP for Claude, ChatGPT and Grok: Self-Hosted vs Hosted

By Toby Pattullo
Australian Deaflympic marathon and ultra runner, and the solo developer behind IcuSync.
The short answer
There are two ways to connect Claude, ChatGPT, Grok or another AI assistant to your Intervals.icu data. You can run an open-source MCP server yourself, or you can use a hosted connector that someone else runs for you.
Both use the same Intervals.icu API underneath. The difference is who does the setup and maintenance, and where you can use it.
- Self-host if you are comfortable with a terminal, want it free, and mainly use Claude Desktop or Claude Code on one computer.
- Use a hosted connector if you want to paste one URL, also use Claude on your phone, and never think about it again.
I built IcuSync, which is a hosted connector, so I will use it as the hosted example here. I will be straight about where self-hosting is the better choice, because for some athletes it is.
What is an MCP server?
MCP (Model Context Protocol) is the standard that lets an AI assistant call tools. An Intervals.icu MCP server gives the assistant tools like "get my recent activities" or "add this workout to my calendar". Instead of you exporting files and pasting numbers, the assistant fetches your live data when it needs it.
Option 1: Self-host an open-source server
Several developers in the Intervals.icu community have published free MCP servers. Two actively maintained examples:
- hhopke/intervals-icu-mcp: Python, MIT licence, based on eddmann's original project. Exposes 58 tools, including gear, custom items and the workout library.
- Futureweb Intervals MCP: Python, a community continuation of Marc Vilanova's original intervals-mcp-server, first released as a beta in October 2026. Read-only unless you turn on writes, with optional sign-in for ChatGPT and Claude.ai when you run it on your own HTTPS server.
What setup involves
- Install a Python tool such as uv (both projects recommend it).
- Copy your API key and athlete ID from your Intervals.icu settings.
- Put the key and athlete ID in a local config file or environment variables.
- Add the server to Claude Desktop, either by editing its config file or with an install bundle if the project provides one, then restart Claude.
If you use a terminal every day, this is quick. If you don't, the most common errors are path problems in the config file, so check the project's README for platform-specific fixes.
Where it works
By default these servers run on your own computer and talk to Claude Desktop, Claude Code or Cursor on that machine. Claude on your phone or in a browser cannot reach a server running on your laptop.
To use one with ChatGPT, Grok or Claude mobile, you need to run it in HTTP mode and expose it to the internet, usually through a tunnel such as Cloudflare Tunnel or ngrok. The hhopke project is clear that MCP has no built-in authentication, so anyone who finds that URL can use your Intervals.icu account. Unless the server has its own sign-in built in, you would need to add access protection yourself.
What you are responsible for
- Pulling updates as the project changes (the hhopke project shipped more than 20 releases between April and October 2026).
- Keeping your API key safe, since it sits in a file on your machine.
- Fixing it yourself when Claude Desktop, Python or the server changes.
What happens if the developer stops
Most free MCP servers are built by one person in their spare time. They owe users nothing, and they can stop at any point because of work, family or simply losing interest. That is the deal with free open-source software, and it is worth knowing before you build your training routine on it.
When a maintainer stops, the server keeps running at first. Then something changes in Intervals.icu, Claude or Python, and it breaks with nobody to fix it. Open pull requests sit unmerged, and bugs stay open.
The usual rescue is a fork: someone else copies the project to a new GitHub repo and maintains it under a new name. That is great for the community, but for you it means starting again. You install a new package, redo your config, and learn whatever changed in the new version.
This has already happened. Marc Vilanova's intervals-mcp-server, one of the first and best known Intervals.icu MCP servers, is no longer actively developed. In October 2026 a community member released Futureweb Intervals MCP as a continuation, published as a new package. Anyone on the original had to switch to keep getting fixes.
None of this makes self-hosting a bad choice. If you can maintain or switch servers yourself, it doesn't matter much. If you can't, it is the main thing to weigh.
Where self-hosting wins
It's free, the code is open for you to read and modify, and some servers expose more of the raw Intervals.icu API than a hosted product does. If you code and want full control, it's a great option.
If that's not you, IcuSync gives you the same Intervals.icu connection without the setup. Paste one URL, sign in, and use Claude on your phone, web or desktop. It's $20 USD a year (just $1.67/month), with nothing to install or maintain. Get started with IcuSync
Option 2: Use a hosted connector
A hosted connector runs the MCP server for you. You connect it to Intervals.icu once, then add its URL to your AI assistant. There is nothing to install and nothing to keep running.
What setup involves with IcuSync
- Create an IcuSync account.
- Connect your Intervals.icu account with one click (OAuth, so you never copy an API key).
- In Claude, add a custom connector with the URL
https://mcp.icusync.icu/mcpand sign in.
ChatGPT and Grok connect with an MCP URL that includes your IcuSync token. See Using IcuSync with Grok and ChatGPT.
Where it works
Claude on web, iPhone, Android and desktop, on any Claude plan including free. Because the server is already on the internet with sign-in built in, there is no tunnel to set up and no open URL to protect.
What you get
- 24 tools: 15 read and 9 write. They cover training history, fitness and fatigue, wellness, power curves, best efforts, grade adjusted pace and interval stats, plus pushing, editing and deleting workouts and updating thresholds. See Every IcuSync Tool, Explained.
- Coach access: invite your coach to view your data in Claude, with no IcuSync account needed on their end.
- Updates ship on the server, so new tools appear without you installing anything.
- No training data stored. Each request is answered live from Intervals.icu. See No Training Data Stored.
- IcuSync is an approved app in the Intervals.icu app directory (Settings, Apps).
The trade-off: it costs $20 USD a year (just $1.67/month), and you are trusting a third party to run the connection. You also get the tools IcuSync has built, not every endpoint of the Intervals.icu API. That is deliberate. Every tool an assistant loads takes up space in its context, and raw API responses can use a lot of tokens. A focused set of tools keeps token use down, so answers come back faster and your conversation lasts longer before hitting usage limits.
Side by side
| Self-hosted open-source server | Hosted connector (IcuSync) | |
|---|---|---|
| Cost | Free | $20 USD a year (just $1.67/month) |
| Setup | Install Python tooling, edit config files | Sign up, click to connect, paste one URL |
| Intervals.icu login | API key stored in a local file | OAuth, no key to copy |
| Claude Desktop and Claude Code | Yes | Yes |
| Claude on phone and web | Only if you host it publicly and secure it yourself | Yes |
| ChatGPT and Grok | Needs HTTP mode plus a public tunnel | Yes, with your IcuSync token URL |
| Updates | You pull and reinstall | Automatic |
| Tools | Varies by project, some expose more of the raw API | 24 focused tools, built to save tokens |
| Coach access | Not built in | Built in |
| Support | GitHub issues, community | Email support and the Intervals.icu forum thread |
Self-hosted details are from the hhopke, mvilanova and Futureweb project pages, checked 21 Oct 2026.
Which should you pick?
Self-host if:
- You already write code or use a terminal comfortably.
- You mostly use Claude Desktop or Claude Code on one computer.
- You want it free, or you want to read and change the code.
- You want access to API endpoints a hosted product hasn't built tools for.
Use a hosted connector if:
- You want to ask Claude about a session from your phone straight after training.
- You don't want to manage config files, updates or API keys.
- You use ChatGPT or Grok and don't want to run a public server.
- You want your coach to see your data in Claude.
You can also start self-hosted and switch later, or the other way around. Your data stays in Intervals.icu either way, so nothing is lost.
One thing that applies to both
Activities that reach Intervals.icu through Strava aren't available through the Intervals.icu API. That affects every MCP server, self-hosted or hosted, so your AI assistant won't see those sessions.
The fix is to connect your watch directly to Intervals.icu. Garmin, Coros, Wahoo, Polar and Suunto all support direct sync. If you are new to Intervals.icu, start with Getting Started with Intervals.icu: A Beginner's Setup Guide.
FAQ
Is there an MCP server for Intervals.icu? Yes. There are several free open-source servers you can run yourself, and hosted connectors such as IcuSync that you add to Claude with one URL.
Does it only work with Claude, or also ChatGPT and Grok? Any assistant that supports remote MCP servers can connect. A self-hosted server must be reachable from the internet before ChatGPT or Grok can use it. IcuSync works with Claude, ChatGPT and Grok, and Claude is the one we recommend for building structured workouts. See Can You Use IcuSync with ChatGPT?
Can I use Intervals.icu with Claude on my phone? Yes, but the server has to be reachable from the internet. A hosted connector works on Claude mobile straight away. A self-hosted server needs to be exposed publicly and secured first.
Do I need to know how to code? To self-host, it helps to be comfortable with a terminal and config files. A hosted connector needs no coding.
Is my Intervals.icu API key safe? With a self-hosted server, your key sits in a file on your computer, so its safety depends on your setup. IcuSync uses OAuth, so you never copy a key, and you can revoke access in Intervals.icu under Settings, Apps.
Can Claude push workouts to my watch? Yes, with a server that has write tools. The workout goes to your Intervals.icu calendar, and Intervals.icu syncs it to Garmin, Coros, Wahoo, Suunto or Zwift.
Why can't Claude see some of my activities? Activities synced into Intervals.icu from Strava aren't available through the API. Connect your device directly to Intervals.icu instead.