Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

intervals-mcp-server

MCP.Pizza Chef: mvilanova

The intervals-mcp-server is a Model Context Protocol (MCP) server that integrates Claude with the Intervals.icu API. It enables secure authentication and retrieval of detailed activity, event, and wellness data, facilitating real-time context feeding into language models. Built with Python 3.10+, it leverages the MCP Python SDK and supports efficient data exchange for health and fitness tracking workflows.

Use This MCP server To

Authenticate users with Intervals.icu via MCP protocol Retrieve detailed activity data for fitness analysis Fetch event logs from Intervals.icu for timeline generation Access wellness metrics to monitor health trends Integrate Intervals.icu data into AI-driven coaching apps Enable real-time context updates from fitness APIs Support multi-step reasoning with live activity data Combine wellness data with other health sources in LLM workflows

README

Intervals.icu MCP Server

Model Context Protocol (MCP) server for connecting Claude with the Intervals.icu API. It provides tools for authentication and data retrieval for activities, events, and wellness data.

Requirements

Setup

1. Install uv (recommended)

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Clone this repository

git clone https://github.com/mvilanova/intervals-mcp-server.git
cd intervals-mcp-server

3. Create and activate a virtual environment

# Create virtual environment
uv venv

# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate

4. Install dependencies

uv pip install -e .

5. Set up environment variables

Make a copy of .env.example and name it .env by running the following command:

cp .env.example .env

Then edit the .env file and set your Intervals.icu athlete id and API key:

API_KEY=your_intervals_api_key_here
ATHLETE_ID=your_athlete_id_here
Getting your Intervals.icu API Key
  1. Log in to your Intervals.icu account
  2. Go to Settings > API
  3. Generate a new API key
Finding your Athlete ID

Your athlete ID is typically visible in the URL when you're logged into Intervals.icu. It looks like:

  • https://intervals.icu/athlete/i12345/... where i12345 is your athlete ID

Usage

1. Configure Claude Desktop

To use this server with Claude Desktop, you need to add it to your Claude Desktop configuration.

  1. Run the following from the intervals_mcp_server directory to configure Claude Desktop:
mcp install src/intervals_mcp_server/server.py --name "Intervals.icu MCP Server"
  1. If you open your Claude Desktop App configuration file claude_desktop_config.json, it should look like this:
{
  "mcpServers": {
    "Intervals.icu": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/path/to/intervals-mcp-server/src/intervals_mcp_server/server.py"
      ]
    }
  }
}

Where /path/to/ is the path to the intervals-mcp-server code folder in your system.

If you observe the following error messages when you open Claude Desktop, include the full path to uv in the command key in the claude_desktop_config.json configuration file. You can get the full path by running which uv in the terminal.

2025-04-28T10:21:11.462Z [info] [Intervals.icu MCP Server] Initializing server...
2025-04-28T10:21:11.477Z [error] [Intervals.icu MCP Server] spawn uv ENOENT
2025-04-28T10:21:11.477Z [error] [Intervals.icu MCP Server] spawn uv ENOENT
2025-04-28T10:21:11.481Z [info] [Intervals.icu MCP Server] Server transport closed
2025-04-28T10:21:11.481Z [info] [Intervals.icu MCP Server] Client transport closed
  1. Restart Claude Desktop.

2. Use the MCP server with Claude

Once the server is running and Claude Desktop is configured, you can use the following tools to ask questions about your past and future activities, events, and wellness data.

  • get_activities: Retrieve a list of activities
  • get_activity_details: Get detailed information for a specific activity
  • get_activity_intervals: Get detailed interval data for a specific activity
  • get_wellness_data: Fetch wellness data
  • get_events: Retrieve upcoming events (workouts, races, etc.)
  • get_event_by_id: Get detailed information for a specific event

License

The GNU General Public License v3.0

Featured

Glama.ai

Intervals.icu Server MCP server

intervals-mcp-server FAQ

How do I install the intervals-mcp-server?
Clone the GitHub repo, create a Python 3.10+ virtual environment, install dependencies with pip, and configure environment variables as per the README.
What dependencies are required for this MCP server?
It requires Python 3.10 or higher, the MCP Python SDK, httpx for HTTP requests, and python-dotenv for environment variable management.
How does the server authenticate with Intervals.icu?
The server provides tools for secure authentication using Intervals.icu API credentials configured via environment variables.
Can this MCP server be used with LLMs other than Claude?
Yes, while designed for Claude, it supports any MCP-compatible LLM such as OpenAI's GPT-4 and Anthropic's Claude.
What kind of data can I retrieve using this server?
You can retrieve activities, events, and wellness data from Intervals.icu to feed into your LLM workflows.
Is real-time data retrieval supported?
Yes, the server supports real-time context feeding by fetching up-to-date data from the Intervals.icu API.
How do I set up environment variables for this server?
Copy the .env.example file to .env and fill in your Intervals.icu API credentials and other required settings.
What Python version is recommended?
Python 3.10 or higher is required to run the intervals-mcp-server.