concept2-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CONCEPT2_ACCESS_TOKEN | Yes | OAuth2 bearer token from Concept2 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| concept2_get_userA | Retrieve a Concept2 Logbook user's profile information. Use "me" as the user ID to get the authenticated user's own profile. Returns user details including: id, username, first_name, last_name, gender, dob, age, weight, location, country, weight_class, max_heart_rate, affiliations, roles. Args:
Examples:
|
| concept2_update_userA | Update the authenticated user's Concept2 Logbook profile. Only the authenticated user's own profile can be updated (user_id must be "me" or the authenticated user's ID). Updatable fields: first_name, last_name, gender, dob, weight, location, country, weight_class, max_heart_rate. Args:
Returns the updated user profile. |
| concept2_list_resultsA | List workout results (rows/ergs) for a Concept2 Logbook user with pagination and filtering. Returns a paginated list of workout results. Each result includes: id, date, type, distance, time, time_formatted, workout_type, weight_class, stroke_rate, avg_pace, heart_rate, calories, comments. Args:
Returns pagination metadata: total, count, per_page, current_page, total_pages. Examples:
|
| concept2_get_resultA | Retrieve a single workout result by ID from the Concept2 Logbook. Returns full details of a workout including: id, date, type, distance, time, workout_type, weight_class, stroke_rate, heart_rate, calories_total, drag_factor, comments, privacy, split_data, and whether stroke data is available. Args:
|
| concept2_create_resultA | Log a new workout result to the Concept2 Logbook. Required fields: type, date, distance, time, weight_class. Optional: timezone, workout_type, stroke_rate, heart_rate, calories_total, drag_factor, comments, privacy. Args:
Returns the created result with its assigned ID. |
| concept2_create_results_bulkA | Log multiple workout results to the Concept2 Logbook in a single request. Each result in the array must include the same required fields as concept2_create_result: type, date, distance, time, weight_class. Args:
Returns the created results with their assigned IDs. |
| concept2_update_resultA | Update an existing workout result in the Concept2 Logbook. Only the result's owner can update it. Provide only the fields you want to change. Updatable fields: date, distance, time, workout_type, stroke_rate, heart_rate, calories_total, drag_factor, comments, privacy, weight_class. Args:
|
| concept2_get_result_strokesA | Retrieve per-stroke data for a specific workout result from the Concept2 Logbook. Stroke data is only available if the workout was recorded with stroke tracking enabled (check the 'stroke_data' field on the result). Returns an array of stroke objects with per-stroke metrics. Each stroke object may include: ts (timestamp), d (distance), p (pace in ms/500m), spm (stroke rate), hr (heart rate). Args:
|
| concept2_export_resultA | Export a workout result in a specific format from the Concept2 Logbook. Available export types vary by workout but typically include: 'tcx', 'fit', 'csv'. Args:
Returns the raw export file content as text. |
| concept2_list_challengesA | List all available Concept2 challenges (all time). Returns a list of challenges including: id, name, type, status, start_date, end_date, distance, time, description. Args:
|
| concept2_get_current_challengesA | Retrieve currently active Concept2 challenges. Returns challenges that are currently running, including their details: id, name, type, start_date, end_date, distance, time, description. Args:
|
| concept2_get_upcoming_challengesA | Retrieve upcoming Concept2 challenges starting within a given number of days. Args:
|
| concept2_get_season_challengesA | Retrieve Concept2 challenges for a specific season/year. Args:
|
| concept2_get_event_challengesB | Retrieve Concept2 event challenges for a specific year. Event challenges are typically tied to specific Concept2 events and competitions. Args:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools have clear distinct purposes: user profile, result operations, and challenge queries. The challenge-related tools (list, current, upcoming, season, event) have some overlap but are differentiated by time/type filters in their descriptions.
All tools follow the concept2_verb_noun pattern. There is a minor inconsistency between 'list' and 'get' for challenge collections (e.g., list_challenges vs get_current_challenges), but the pattern is otherwise predictable.
14 tools is well-scoped for a Concept2 Logbook server covering user profiles, workout results, and challenges. Each tool earns its place with no redundancy.
The surface covers user profile get/update, results CRUD (except delete), bulk create, strokes, and export, plus multiple challenge views. Missing a delete result operation is a minor gap, but the core workflows are covered.