Connects agents to the Intervals.icu API to retrieve activities, workouts, wellness metrics and training events.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add intervals-icu --env PATH_TO_REPO='<PATH_TO_REPO>' -- uv run --with 'mcp[cli]' --with-editable '{{config.PATH_TO_REPO}}' mcp run '{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py'~/.codex/config.toml
[mcp_servers.intervals-icu]
command = "uv"
args = ["run", "--with", "mcp[cli]", "--with-editable", "{{config.PATH_TO_REPO}}", "mcp", "run", "{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py"]
env = { PATH_TO_REPO = "<PATH_TO_REPO>" }
# codex mcp add intervals-icu --env PATH_TO_REPO='<PATH_TO_REPO>' -- uv run --with 'mcp[cli]' --with-editable '{{config.PATH_TO_REPO}}' mcp run '{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py'~/.cursor/mcp.json
{
"mcpServers": {
"intervals-icu": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"{{config.PATH_TO_REPO}}",
"mcp",
"run",
"{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py"
],
"env": {
"PATH_TO_REPO": "<PATH_TO_REPO>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"intervals-icu": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"{{config.PATH_TO_REPO}}",
"mcp",
"run",
"{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py"
],
"env": {
"PATH_TO_REPO": "<PATH_TO_REPO>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"intervals-icu": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"{{config.PATH_TO_REPO}}",
"mcp",
"run",
"{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py"
],
"env": {
"PATH_TO_REPO": "<PATH_TO_REPO>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"intervals-icu": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"{{config.PATH_TO_REPO}}",
"mcp",
"run",
"{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py"
],
"env": {
"PATH_TO_REPO": "<PATH_TO_REPO>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"intervals-icu": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"{{config.PATH_TO_REPO}}",
"mcp",
"run",
"{{config.PATH_TO_REPO}}/src/intervals_mcp_server/server.py"
],
"env": {
"PATH_TO_REPO": "<PATH_TO_REPO>"
}
}
}
}Environment variables
PATH_TO_REPO
Replace the placeholders with your own credentials and keep them out of version control.