← Back to directory
I

Intervals.icu MCP Server

Community
Connect Claude and ChatGPT to the Intervals.icu API through MCP.
GitHub source repository ↗
★ 339 Stars Category · Other Very popular Source revision cb1fbcac8109
52FMRS · D
Reliability
8/20
Security and permissions
8/20
Maintenance
11/20
Documentation
13/20
Setup experience
12/20

This third-party MCP server targets Intervals.icu users and covers training activities, wellness data, events, power curves, and custom items. The README documents stdio configuration for Claude Desktop and SSE configuration for ChatGPT, but no server manifest is cached. Because the toolset includes write and delete operations, protect the API key and carefully control data-modification access.

Read the FMRS scoring method →

Intervals.icu MCP Server is a Model Context Protocol server for connecting to the Intervals.icu API. It supports data access and management for activities, events, wellness data, power curves, and custom items.

Tools

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_activity_streams
Get raw data streams, such as power and heart rate, for a specific activity.
get_athlete_power_curves
Get best power curves for selected durations and time periods.
get_wellness_data
Fetch wellness data.
get_events
Retrieve upcoming events, such as workouts and races.
get_event_by_id
Get detailed information for a specific event.
add_or_update_event
Create or update an event, such as a workout, race, or note.
delete_event
Delete a specific event.
delete_events_by_date_range
Delete events within a date range.
get_custom_items
Get an athlete's custom items, such as charts, custom fields, and zones.
get_custom_item_by_id
Get detailed information for a specific custom item.
create_custom_item
Create a new custom item for an athlete.
update_custom_item
Update an existing custom item.
delete_custom_item
Delete a custom item.

Setup

Python 3.12 or higher, uv, the project dependencies, and Intervals.icu API credentials are required. Clone the repository, create a Python 3.12 virtual environment, run uv sync, copy .env.example to .env, and set API_KEY and ATHLETE_ID. For Claude Desktop, run mcp install src/intervals_mcp_server/server.py --name "Intervals.icu" --with-editable . --env-file .env, or add the server manually using the documented configuration example. For ChatGPT, start the server in SSE mode and configure its public /sse URL as a custom MCP connector.

claude_desktop_config.json
{"mcpServers":{"Intervals.icu":{"command":"/Users/<USERNAME>/.local/bin/uv","args":["run","--with","mcp[cli]","--with-editable","/path/to/intervals-mcp-server","mcp","run","/path/to/intervals-mcp-server/src/intervals_mcp_server/server.py"],"env":{"INTERVALS_API_BASE_URL":"https://intervals.icu/api/v1","ATHLETE_ID":"<YOUR_ATHLETE_ID>","API_KEY":"<YOUR_API_KEY>","LOG_LEVEL":"INFO"}}}}

Fit and risk

Best for

  • Athletes who use Intervals.icu for training data.
  • Users who want to query and manage Intervals.icu data through Claude Desktop or ChatGPT.
  • Development or analysis workflows involving activity, wellness, event, and power data.

Not for

  • Users who do not use Intervals.icu.
  • Users unwilling to provide an Intervals.icu API key and athlete ID.
  • Read-only scenarios where event or custom-item write and delete operations are not wanted.

Required permissions

  • Requires an Intervals.icu API key and athlete ID.
  • Configuration includes INTERVALS_API_BASE_URL, ATHLETE_ID, API_KEY, and LOG_LEVEL.
  • Permissions cover reading activities, wellness data, events, and custom items; events and custom items also support creation, updates, and deletion.

Risks and side effects

  • The API key is sensitive and should not be exposed or committed to a repository.
  • The server includes event and custom-item deletion tools, so misuse can cause data loss.
  • ChatGPT SSE setup requires a public server URL or port forwarding; an unprotected public endpoint may broaden access.
  • Write operations can modify workouts, races, notes, and custom items in Intervals.icu.

Troubleshooting

  1. Confirm Python 3.12 or higher is installed and uv sync has completed.
  2. Verify API_KEY and ATHLETE_ID in .env.
  3. If spawn uv ENOENT occurs, use the full path to the uv executable.
  4. On Windows, use double backslashes in JSON and edit the correct Claude Desktop configuration file.
  5. Restart Claude Desktop after configuration changes; if necessary, remove the old Intervals.icu entry and run mcp install again.
  6. For ChatGPT, confirm the server is running in SSE mode and that /sse is mapped to an accessible public URL.

Use cases

Query past activities and activity details.
Analyze activity intervals, power, heart-rate streams, and power curves.
Fetch wellness data.
View, create, update, or delete workout and race events.
Manage athlete custom items.

Supported clients

Claude DesktopFull support
ChatGPTFull support