Skip to main content
Glama

Zarvo

Server Details

Find UK padel courts, live availability and public games, then hand booking to the provider.

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.1/5.0

Scored across 9 tools

Disambiguation4/5

The search tools are clearly split by intent: search_clubs is a directory, search_courts is bookable slots, get_availability needs a specific provider club, and search_public_games is for open spots. The only real overlap is recheck_slot versus get_booking_handoff, which both revalidate a slot, though the descriptions explicitly frame recheck_slot as an optional standalone check.

Naming Consistency5/5

All nine tools follow a consistent snake_case verb_noun pattern (search_clubs, get_availability, create_game_plan, recheck_slot). Verbs are used predictably: search for discovery, get for retrieval, create for state change.

Tool Count5/5

Nine tools is well inside the ideal 3-15 range and each maps to a distinct step in the discovery-to-handoff workflow. No tool feels redundant or filler.

Completeness4/5

The surface covers discovery (clubs, courts, activities, public games), enrichment (get_club), live availability, revalidation, handoff, and group planning, so the core workflow has no dead ends. Minor gaps exist, such as no detail lookup for a specific activity session or provider listing, but these are workable around.

Available Tools

9 tools
create_game_planCreate a shareable padel game planAInspect

Use this only when the user explicitly wants to organise one to three selected court options with other people. Rechecks each selected slot, creates an expiring Zarvo plan, and returns separate guest and private organiser links. This changes Zarvo state but does not book a court.

NameRequiredDescriptionDefault
modeYes
slot_idsYes
age_confirmedNo
original_requestYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false; the description adds real value on top by disclosing slot rechecks, plan expiry, dual link types, and that no court is booked. It stops short of saying what happens if a recheck fails or how long the plan lives.

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 with the usage gate front-loaded and no filler. Each clause contributes a distinct fact: when to use, what it does mechanically, and what it does not do.

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

Completeness3/5

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

An output schema exists, so return values need little explanation, and the description does flag the two link types. However, for a state-mutating tool with three required parameters and zero schema descriptions, the unexplained mode/age_confirmed/original_request inputs leave genuine gaps for correct invocation.

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

Parameters2/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 parameter meaning — it explains only the 'one to three selected court options' cap on slot_ids. The mode enum (choose_one vs book_all) is a genuine behavioural fork and age_confirmed and original_request are entirely unexplained, leaving required inputs ambiguous.

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 ('creates an expiring Zarvo plan') plus concrete outputs ('separate guest and private organiser links') and an explicit boundary ('does not book a court'). That boundary cleanly separates it from the booking-oriented siblings such as get_booking_handoff.

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?

Opens with an explicit gate: 'Use this only when the user explicitly wants to organise one to three selected court options with other people.' It implies the prerequisite of already-selected slots but never names the alternative tool (get_booking_handoff) or states what to do instead when the user does want to book.

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

get_availabilityGet club availabilityA
Read-onlyIdempotent
Inspect

Use this when the user has selected a named provider club and wants its available courts on one date or across a bounded date range. Copy provider and club_name exactly from the selected search_clubs result; never infer provider from the club name. Results include Zarvo club IDs when matched and the total limit applies across all dates. number_of_players affects per-player price only; use singles_court to require explicit singles support. Do not use for a broad nearby search; use search_courts instead.

NameRequiredDescriptionDefault
dateNo
limitNo
providerYes
club_nameYes
date_rangeNo
earliest_timeNo00:00
singles_courtNoWhen true, restrict results to courts or venues explicitly identified as supporting singles play.
latest_end_timeNo
duration_minutesNoOmit to return every duration offered by the provider.
number_of_playersNoUsed to compute per-player price only. Does not filter court capacity; use singles_court for that.

Output Schema

NameRequiredDescription
dataYes
metaYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile is covered; the description adds non-obvious behavior instead: the limit is a total across all dates, results carry Zarvo club IDs when matched, and number_of_players affects pricing only. It does not mention pagination or truncation behavior when the limit is hit, which keeps it from a 5.

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

Conciseness4/5

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

Front-loaded with the usage trigger, then the critical data-hygiene rule, then per-parameter caveats — every sentence carries operational information. It is dense for four sentences but no line is filler; a slightly tighter grouping of the parameter notes would improve scanability.

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?

An output schema exists, so return values need not be spelled out, and the description still flags the useful bit (Zarvo IDs when matched). For a 10-parameter, open-world lookup it covers the pitfalls an agent would otherwise hit, missing only guidance on choosing date vs. date_range and on limit truncation.

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?

With only 30% schema description coverage, the description compensates meaningfully: it clarifies that limit applies across the whole date range rather than per date, that number_of_players is price-only and singles_court is the capacity filter, and that provider/club_name must match a prior search result exactly. It leaves the date vs. date_range interaction and max_days behavior unexplained.

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 available courts for a named provider club) and scopes it to one date or a bounded range. It explicitly separates itself from search_courts and from the club-selection step performed by search_clubs.

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

Usage Guidelines5/5

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

Gives a positive trigger (user has selected a named club and wants availability), a hard exclusion ("Do not use for a broad nearby search; use search_courts instead"), and a data-provenance rule (copy provider and club_name from the search_clubs result, never infer provider). That is explicit when/when-not/alternative guidance.

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

get_booking_handoffGet a provider booking handoffA
Read-onlyIdempotent
Inspect

Use this directly after the user chooses a slot. It revalidates the provider slot and returns status unavailable with a reason if the slot was taken, or status available with a provider handoff URL and current price. The user completes login, booking, and payment on the provider site; Zarvo does not reserve inventory or complete checkout.

NameRequiredDescriptionDefault
slot_idYes
number_of_playersNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, openWorld, and non-destructive, so the safety profile is known. The description adds genuinely new behavior: the slot is revalidated at call time and can come back unavailable with a reason, and the user completes login/booking/payment on the provider site while Zarvo never reserves inventory. That is exactly the kind of external-side-effect context an agent needs.

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 trigger and outcome statuses, and the scope limitation stated last. Every sentence carries information an agent needs.

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?

The output schema and annotations already cover return shape and safety, so the description rightly focuses on workflow and the unavailable/available outcome. The one real gap is that neither parameters nor their constraints are explained anywhere.

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

Parameters2/5

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

Schema description coverage is 0%, and the description says nothing about slot_id or number_of_players, so the description fails to compensate. The number_of_players constraint (min 1, default 4, max 4) is especially opaque without explanation.

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?

States a specific action (revalidate a provider slot, return handoff URL and current price) with clear scope: Zarvo does not reserve inventory or complete checkout. It doesn't explicitly differentiate from the sibling recheck_slot, which sounds like a near-identical operation.

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?

"Use this directly after the user chooses a slot" gives a clear trigger condition, and the description implies this is the final step before handing off to the provider. It stops short of naming when NOT to use it, e.g. versus recheck_slot or get_availability.

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

get_clubGet a padel clubA
Read-onlyIdempotent
Inspect

Use this after a Zarvo club ID is known and the user wants its address, coordinates, facilities, racket rental, contact information, official website, or social links. This returns directory metadata, not live availability.

NameRequiredDescriptionDefault
club_idYes

Output Schema

NameRequiredDescription
dataYes
sourceYes
checked_atYes
snapshot_atYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive and closed-world behavior, so the bar is low. The description still adds real value by warning that the result is static directory metadata rather than live availability, preventing an agent from treating it as a freshness source; it says nothing about behavior for an unknown or malformed ID.

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, no filler: the trigger condition and returned fields come first, and the scope caveat follows. Every clause earns its place.

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 description needn't explain return values, and the prerequisite plus the live-vs-static distinction cover the call decision. The only material gap is how to obtain a valid club_id, which the sibling search_clubs would supply.

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% for the single club_id parameter, so the description must compensate. It signals that the value is a pre-existing "Zarvo club ID" rather than a free-text name, which is useful, but it never mentions the kebab-case slug format encoded in the schema pattern or where such an ID originates.

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 names the resource (a Zarvo padel club) and enumerates exactly what is returned — address, coordinates, facilities, racket rental, contact, website, socials — so the agent knows the payload without opening the output schema. It does not name the sibling that finds the ID (search_clubs), leaving the differentiation only partially explicit.

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?

"Use this after a Zarvo club ID is known" is an explicit prerequisite, and "returns directory metadata, not live availability" excludes the availability siblings. It stops short of naming search_clubs as the way to obtain the ID or get_availability as the alternative for live data.

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

recheck_slotRecheck a selected court slotA
Read-onlyIdempotent
Inspect

Optional standalone check. get_booking_handoff already revalidates before returning a URL; call this only to confirm availability without proceeding to handoff. It never books, holds inventory, takes payment, or returns checkout.

NameRequiredDescriptionDefault
dateNo
slot_idYes
earliest_timeNo
latest_end_timeNo
duration_minutesNo
number_of_playersNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive, open-world behavior; the description adds explicit negative guarantees (never books, holds inventory, takes payment, or returns checkout) that remove ambiguity about side effects. It doesn't say what happens when the slot is no longer available, or whether errors vs. a negative result are returned, leaving a gap for a verification tool.

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 short sentences, front-loaded with the optionality caveat and the sibling reference, then the side-effect disclaimer. No filler.

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

Completeness3/5

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

Behavioral safety and output shape are adequately covered (an output schema exists, so return values needn't be described), and the routing guidance is complete. But with six undocumented parameters at 0% schema coverage, the description leaves the agent guessing how the constraint arguments interact with the recheck.

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

Parameters2/5

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

Schema description coverage is 0% across six parameters, and the description mentions none of them. For a 'recheck' tool it is unclear whether date, earliest_time, latest_end_time, duration_minutes, and number_of_players re-apply constraints or are ignored — that is the single most important semantic question here and it goes unanswered.

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 concrete operation (confirm a selected slot's availability) and explicitly frames it as an optional revalidation step, which separates it from the booking flow. It does not name the resource being rechecked as sharply as it could (the slot and the constraint parameters aren't mentioned), so it falls short of a 5.

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

Usage Guidelines5/5

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

It gives an explicit when-to-use ('call this only to confirm availability without proceeding to handoff') and names the alternative that already covers this case (get_booking_handoff revalidates before returning a URL). The agent knows exactly when this tool is redundant, which is rare and valuable.

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

search_activitiesSearch padel activities and coachingA
Read-onlyIdempotent
Inspect

Use this when a player wants scheduled PadelStars activities such as coaching, training, intro sessions, socials, junior sessions, or competitions. Returns live session times, levels, vacancies, prices when published, and the provider booking page. It never joins, books, or pays on the user’s behalf.

NameRequiredDescriptionDefault
limitNo
categoryNo
locationYes
providerNopadelstars
radius_kmNo
start_dateYes
search_daysNo
availabilityNoavailable
player_levelNo
earliest_timeNo

Output Schema

NameRequiredDescription
dataYes
metaYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint false, openWorldHint), so the bar is lower, yet the description still adds real context: live data, prices only "when published", a provider booking page in the response, and an explicit no-booking/no-payment boundary. It does not cover freshness/caching, empty-result behaviour, or how the open-world provider scope affects reach.

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 triggering condition, then return values, then the behavioural boundary. Every sentence earns its place and there is no filler.

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

Completeness3/5

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

The output schema means return values need not be detailed, and the description still summarises them usefully. But for a 10-parameter tool with zero schema descriptions and two enums, the absence of any parameter guidance leaves an agent guessing at how to set search_days, radius_km, player_level or availability correctly.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description carries the full burden, and it explains none of them. The activity examples partially mirror the category enum (social, coaching, training, intro, junior, competition) but omit league, tournament and other, and nothing is said about location, start_date, search_days, radius_km, availability, player_level (1-7 scale), earliest_time or limit.

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?

States a specific verb (search) and resource (scheduled PadelStars activities), then enumerates the categories of activity covered (coaching, training, intro, socials, junior, competitions). That enumeration implicitly separates it from search_public_games and search_courts, but no sibling is ever named explicitly, so an agent must infer the boundary.

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?

"Use this when a player wants scheduled PadelStars activities" gives a clean triggering condition, and the category list narrows the case further. It also rules out booking behaviour, which points at get_booking_handoff by implication, but no alternative tool is named and no when-not-to-use case is spelled out.

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

search_clubsSearch padel clubsA
Read-onlyIdempotent
Inspect

Use this lightweight directory lookup to find clubs by location and facilities or resolve a club description, nearby landmark, or partial club name into candidate club_id, club_name, and provider values. Put only club-name wording in query; add location when an area was supplied. Use court_type for indoor/outdoor/covered courts, racket_rental for racket hire, and facility for a requested amenity. Preserve these filters when refining a search. Do not infer or pass provider from a club or brand-like name: provider is only an explicit booking-platform hint. If that hint conflicts with the directory, name resolution may return the canonical provider instead. It returns Zarvo club metadata, not live court availability. Follow with get_club for full metadata or get_availability for live slots at a selected provider club.

NameRequiredDescriptionDefault
limitNo
queryNo
facilityNo
locationNo
providerNoOnly filter by provider when the user explicitly names a booking platform. Never infer this from the club name.
radius_kmNo
court_typeNo
racket_rentalNo

Output Schema

NameRequiredDescription
dataYes
metaYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover the read-only/idempotent safety profile, but the description adds behavior they cannot: results are directory metadata rather than live availability, and a provider hint conflicting with the directory may be overridden by the canonical provider during name resolution. The 'do not infer provider from a club name' rule is a genuine behavioral constraint beyond the schema.

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

Conciseness4/5

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

Front-loaded with purpose and routing, then filter semantics, then the provider caveat and follow-ups — a sensible ordering. It is dense and runs long, with several constraints compressed into single sentences, but no sentence is filler.

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, return values need not be described, and the description still flags that results are metadata rather than availability. For an 8-parameter tool the only uncovered area is pagination/result-ordering and the interplay of limit with radius_km.

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 coverage is only 13%, so the description must carry parameter meaning, and it does for the non-obvious ones: query is club-name wording only, location is added only when an area was supplied, court_type/racket_rental/facility map to specific user requests, and provider is an explicit-hint-only filter. limit and radius_km are left unexplained, though their names and defaults make them largely self-evident.

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?

Uses a specific verb and resource ('lightweight directory lookup to find clubs') and states the returned fields (club_id, club_name, provider). It also explicitly bounds scope ('Zarvo club metadata, not live court availability'), which separates it from get_availability and search_courts.

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

Usage Guidelines5/5

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

Gives explicit routing rules: use get_club for full metadata, get_availability for live slots, and search_clubs for name/landmark/description resolution. It also states the when-to-use condition for each filter (location when an area was supplied, court_type for indoor/outdoor/covered) and instructs to preserve filters across refinements.

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

search_courtsSearch available padel courtsA
Read-onlyIdempotent
Inspect

Use this when a group wants bookable court options near a UK location on one date or across a bounded date range. Searches configured providers, normalizes known whole-court and per-player prices, adds catalogue venue IDs and coordinates, and returns at most the requested limit across all dates. Providers such as MATCHi may return a null anonymous price; those slots remain visible under a price ceiling with price_details.basis unknown and must not be presented as budget matches. Travel time is a straight-line heuristic with a 15% soft-filter tolerance near max_travel_minutes, not live routing. number_of_players affects per-player price only; use singles_court to require explicit singles support. Do not use for venue-only discovery or public games.

NameRequiredDescriptionDefault
dateNo
limitNo
locationYes
providerNo
radius_kmNo
court_typeNo
date_rangeNo
travel_modeNodrive
earliest_timeNo00:00
singles_courtNoWhen true, restrict results to courts or venues explicitly identified as supporting singles play.
latest_end_timeNo
duration_minutesNoOmit to return every duration offered by the provider.
number_of_playersNoUsed to compute per-player price only. Does not filter court capacity; use singles_court for that.
max_travel_minutesNo
max_price_per_playerNo

Output Schema

NameRequiredDescription
dataYes
metaYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover read-only/idempotent safety, and the description adds substantial beyond-annotation behavior: provider result normalization, catalogue venue IDs and coordinates being added, the limit applying across all dates rather than per date, MATCHi's null anonymous price surfacing as price_details.basis unknown, and travel time being a straight-line heuristic with a 15% soft-filter tolerance near max_travel_minutes rather than live routing. These are exactly the traits an agent cannot see from the schema.

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

Conciseness4/5

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

Seven sentences with no filler, and the use-case trigger plus the sibling exclusions are front-loaded. It is dense and information-packed, but the clause count is justified by the number of non-obvious behaviors crammed into a 15-parameter tool; the caveat about null MATCHi prices is slightly buried mid-paragraph.

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?

An output schema exists, so return values need not be explained, yet the description still flags the one return field an agent would misuse (price_details.basis unknown under a price ceiling). Given 15 params, nested date_range, and open-world provider fan-out, nothing an agent needs to call this correctly is missing.

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 only 20%, so the description must compensate, and it does for the highest-risk params: limit is clarified as a global cap across dates, date vs date_range as single-date vs bounded range, number_of_players as price-only with singles_court as the real capacity filter, and max_travel_minutes as a soft filter. It leaves provider, radius_km, court_type, the time-window params, and duration_minutes unaddressed, so the compensation is partial rather than complete.

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 ('searches configured providers' for bookable padel courts) and bounds the scope to a UK location on one date or a bounded range. It explicitly separates itself from venue-only discovery and public games, which are represented by siblings like search_clubs and search_public_games.

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

Usage Guidelines5/5

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

Opens with an explicit 'Use this when...' trigger, then names the two things not to use it for ('venue-only discovery or public games'). It also routes a sub-decision ('use singles_court to require explicit singles support') rather than leaving it to inference.

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

search_public_gamesSearch public padel gamesA
Read-onlyIdempotent
Inspect

Use this when a player wants an existing public padel game with an open spot. Omit date, time, level, and limit filters unless the user requested them; by default it returns every matching game around the location across the next 14 UK days. Returns anonymous match metadata and the provider join page; it never reveals player identities or joins on the user’s behalf. Do not use for empty-court bookings.

NameRequiredDescriptionDefault
dateNo
limitNo
locationYes
providerNo
radius_kmNo
date_rangeNo
player_levelNo
earliest_timeNo

Output Schema

NameRequiredDescription
dataYes
metaYes

TDQS

A4.4/5.0
Behavior4/5

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

Adds genuinely non-obvious behavior beyond the annotations: the 14-day UK default window, that results are anonymous match metadata plus a provider join page, and that it never acts on the user's behalf. Annotations already cover read-only/idempotent safety, so this is strong; only rate limits or cross-provider variability are unstated.

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?

Four tight sentences, front-loaded with the trigger condition, then default behavior, then the negative case. No filler.

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 an 8-parameter tool with an output schema present, the description covers the trigger, defaults, and return shape (anonymous metadata + join page) well. The remaining gap is the undocumented provider enum and radius semantics, which neither schema nor description explain.

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 must compensate and only partly does: it names date/time/level/limit filters and the 14-day default, but never explains provider, radius_km, or the relationship (mutual exclusivity?) between date and date_range. Baseline would be 3 given the partial coverage.

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+resource with scope: an *existing public* padel game *with an open spot*. It also explicitly rules out the adjacent-but-different job (empty-court bookings), which cleanly separates it from search_courts.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ('a player wants an existing public game with an open spot'), when-not ('Do not use for empty-court bookings'), and guidance on which filters to omit unless requested. Nothing is left to inference about the default query shape.

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. 9 tool updates
    • First observedcreate_game_plan
    • First observedget_availability
    • First observedget_booking_handoff
    • First observedget_club
    • First observedrecheck_slot
    • First observedsearch_activities
    • First observedsearch_clubs
    • First observedsearch_courts
    • First observedsearch_public_games

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    C
    maintenance
    An MCP server that integrates with the Playtomic API to find nearby padel courts, check availability, compare prices, and set alerts for preferred slots.
    19
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables checking Matchpoint club balance, listing free padel court availability, and booking private Open Matches through natural language from AI clients like Cursor or Claude Desktop.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Tournament software for tennis, padel, pickleball and more: fair draws, live standings, scores and dropout handling.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources