intervals-mcp-server  by mvilanova

AI fitness data connector

Created 1 year ago
277 stars

Top 93.5% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a Model Context Protocol (MCP) server that bridges the Intervals.icu fitness tracking API with AI models like Claude and ChatGPT. It enables users to query their personal activity, event, and wellness data using natural language, offering a powerful way to analyze and interact with their training information.

How It Works

The server acts as an intermediary, translating AI model requests into queries against the Intervals.icu API. It leverages Python, the uv package manager, and the MCP protocol to expose tools for data retrieval. This approach allows AI assistants to access structured fitness data, facilitating advanced analysis and personalized insights without direct API integration by the user.

Quick Start & Requirements

Requires Python 3.12+. Installation involves setting up the uv package manager, cloning the repository, creating and activating a Python virtual environment, and syncing dependencies with uv sync. Users must configure environment variables (API_KEY, ATHLETE_ID) by copying .env.example to .env and populating it with credentials obtained from Intervals.icu. Integration with Claude Desktop uses the mcp install command or manual JSON configuration; ChatGPT integration requires SSE mode and potential port forwarding via tools like ngrok.

Highlighted Details

The server exposes several tools for data interaction: get_activities, get_activity_details, get_activity_intervals, get_wellness_data, get_events, and get_event_by_id. It supports integration with both Claude Desktop and ChatGPT's MCP connectors. The project is noted as actively developed with regular updates.

Maintenance & Community

The project is described as actively developed, with new features and fixes added regularly. No specific community channels (like Discord/Slack) or detailed roadmap information are provided in the README.

Licensing & Compatibility

The project is licensed under the GNU General Public License v3.0 (GPL-3.0). This is a strong copyleft license, meaning derivative works must also be licensed under GPL-3.0, which may impose restrictions on integration into proprietary or closed-source commercial products.

Limitations & Caveats

Setup can involve platform-specific nuances, particularly for Windows users and those using the Microsoft Store version of Claude Desktop, which may require manual configuration of claude_desktop_config.json. Troubleshooting guides address common issues like incorrect executable paths for uv. The reliance on external APIs and the GPL-3.0 license are key considerations for adoption.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

Pull Requests (30d)
4
Issues (30d)
2
Star History
40 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.