Intervals.icu MCP-Server
Model Context Protocol (MCP)-Server zur Verbindung von Claude mit der Intervals.icu-API. Er bietet Tools zur Authentifizierung und Datenabfrage für Aktivitäten, Ereignisse und Wellnessdaten.
Anforderungen
Python 3.10 oder höher
httpx
python-dotenv
Related MCP server: Education Data MCP Server
Aufstellen
1. UV installieren (empfohlen)
curl -LsSf https://astral.sh/uv/install.sh | sh2. Klonen Sie dieses Repository
git clone https://github.com/mvilanova/intervals-mcp-server.git
cd intervals-mcp-server3. Erstellen und aktivieren Sie eine virtuelle Umgebung
# Create virtual environment with Python 3.12
uv venv --python 3.12
# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate4. Projektabhängigkeiten synchronisieren
uv sync5. Umgebungsvariablen einrichten
Erstellen Sie eine Kopie von .env.example und nennen Sie sie .env , indem Sie den folgenden Befehl ausführen:
cp .env.example .envBearbeiten Sie dann die .env Datei und legen Sie Ihre Intervals.icu-Athleten-ID und Ihren API-Schlüssel fest:
API_KEY=your_intervals_api_key_here
ATHLETE_ID=your_athlete_id_hereAbrufen Ihres Intervals.icu-API-Schlüssels
Melden Sie sich bei Ihrem Intervals.icu-Konto an
Gehen Sie zu Einstellungen > API
Generieren Sie einen neuen API-Schlüssel
So finden Sie Ihre Athleten-ID
Ihre Athleten-ID ist normalerweise in der URL sichtbar, wenn Sie bei Intervals.icu angemeldet sind. Sie sieht folgendermaßen aus:
https://intervals.icu/athlete/i12345/...wobeii12345Ihre Athleten-ID ist
Verwendung
1. Konfigurieren Sie Claude Desktop
Um diesen Server mit Claude Desktop zu verwenden, müssen Sie ihn zu Ihrer Claude Desktop-Konfiguration hinzufügen.
Führen Sie Folgendes aus dem Verzeichnis
intervals_mcp_serveraus, um Claude Desktop zu konfigurieren:
mcp install src/intervals_mcp_server/server.py --name "Intervals.icu" --with-editable . --env-file .envWenn Sie Ihre Claude Desktop App-Konfigurationsdatei
claude_desktop_config.jsonöffnen, sollte sie folgendermaßen aussehen:
{
"mcpServers": {
"Intervals.icu": {
"command": "/Users/<USERNAME>/.cargo/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"
}
}
}
}Dabei ist /path/to/ der Pfad zum Codeordner intervals-mcp-server in Ihrem System.
Wenn beim Öffnen von Claude Desktop die folgenden Fehlermeldungen angezeigt werden, geben Sie den vollständigen Pfad zu uv in den Befehlsschlüssel in der Konfigurationsdatei claude_desktop_config.json ein. Sie erhalten den vollständigen Pfad, indem Sie which uv im Terminal ausführen.
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 closedStarten Sie Claude Desktop neu.
2. Verwenden Sie den MCP-Server mit Claude
Sobald der Server läuft und Claude Desktop konfiguriert ist, können Sie mit den folgenden Tools Fragen zu Ihren vergangenen und zukünftigen Aktivitäten, Ereignissen und Wellnessdaten stellen.
get_activities: Ruft eine Liste der Aktivitäten abget_activity_details: Erhalten Sie detaillierte Informationen zu einer bestimmten Aktivitätget_activity_intervals: Erhalten Sie detaillierte Intervalldaten für eine bestimmte Aktivitätget_wellness_data: Wellness-Daten abrufenget_events: Ruft bevorstehende Ereignisse ab (Trainingseinheiten, Rennen usw.)get_event_by_id: Erhalten Sie detaillierte Informationen zu einem bestimmten Ereignis
Entwicklung und Tests
Installieren Sie Entwicklungsabhängigkeiten und führen Sie die Testsuite mit:
uv sync --all-extras
pytest -v testsLokales Ausführen des Servers
Um den Server manuell zu starten (nützlich bei der Entwicklung oder beim Testen), führen Sie Folgendes aus:
mcp run src/intervals_mcp_server/server.pyLizenz
Die GNU General Public License v3.0