Skip to main content
Glama
fm4tt0s
by fm4tt0s

Intervals.icu MCP

Minimal local stdio MCP server for Intervals.icu, generated from the official OpenAPI spec. Exposes every API operation as an MCP tool. Works with Claude Desktop, mcphost (Ollama / OpenRouter), Cline, and any other MCP client that speaks stdio; this repo is fully self-contained.

Files

|____spec/intervals-openapi-spec.json   # the Intervals.ICU API spec
|____README.md                          # that's me!
|____config.js.example                  # example config.js file
|____package.json                       # npm package dependency file
|____mcp-stdio.mjs                      # the MCP server

Related MCP server: intervals-icu-mcp

Requirements

Install

Clone the repo and store it anywhere on your machine. Edit config.js.example and set the correct value of INTERVALS_TOKEN (your Intervals.icu API key), save it as config.js.

npm install

Test it

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node mcp-stdio.mjs | python3 -mjson.tool | grep "name\"" | head

You should see on stderr:

[intervals-mcp] ready · 147 tools loaded
                "name": "updateLastSeenMessageId",
                "name": "updateMessage",
                "name": "deleteMessage",
                "name": "showWorkout",
                "name": "updateWorkout",
                "name": "deleteWorkout",
                "name": "getRecord",
                "name": "updateWellness",
                "name": "updateWellnessBulk",
                "name": "uploadWellness",

Press Ctrl-C to exit. The server is now ready to be driven by an MCP client.

Claude Desktop

Edit Claude Desktop config file (create it if missing):

  • MacOS - ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux - ~/.config/Claude/claude_desktop_config.json

  • Windows - %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "intervals-icu": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/local/mcp-stdio.mjs"],
      "env": { "INTERVALS_TOKEN": "your_api_key_here" }
    }
  }
}

Restart Claude Desktop. The Intervals.icu tools are now available.

Ollama / OpenRouter (via mcphost)

mcphost is a small CLI that bridges any MCP server to Ollama or OpenRouter models.

To use it with Ollama, prefer qwen2.5 models.

# install
go install github.com/mark3labs/mcphost@latest

# config: ~/.config/mcphost.intervals.json
{
  "mcpServers": {
    "intervals-icu": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/local/mcp-stdio.mjs"],
      "env": { "INTERVALS_TOKEN": "your_api_key_here" }
    }
  }
}

# run with Ollama
mcphost -m ollama:qwen2.5 --config ~/.config/mcphost.intervals.json

# or OpenRouter
mcphost -m openrouter:anthropic/claude-3.5-sonnet

If you rather a Desktop app instead of CLI, you can use Tome, which offers pretty straightforward configuration for adding MCP servers.

Authentication

Intervals.icu uses HTTP Basic auth. The server sends:

Authorization: Basic base64("API_KEY:${INTERVALS_TOKEN}")

This matches the official curl -u "API_KEY:TOKEN" style. If your token already contains a colon (e.g. myuser:mytoken), it is used verbatim.

Troubleshooting

  • INTERVALS_TOKEN env var is not set — export it or set it on config.js as shown above.

  • HTTP 401 — token is wrong or expired. Regenerate at https://intervals.icu/settings.

  • Tool not found in Claude — restart Claude Desktop fully after editing the config file.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fm4tt0s/intervals.icu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server