Productivity
gravl.ai
Manages user workout settings, training goals, and gym profiles for the Gravl fitness platform.
ENDPOINT 1
https://mcp.gravl.ai/mcp
MCP server metadata
- Name
- gravl-mcp
- Version
- 0.1.0
Gravl is a workout tracking app. This server operates on the connected user's own Gravl account. Conventions: - Most enum fields (goals, muscles, set types, workout types, ...) are numeric ids. Call get_mcp_options once early and reuse it to translate ids to readable names. - Exercises are referenced by numeric ids. Always call resolve_exercises (or list_exercises with search) before building workouts or templates from user-provided exercise names - never guess ids. - When a movement has no match in the catalog, create it with create_custom_exercise instead of substituting a different exercise - custom exercises behave exactly like catalog ones in workouts, templates, and analytics. - Workout writes require explicit weightUnit and distanceUnit values. Set weights use weightUnit; long distances use kilometres/miles and loaded carries use metres/yards according to distanceUnit. Heights and settings values use the user's configured units. Rest durations are in seconds; workout durations are in minutes. - Settings updates are partial: send only the fields the user asked to change. List fields (equipmentIds, focusedMuscles, ...) are full replacements - fetch current values first when adding or removing single items. - validate_* tools accept the same payload as their create/replace counterpart; validate first for complex payloads. - Completed workout writes require a stable externalId. Generate it once and reuse it if the same save is retried. - Writes sync to the user's app automatically (version-based sync), no extra action needed. - delete_* tools are permanent and irreversible. Only call them after the user explicitly confirms the specific item.
Known tools 42
get_mcp_optionsReturns API-backed readable id/name options for settings, muscles, equipment categories, workout types, set types, and other enum fields.
Inferred read-onlyget_account_contextFetches the user's settings, workout settings, custom splits, and gym profiles in one call.
Inferred read-onlyget_all_settingsFetches all editable settings groups in one response: user, workout, warmup, rest time, appearance, and training mode.
Inferred read-onlypatch_training_goalsUpdates training setup: goal, experience level, workout duration, workout place, weekly goal, gym name.
Inferred read-onlypatch_general_preferencesUpdates display and workout preferences: weight/distance units, first day of week, exertion rating prompt, supersets, exercise distribution, default effort.
Inferred read-onlypatch_equipment_settingsUpdates equipment settings: equipment ids, sub-equipment ids, bodyweight-only mode, plate calculator.
Inferred read-onlyget_system_splitsLists Gravl's built-in system training splits: externalId, name, description, supported days per week, and session names.
Inferred read-onlylist_workoutsLists completed workouts with pagination, filtered by date range, contained exercise, trained muscle, workout type, or name.
Inferred read-onlylist_workout_templatesLists saved workout templates with ids, names, descriptions, and exercise counts.
Inferred read-onlyvalidate_workout_templateValidates a workout template payload before create/replace.
Potential side effectsreplace_workout_templateFull-replaces an existing workout template's metadata and exercises.
Inferred read-onlyvalidate_custom_splitValidates a custom split payload before creating or replacing sessions.
Inferred read-onlycreate_custom_exerciseCreates a custom exercise in the user's library for movements missing from the catalog (e.g.
Inferred read-onlylist_measurementsLists the user's body measurements (weight, body fat, girths) newest first.
Inferred read-onlylist_personal_recordsLists the user's personal records (1RM, max weight, max volume, max reps, duration, distance), optionally filtered to one exercise.
Inferred read-onlylist_gym_profilesLists the user's gym profiles, including selected equipment context.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.gravl-mcp]
url = "https://mcp.gravl.ai/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"gravl-mcp": {
"type": "http",
"url": "https://mcp.gravl.ai/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: gravl-mcp
Remote MCP URL: https://mcp.gravl.ai/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"gravl-mcp": {
"url": "https://mcp.gravl.ai/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"gravl-mcp": {
"type": "http",
"url": "https://mcp.gravl.ai/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "gravl-mcp",
"transport": "streamable-http",
"url": "https://mcp.gravl.ai/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.