Slek MCP Server
Premium feature
1. What is MCP?
MCP (Model Context Protocol) is an open standard that lets AI engines connect
to external services. The Slek MCP server lets you use Claude, Mistral,
or any MCP-compatible AI client to interact with your training data — browse
workouts, create sessions, analyze load, and manage athletes, all from your
favorite AI tool.
Slek recommends Claude and Mistral for the best MCP experience. If integration with another provider is important to you, don't hesitate to contact support.
2. Who is it for?
Slek is a training platform for coaches and athletes. A coach can manage the training plans
of multiple athletes from a single account. The MCP server acts on behalf of the coach:
it gives the AI assistant access to all the coach's athletes and their data.
Only one athlete is active at a time — all tools operate on the active athlete by default.
The assistant can switch between athletes using
athlete_list (to see all coached athletes)
and athlete_switchTo (to select one). It can also switch back to the coach's own profile
with athlete_switchToSelf. This makes it possible to plan, review, and compare training
across an entire roster from a single conversation.For example: "Show me John's workouts for this week, then switch to Sarah and create a
recovery session for her on Friday."
3. Server details
| Server URL | https://app.slek.app/mcp |
| Transport | Streamable HTTP |
| Authentication | OAuth 2.1 or API key (Bearer token) |
| Requires | Premium subscription |
4. How to connect
Option 1: Automatic (recommended)
- In Claude, go to Customize > Connectors > Add custom connector,
- In Mistral Le Chat, go to Intelligence > Connectors > Add a connector > Custom MCP connector
The MCP server URL is: https://app.slek.app/mcp
The implementation follows the MCP specification: OAuth 2.1 with PKCE (S256),
Dynamic Client Registration, and short-lived access tokens (1 hour) with refresh token rotation.
Option 2: API Key (manual setup)
This option is dedicated to advanced users only!
- Go to Settings > Assistant in Slek
- In the MCP Server section, create a new API key
- Copy the Server URL and your API key
- Configure your AI client:
Claude Desktop — edit
claude_desktop_config.json:{
"mcpServers": {
"slek": {
"url": "https://app.slek.app/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Code (CLI):
claude mcp add slek --transport http https://app.slek.app/mcp
5. Available tools
The MCP server exposes 39 tools organized by domain.
Each tool is annotated with its behavior: read-only, create, update, or destructive (delete).
Workout library
| Tool | Description |
|---|---|
library_search | Search the coach's workout library by sport, effort, duration, distance, and tags |
library_read | Get a single library workout by ID |
library_create | Create a new workout in the library |
library_update | Update fields of an existing library workout |
library_delete | Delete a library workout (irreversible) |
library_listTags | List all tags used in the library |
Planned workouts
| Tool | Description |
|---|---|
workout_list | List planned workouts for a date range |
workout_read | Get details of a specific planned workout |
workout_create | Create a planned workout on the calendar |
workout_createFromLib | Schedule a workout from the library |
workout_update | Update an existing planned workout |
workout_delete | Delete a planned workout (irreversible) |
workout_estimateLoad | Estimate the load of a hypothetical workout |
Events
| Tool | Description |
|---|---|
event_list | List calendar events (notes, races, pains) |
event_read | Get a specific event by ID |
event_create | Create a new calendar event |
event_update | Update an existing event |
event_delete | Delete an event (irreversible) |
Seasons
| Tool | Description |
|---|---|
season_list | List all training seasons |
season_read | Get season details including planning |
season_create | Create a new training season |
season_update | Update season metadata (name, dates) |
season_updatePlanning | Update season planning (periods, cycles, loads) |
season_delete | Delete a season (irreversible) |
season_readLoadProgress | Weekly planned vs executed load for the season |
Activities
| Tool | Description |
|---|---|
activity_list | List recent activities (read-only) |
activity_read | Get detailed activity data: stats, zones, peaks |
activity_recentVolume | Aggregated training volume per sport over recent days |
Athletes
| Tool | Description |
|---|---|
athlete_list | List all coached athletes |
athlete_switchTo | Switch to a different athlete |
athlete_switchToSelf | Switch back to your own profile |
activeAthlete_profile | Get the active athlete's profile |
activeAthlete_zones | Get training zones (HR, power, speed) |
activeAthlete_availability | Get upcoming availability/timetable |
Date utilities
| Tool | Description |
|---|---|
date_add | Add days/hours to a date |
date_weekday | Get the weekday name for a date |
date_weekStart | Get the Monday of a given week |
date_weekEnd | Get the Sunday of a given week |
date_validate | Check if a date string is valid |
6. Examples
1. Browse training data
Prompt: "Show me my workouts for this week and compare the planned load to what I actually did"
Expected behavior: The assistant calls
workout_list with the current week's date range,
then season_readLoadProgress to get the planned vs executed load. It presents a summary showing each
workout, its target load, whether it was completed, and the overall load balance for the week.2. Create a workout
Prompt: "Create a 1-hour threshold run for Monday with RPE 70 and add it to the calendar"
Expected behavior: The assistant calls
date_weekStart and date_add to compute next Monday's
date, then workout_create with sport=RUNNING__GENERIC, duration=3600s, effort=70,
and a descriptive title. It confirms the created workout with its date, sport, and load estimate.3. Season analysis
Prompt: "Look at my current season plan and tell me if I'm on track with the planned load progression"
Expected behavior: The assistant calls
season_list to find the current season, then
season_read to get the detailed planning (periods, cycles, target loads per week), and
season_readLoadProgress to get the actual executed load. It compares planned vs actual week by week and
highlights any significant deviations.7. API key management
- You can create multiple API keys (e.g. one per device or client)
- Keys can be revoked at any time from Settings > Assistant
- Revoking a key immediately blocks all access
- Keys are shown only once at creation — copy them to a safe place
8. Privacy and security
- The MCP server provides the same data access as the built-in Slek assistant
- Your AI client provides the AI model — Slek only provides the data and tools
- API keys and OAuth tokens can be revoked at any time
- OAuth access tokens expire after 1 hour and are automatically refreshed
- OAuth refresh tokens expire after 30 days
- Session data (active athlete context) is stored for 24 hours then deleted
- All communication uses HTTPS
- Slek does not store conversations or prompts sent via MCP — those remain with your AI client
9. Limitations
- The MCP server requires a Premium subscription
- The AI model is provided by your client (Claude, Mistral, etc.) — Slek does not control model quality or cost
- Action validation (confirm before create/update/delete) depends on your AI client's capabilities
- Activities are read-only — they cannot be created or modified via MCP (they come from connected devices)