Skip to main content
Glama

Server Details

Search PRzilla's public CrossFit and HYROX workout catalog, read prescriptions and benchmark targets, and look up movement technique, scaling, and demo videos. Three read-only tools; no authentication or access to personal training history. Documentation: https://github.com/kangax/przilla-mcp

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: get_workout fetches a single workout's full prescription, search_workouts finds workouts by name/movement/category, and search_movements resolves a movement alias. The descriptions explicitly cross-reference each other ("use get_workout for prescriptions") and state scope limits, eliminating confusion between the search/retrieve pair.

Naming Consistency5/5

All three names follow the same snake_case verb_noun convention (get_workout, search_movements, search_workouts) with verbs that accurately reflect behavior.

Tool Count4/5

Three tools is on the thin side, but each earns its place in a read-only catalog server: two search entry points and one detail fetch. Slightly under-scoped rather than bloated.

Completeness4/5

Search plus detail retrieval covers the core catalog workflow, and the descriptions clearly mark personal scores/history as out of scope. Minor gaps remain: no way to enumerate movements or categories directly, and search_movements resolves only one alias at a time, but agents can work around these via search_workouts filters.

Available Tools

3 tools
get_workoutRead a PRzilla workoutA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
workoutYes

Output Schema

NameRequiredDescription
urlYes
nameYes
levelsYes
scalingNo
categoryYes
movementsYes
score_typeYes
descriptionYes
time_cap_minutesNo
intended_stimulusNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a read-only, idempotent, non-destructive lookup. The description adds useful context beyond that: only public workouts are returned, personal scores are excluded, and the response includes specific prescription and benchmark data. It stops short of describing not-found or ambiguity behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and scope. The second sentence is short and adds a relevant exclusion; there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup with an output schema, the definition supplies the key calling context: exact-name/slug input, public-only scope, and no personal scores. Minor gaps like not-found behavior are acceptable given the output schema and annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the burden. It does so by explaining that the single 'workout' parameter accepts an exact workout name or PRzilla slug, which is meaningful beyond the bare string schema. It does not cover case sensitivity, formatting, or ambiguity resolution.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get a public workout by its exact name or PRzilla slug.' It also scopes the result content (prescription, scaling notes, movements, benchmark thresholds) and distinguishes exact lookup from searching by emphasizing the exact identifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by its exact name or PRzilla slug' clearly indicates when this tool is appropriate versus a search tool, and 'No personal scores are available' sets a scope boundary. However, it does not explicitly name search_workouts as the alternative when the exact identifier is unknown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_movementsLook up a movementA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
movementYes

Output Schema

NameRequiredDescription
matchesYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a safe, idempotent, closed-world read operation. The description adds useful behavioral context by listing the kind of catalog information returned and clarifying that suggestions are not personalized prescriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the lookup action and examples, then quickly lists expected output and scope caveats. Every sentence adds useful information without wasting space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter lookup with an output schema and rich annotations, the description is complete enough. It defines the input domain, describes the catalog-style output, and sets expectations that results are suggestions rather than personalized prescriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the parameter meaning. It does this well by defining the sole input as one canonical movement name or alias and giving concrete examples, though it does not clarify matching behavior such as case sensitivity or partial matching.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair: looking up one canonical movement name or alias, with examples like HSPU and thruster. The scope is clear, but it does not explicitly distinguish this from sibling tools such as get_workout or search_workouts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'Look up one canonical movement name or alias' and the caveat that results are catalog suggestions, not personalized prescriptions. However, there is no explicit guidance on when to use this tool instead of search_workouts or get_workout.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_workoutsFind PRzilla workoutsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
limitNo
queryYes
categoryNo

Output Schema

NameRequiredDescription
resultsYes
total_matchesYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds useful context beyond that: it returns links plus short summaries (not full prescriptions) and is scoped to the public catalog only. It stops short of describing result ordering or pagination behavior, which is minor given limit is capped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the primary action and scope, then the routing hint, then the exclusion. No filler, each sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the return shape needn't be spelled out, and the description still gives a useful preview ('workout links and short summaries'). The only real gap for a 3-parameter search tool is the unaddressed 'limit' semantics and result ordering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description has to compensate and only partly does: it clarifies that 'query' matches workout name or movement and that 'category' is an optional filter. The 'limit' parameter (default 5, max 10) is never mentioned, leaving one of three parameters entirely undocumented outside the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search the public PRzilla workout catalog'), the match fields (name or movement), and the scope boundary (not athlete history). An agent can distinguish this from get_workout and search_movements without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes downstream needs to get_workout for 'prescriptions and benchmark targets' and excludes athlete history searches. It does not name search_movements as the alternative for movement-only lookups, so the when-not coverage against all siblings is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedget_workout
    • First observedsearch_movements
    • First observedsearch_workouts

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources