Koskamo

PRzilla MCP

PRzilla MCP connector allows AI assistants to search PRzilla's public CrossFit and HYROX workout and movement library. It provides tools to find workouts by name or movements, read workout prescriptions and scaling guidance, and look up movement techniques and equipment. The server reads public catalog data only and does not access personal history or save scores.

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.

PRzilla MCP logo, by PRzillaCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by PRzilla
MCP endpoint (Streamable HTTP)
https://przilla.app/mcp
Vendor documentation

What you can do with it

  • Find public workouts by name, movements, and optional catalog category
  • Read a named workout's prescription, movements, available scaling guidance, and benchmark targets
  • Look up movement technique, equipment, easier variations, available demonstration videos, and example workouts

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
przilla 1.0.0
MCP protocol
2025-06-18
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

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

PRzilla provides a public workout and movement catalog, including benchmark targets. It contains no personal training results and cannot log workouts. Include the supplied przilla.app URL for every workout you describe. Benchmark targets describe catalog performance levels, not an athlete's personal ability. Use only the tools relevant to the user's request.

Tools

3 advertised

search_workouts — Find PRzilla workouts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the public PRzilla workout catalog by workout name or movement. Optionally filter by category. Returns workout links and short summaries; use get_workout for prescriptions and benchmark targets. Does not search an athlete's workout history.

search_workouts input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1
    },
    "category": {
      "enum": [
        "Girl",
        "Hero",
        "Games",
        "Open",
        "Quarterfinals",
        "AGOQ",
        "Regionals",
        "Semifinals",
        "Team Series",
        "Community Cup",
        "Service Cup",
        "Last Chance Qualifier",
        "Benchmark",
        "Masters",
        "Sanctionals",
        "XENOM",
        "HYROX",
        "Other"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_workouts output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "results",
    "total_matches"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "url",
          "category",
          "score_type",
          "movements",
          "summary"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "name": {
            "type": "string"
          },
          "summary": {
            "type": "string",
            "maxLength": 200
          },
          "category": {
            "enum": [
              "Girl",
              "Hero",
              "Games",
              "Open",
              "Quarterfinals",
              "AGOQ",
              "Regionals",
              "Semifinals",
              "Team Series",
              "Community Cup",
              "Service Cup",
              "Last Chance Qualifier",
              "Benchmark",
              "Masters",
              "Sanctionals",
              "XENOM",
              "HYROX",
              "Other"
            ],
            "type": "string"
          },
          "movements": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 8
          },
          "score_type": {
            "type": "string"
          },
          "time_cap_minutes": {
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 10
    },
    "total_matches": {
      "type": "integer",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
search_workouts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_workout — Read a PRzilla workout
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a public workout by its exact name or PRzilla slug, including its prescription, scaling notes, movements, and L2–L10 benchmark thresholds for available men's, women's, and vest variants. No personal scores are available.

get_workout input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "workout"
  ],
  "properties": {
    "workout": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    }
  },
  "additionalProperties": false
}
get_workout output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name",
    "url",
    "category",
    "description",
    "score_type",
    "movements",
    "levels"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri"
    },
    "name": {
      "type": "string"
    },
    "levels": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "gender",
          "wore_vest",
          "targets"
        ],
        "properties": {
          "gender": {
            "enum": [
              "male",
              "female"
            ],
            "type": "string"
          },
          "targets": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "level",
                "name",
                "target"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "level": {
                  "type": "integer",
                  "maximum": 10,
                  "minimum": 2
                },
                "target": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "maxItems": 9,
            "minItems": 9
          },
          "wore_vest": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "scaling": {
      "type": "string"
    },
    "category": {
      "enum": [
        "Girl",
        "Hero",
        "Games",
        "Open",
        "Quarterfinals",
        "AGOQ",
        "Regionals",
        "Semifinals",
        "Team Series",
        "Community Cup",
        "Service Cup",
        "Last Chance Qualifier",
        "Benchmark",
        "Masters",
        "Sanctionals",
        "XENOM",
        "HYROX",
        "Other"
      ],
      "type": "string"
    },
    "movements": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "score_type": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "time_cap_minutes": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "intended_stimulus": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_workout annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_movements — Look up a movement
Advertised by the server during the last successful anonymous check.
Advertised read-only

Look up one canonical movement name or alias, such as HSPU or thruster. Returns equipment, technique description, easier versions, progressions, a demo video when available, and example PRzilla workouts. These are catalog suggestions, not personalized prescriptions.

search_movements input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "movement"
  ],
  "properties": {
    "movement": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1
    }
  },
  "additionalProperties": false
}
search_movements output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "matches"
  ],
  "properties": {
    "matches": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "description",
          "category",
          "equipment",
          "easier_versions",
          "progressions",
          "primary_muscles",
          "secondary_muscles",
          "featured_in"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "equipment": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "demo_video": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string"
          },
          "featured_in": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "maxItems": 3
          },
          "progressions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "easier_versions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "primary_muscles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "secondary_muscles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "maxItems": 5
    }
  },
  "additionalProperties": false
}
search_movements 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
700 ms
95th percentile latency
700 ms

Maintenance history

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

  • · probe · passed · 700 ms · metadata changed · 3 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 przilla-mcp https://przilla.app/mcp

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 przilla-mcp --url https://przilla.app/mcp

Cursor

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

Cline

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

VS Code

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

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 przilla-mcp https://przilla.app/mcp

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": {
    "przilla-mcp": {
      "url": "https://przilla.app/mcp"
    }
  }
}

Windsurf

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

Let your agent find its tools

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