
Train better with clear data and training signals
DataFrame.fit lets athletes review Garmin activities, recovery, nutrition, races, and the training plan in your AI. With permission it can rename sessions, edit the plan, log food, and push workouts to Garmin Connect.
https://dataframe.fit/api/mcpDataFrame training data for the signed-in athlete. Only call tools this connection is allowed to use. For interval or threshold pace, call - alone is full-session averages. Planned workouts: call before writing notes or blocks. returns workout_id and editable - only editable=true (My plan) rows can be updated or deleted. Prefer update on an existing empty My plan session over creating a duplicate. Hyrox/strength notes must use ## headings, bold, - bullets, and pipe tables - one long paragraph is rejected. create/update support simple (duration + notes) and structured (blocks). Updates are full replace. Also see dataframe://docs/planned-workouts. Coaches: program linked athletes only with the *_athlete_* tools and always name athlete_id or athlete_ids - empty athlete_ids is an error, never all. and act on your own training only. Garmin data: results built from Garmin data carry an attribution field. Always show its label (for example "Garmin Forerunner 965") next to that data when you present it, and name Garmin as a source when you combine it with other data. How to connect DataFrame to an AI assistant:
In Claude, Cursor, ChatGPT, GitHub Copilot, Codex, Gemini, Grok, DeepSeek, or another assistant, add the DataFrame MCP server URL (the /api/mcp endpoint on dataframe.fit).
The assistant opens dataframe.fit in the browser.
Sign in with Google if needed.
Choose what that assistant may view or change. You can connect several assistants separately, with different permissions.
You return to the assistant. Manage or revoke each one under Settings, Connections, Connected AI agents. Never paste an access token into chat.
None in the store listings or on the server