GetFit
Build a workout that fits your time, gear and body — free, no sign-in.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"getfit": {
"url": "https://thegetfit.app/mcp-server"
}
}
}Remote endpoints
https://thegetfit.app/mcp-serverstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢build_workout(focus, minutes, equipment, avoid, level, ...)
What workout can I do with this time, this gear, and this body? GetFit's coach builds a complete session that fits the minutes, uses only the equipment they have, and steers around anything they want to avoid. Give the person the whole workout in the chat — warm-up, every exercise with sets, reps, rest and effort — and read out the safety_notes. The workout is also posted to GetFit's public Explore page (no personal details), and `link` opens it in GetFit, where the Player runs it with timers and rest countdowns. Inputs (all optional): focus, minutes, equipment, avoid, level, goal, intensity. Example: {"focus":"legs","minutes":30,"equipment":"from home","avoid":["knees"]}.
Input Schema
{
"type": "object",
"properties": {
"focus": {
"type": "string",
"description": "What to train, in plain words: \"legs\", \"upper body\", \"full body\", \"core\"."
},
"minutes": {
"type": "number",
"description": "Time available, warm-up included (5-120). Treated as a hard ceiling. Default 30."
},
"equipment": {
"description": "What they have: a preset (none | dumbbells | hotel_gym | full_gym), free text (\"a couple of dumbbells\", \"from home\"), or a list. Nothing named → bodyweight.",
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"avoid": {
"type": "array",
"items": {
"type": "string"
},
"description": "Body parts or movements to avoid: \"knees\", \"lower back\", \"jumping\"."
},
"level": {
"type": "string",
"enum": [
"beginner",
"intermediate",
"advanced"
]
},
"goal": {
"type": "string",
"description": "e.g. \"strength\", \"fat loss\", \"endurance\""
},
"intensity": {
"type": "string",
"enum": [
"easy",
"moderate",
"hard",
"all-out"
]
}
}
}🟢search_workouts(query, focus, max_minutes, equipment, discipline, ...)
What workouts are on GetFit for legs / 20 minutes / dumbbells? Searches published workouts on Explore by body area, name, exercise and gear. If nothing fits, say so and offer build_workout to make one. Inputs: query, focus, max_minutes, equipment, discipline, source (people | agent | any), limit (default 5, max 20). Example: {"query":"legs","max_minutes":30,"equipment":"dumbbells"}.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Plain words: \"legs\", \"pull day\", \"core\""
},
"focus": {
"type": "string",
"description": "Body area, e.g. \"legs\", \"upper body\""
},
"max_minutes": {
"type": "number"
},
"equipment": {
"description": "What they have (preset, free text or list); results stay within it.",
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"discipline": {
"type": "string",
"enum": [
"Strength & lifting",
"HIIT / Bootcamp",
"Running & endurance",
"Yoga & mobility",
"CrossFit / Functional",
"Hybrid"
]
},
"source": {
"type": "string",
"enum": [
"people",
"agent",
"any"
],
"description": "people = posted by GetFit members and trainers; agent = built on request"
},
"limit": {
"type": "number"
}
}
}🟢get_workout(slug)
Show me that workout in full. Returns author, discipline, duration, warm-up, coach note and every exercise (sets, reps, rest, cues). Input: slug from search_workouts. Example: {"slug":"the-45-minute-pull-day"}.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
]
}🟢list_contributors
Who posts workouts on GetFit? Lists people with published workouts: handle, name, bio, location, workout count. No inputs.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_contributor(handle)
Who is this GetFit contributor and what have they posted? Input: handle from list_contributors. Example: {"handle":"jenna"}.
Input Schema
{
"type": "object",
"properties": {
"handle": {
"type": "string"
}
},
"required": [
"handle"
]
}Community
Evidence