Koskamo

GetFit MCP

An MCP server that generates personalized workout sessions based on available time, equipment, and physical constraints. It provides tools to build workouts, search existing routines, retrieve full workout details, and manage personal fitness profiles and plans for authenticated users.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

GetFit MCP logo, by GetFitVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by GetFit
MCP endpoint (Streamable HTTP)
https://thegetfit.app/mcp-server
Vendor documentation

What you can do with it

  • Generate a custom workout based on time and equipment
  • Search for specific workouts by discipline or gear
  • Retrieve full details of a specific workout session
  • Manage personal fitness history and schedules

Source and maintenance

Vendor evidenceRegistry 1.1.0

Protocol and capabilities

Server
getfit 1.1.0
MCP protocol
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

GetFit builds workouts that fit the time, gear and body someone has. Use build_workout for "I have N minutes and this equipment"; give the person the whole workout in the chat, including every safety note, and offer the link to run it in GetFit's Player. For personal tools (their profile, plans, schedule), they can make a personal connector at https://thegetfit.app/connect.html.

Tools

5 advertised

build_workout — Build a workout
Advertised by the server during the last successful anonymous check.
Open-world

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"]}.

build_workout input schema
{
  "type": "object",
  "properties": {
    "goal": {
      "type": "string",
      "description": "e.g. \"strength\", \"fat loss\", \"endurance\""
    },
    "avoid": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Body parts or movements to avoid: \"knees\", \"lower back\", \"jumping\"."
    },
    "focus": {
      "type": "string",
      "description": "What to train, in plain words: \"legs\", \"upper body\", \"full body\", \"core\"."
    },
    "level": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "minutes": {
      "type": "number",
      "description": "Time available, warm-up included (5-120). Treated as a hard ceiling. Default 30."
    },
    "equipment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "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."
    },
    "intensity": {
      "enum": [
        "easy",
        "moderate",
        "hard",
        "all-out"
      ],
      "type": "string"
    }
  }
}
build_workout annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
search_workouts — Search GetFit workouts
Advertised by the server during the last successful anonymous check.
Advertised read-only

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"}.

search_workouts input schema
{
  "type": "object",
  "properties": {
    "focus": {
      "type": "string",
      "description": "Body area, e.g. \"legs\", \"upper body\""
    },
    "limit": {
      "type": "number"
    },
    "query": {
      "type": "string",
      "description": "Plain words: \"legs\", \"pull day\", \"core\""
    },
    "source": {
      "enum": [
        "people",
        "agent",
        "any"
      ],
      "type": "string",
      "description": "people = posted by GetFit members and trainers; agent = built on request"
    },
    "equipment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "What they have (preset, free text or list); results stay within it."
    },
    "discipline": {
      "enum": [
        "Strength & lifting",
        "HIIT / Bootcamp",
        "Running & endurance",
        "Yoga & mobility",
        "CrossFit / Functional",
        "Hybrid"
      ],
      "type": "string"
    },
    "max_minutes": {
      "type": "number"
    }
  }
}
search_workouts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_workout — Get a GetFit workout
Advertised by the server during the last successful anonymous check.
Advertised read-only

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"}.

get_workout input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string"
    }
  }
}
get_workout annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_contributors — List GetFit contributors
Advertised by the server during the last successful anonymous check.
Advertised read-only

Who posts workouts on GetFit? Lists people with published workouts: handle, name, bio, location, workout count. No inputs.

list_contributors input schema
{
  "type": "object",
  "properties": {}
}
list_contributors annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_contributor — Get a GetFit contributor
Advertised by the server during the last successful anonymous check.
Advertised read-only

Who is this GetFit contributor and what have they posted? Input: handle from list_contributors. Example: {"handle":"jenna"}.

get_contributor input schema
{
  "type": "object",
  "required": [
    "handle"
  ],
  "properties": {
    "handle": {
      "type": "string"
    }
  }
}
get_contributor annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
693 ms
95th percentile latency
693 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 693 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http getfit-mcp https://thegetfit.app/mcp-server

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add getfit-mcp --url https://thegetfit.app/mcp-server

Cursor

Merge this server into .cursor/mcp.json in your project, then enable getfit-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "getfit-mcp": {
      "url": "https://thegetfit.app/mcp-server"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "getfit-mcp": {
      "type": "streamableHttp",
      "url": "https://thegetfit.app/mcp-server",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start getfit-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "getfit-mcp": {
      "type": "http",
      "url": "https://thegetfit.app/mcp-server"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http getfit-mcp https://thegetfit.app/mcp-server

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "getfit-mcp": {
      "url": "https://thegetfit.app/mcp-server"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "getfit-mcp": {
      "serverUrl": "https://thegetfit.app/mcp-server"
    }
  }
}

Let your agent find its tools

Find servers like GetFit MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run GetFit MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing