Skip to main content
Glama

Server Details

Find gyms and studios, see classes and prices, and book with Gymmy.

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
Repository
zdeadex/gymmy-mcp
GitHub Stars
0
Server Listing
Gymmy MCP server

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target distinct resource+action combos (book_class, cancel_booking, get_gym, get_prices, search_gyms). The main overlap is get_schedule (a gym's classes over 14 days) vs my_schedule (the member's gym classes over a week with bookable ids), which could be confused, though the my_ prefix and descriptions help distinguish them.

Naming Consistency4/5

Names follow two clear, predictable patterns: verb_noun actions (book_class, cancel_booking, get_gym, search_gyms, start_trial) and a my_ prefix for the signed-in member's own data (my_bookings, my_gyms, my_schedule). The split is intentional and readable, though not a single uniform convention.

Tool Count5/5

Ten tools sit squarely in the ideal range and each earns its place: discovery (search_gyms, get_gym, get_prices), member state (my_gyms, my_bookings, my_schedule), and lifecycle actions (book_class, cancel_booking, start_trial). No redundant or filler tools.

Completeness4/5

The booking lifecycle is well covered (discover gym, view schedule, book, cancel, trial). Minor gaps exist, such as no explicit reschedule/update or single-class detail view, but these are workable via cancel+rebook and get_schedule.

Available Tools

10 tools
book_classBook a classAInspect

Books a class for the signed-in member with their own membership (or puts them on the waitlist when full, if the gym allows). Uses the gym's booking rules. No payment is taken here.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymNoGymmy gym id (from my_gyms). Needed only if you belong to several gyms.
dateYesClass date (YYYY-MM-DD).
localeNoAnswer language. Default fr.
class_idYesClass id (from my_schedule).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent, closed-world operation, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: waitlist fallback when the class is full, dependence on the gym's own booking rules, and the fact that no payment is taken here.

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?

Three short sentences, front-loaded with the core action and immediately followed by the waitlist caveat and payment clarification. 'Uses the gym's booking rules' is slightly vague filler but still informative enough to keep.

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 booking mutation with no output schema, the description covers the key outcomes (booking, waitlist, no payment) and the rule source. It omits error/edge cases such as already-booked classes or missing membership, but nothing critical to invoking the tool correctly is absent.

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 100%, so the schema already documents gym, date, locale, and class_id with sources (my_gyms, my_schedule). The description adds no parameter-level detail such as format or defaults, so the baseline of 3 applies.

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 and resource ('Books a class') plus the actor and scope ('signed-in member with their own membership'), which is unambiguous. It does not explicitly distinguish itself from sibling cancel_booking or explain why it is preferred over a waitlist-related tool, so it stops 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 Guidelines3/5

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

Usage is implied rather than spelled out: the reader learns it applies to the signed-in member's own membership and that a waitlist is used when full. There is no explicit when-to-use/when-not-to-use guidance or reference to the sibling tools (cancel_booking, my_bookings) that would route the agent correctly.

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

cancel_bookingCancel a bookingA
Destructive
Inspect

Cancels the signed-in member's booking (or waitlist spot) for a class. The gym's cancellation deadline applies; a late cancel may count as used.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymNoGymmy gym id (from my_gyms). Needed only if you belong to several gyms.
dateYesClass date (YYYY-MM-DD).
localeNoAnswer language. Default fr.
class_idYesClass id (from my_schedule).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=false, and readOnly=false, but the description adds genuinely useful context beyond them: the cancellation deadline governs the action and a late cancel may count as used, which tells the agent the operation has real consequences. It does not cover error behavior (e.g., no matching booking) but the deadline/consequence detail is a meaningful value-add.

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 tight, front-loaded sentences with no waste. The scope is stated first and the deadline caveat follows, so an agent gets the essential information immediately.

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 destructive cancel tool with annotations that already convey the safety profile and a fully documented schema, the description covers the operation and its key consequence (late-cancel penalty). No output schema is needed and nothing critical to correct invocation is missing.

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 100%, so the schema already documents all four parameters (gym, date, locale, class_id) including enums and cross-references to my_gyms/my_schedule. The description adds no parameter-level meaning beyond that, so the baseline of 3 is appropriate.

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 (Cancels) and resource (the signed-in member's booking or waitlist spot) with clear scope. It implicitly reads as the inverse of book_class but never names or explicitly contrasts with any sibling tool.

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 the purpose and the note that the cancellation deadline applies, but there is no explicit when-to-use guidance, no mention of prerequisites (e.g., an existing booking must exist), and no routing to siblings like my_bookings to confirm a booking first.

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

get_gymGym detailsB
Read-onlyIdempotent
Inspect

Details of a Gymmy gym: description, address, opening hours, sites, how to book, page and join links.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymYesGym identifier: the `gym` value from search_gyms (page slug or Gymmy id).
localeNoAnswer language. Default fr.

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds no behavioral context of its own: nothing about error handling for an unknown gym id, whether the join/booking links imply authentication, or any caching/rate-limit behavior.

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?

One compact sentence with the resource front-loaded and the returned fields listed without filler. It is a noun phrase rather than a sentence, but every element earns its place and nothing is redundant.

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 no output schema, the description correctly compensates by enumerating the returned detail fields, and the annotations cover the read-only safety profile. Missing only edge-case behavior (unknown/mismatched gym id, locale fallback semantics) for full completeness.

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 100% and both parameters (gym identifier, locale enum with default fr) are fully documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 is the right level.

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 resource ('a Gymmy gym') and enumerates the content returned (description, address, opening hours, sites, booking info, links), so the agent knows exactly what it fetches. It does not, however, contrast itself with siblings like search_gyms or my_gyms, so the differentiation is left to inference.

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

Usage Guidelines2/5

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

The description contains no when-to-use, when-not-to-use, or alternative-tool guidance. The only routing hint — that the `gym` id comes from search_gyms — lives in the input schema, not the description, so the description itself gives the agent nothing to select on.

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

get_pricesPrices and offersA
Read-onlyIdempotent
Inspect

Memberships, class packs and trial offers of a Gymmy gym with prices in EUR and a direct sign-up link per offer.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymYesGym identifier: the `gym` value from search_gyms (page slug or Gymmy id).
localeNoAnswer language. Default fr.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds currency (EUR) and the presence of per-offer sign-up links, which is useful but modest; it says nothing about how many offers come back, pagination, or behavior for an unknown/foreign gym 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?

A single front-loaded phrase with no filler; every element (offer types, currency, sign-up link) earns its place and nothing is repeated from the schema.

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 no output schema, the description carries the return-value burden and does describe the payload's content and key attribute (prices in EUR, sign-up link per offer). It stops short of indicating structure or size of the returned offer list, but is otherwise sufficient for a 2-parameter read tool.

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 100%: `gym` is documented as the slug/Gymmy id from search_gyms and `locale` documents the fr/en answer language with default fr. The description adds nothing about parameters, so the baseline 3 applies.

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 the concrete resource it returns (memberships, class packs, trial offers) with two distinguishing details: prices are in EUR and each offer carries a sign-up link. It's clearly distinct from sibling reads like get_gym or get_schedule, though it never names the verb 'retrieve' or an alternative tool explicitly.

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?

There is no explicit when-to-use or when-not-to-use statement. Usage is only implied by the mention of a 'direct sign-up link per offer', which suggests it feeds a pre-signup flow (start_trial), but the agent must infer this rather than being told.

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

get_scheduleClass scheduleA
Read-onlyIdempotent
Inspect

Upcoming classes of a Gymmy gym (next 14 days): time, duration, spots left, and a booking link with the class already picked.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymYesGym identifier: the `gym` value from search_gyms (page slug or Gymmy id).
dateNoOnly this day (YYYY-MM-DD).
localeNoAnswer language. Default fr.

TDQS

A3.8/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 real behavior beyond that: a fixed 14-day horizon and a booking link with the class pre-picked, which tells the agent what it can do with the result. It stops short of noting rate limits or handling of invalid gym ids.

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?

One dense sentence that front-loads scope and then the payload; every clause carries information (horizon, fields, pre-picked booking link). Nothing is padded or restated from the title.

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 no output schema, the description correctly takes on the job of describing the return payload, which it does well. It is slightly incomplete on edge behavior (empty schedule, out-of-window date, default locale), but an agent has enough to call it correctly.

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 100%, so the schema already documents gym, date (YYYY-MM-DD) and locale. The description adds nothing about the date window's interaction (e.g., must fall inside the 14 days) or the locale default, so the 3 baseline applies.

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 concrete verb+resource with scope ('Upcoming classes of a Gymmy gym (next 14 days)') and enumerates the returned fields (time, duration, spots left, booking link). It is clearly differentiated from get_gym/get_prices, but never explicitly contrasts itself with the sibling my_schedule, which is the closest alternative.

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 only implied: an agent can infer 'use this to browse a specific gym's schedule', but there is no when-to-use vs when-to-use-something-else guidance, and no mention of my_schedule despite it being the obvious overlapping sibling. No exclusions or prerequisites are stated.

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

my_bookingsMy bookingsA
Read-onlyIdempotent
Inspect

The signed-in member's upcoming booked and waitlisted classes (next 2 weeks) at one of their Gymmy gyms.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymNoGymmy gym id (from my_gyms). Needed only if you belong to several gyms.
localeNoAnswer language. Default fr.

TDQS

A3.8/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 behavior, so the bar is lower; the description usefully adds scope traits: only the signed-in member's data, only the next 2 weeks, and inclusion of waitlisted as well as booked classes. It does not mention ordering or result size, but the added scope is substantive.

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?

A single front-loaded sentence that packs resource, personal scope, statuses, and time window with no filler. Nothing to trim.

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 no output schema, the description still conveys what comes back (booked and waitlisted classes over a 2-week window for the current member), which is the key information. Minor gaps remain on ordering or volume but nothing essential for correct invocation.

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 coverage is 100%, so both parameters are already documented, and the enum locale is described in the schema. The description adds only loose context ('at one of their Gymmy gyms') for the gym param and nothing for locale, so the baseline 3 applies.

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-like resource ('upcoming booked and waitlisted classes') with clear scope: the signed-in member's own data and a 2-week window. It is distinguishable from write tools like book_class/cancel_booking, though it does not explicitly differentiate itself from the sibling my_schedule.

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 — call this to see the member's own upcoming bookings — and the schema's gym note ('from my_gyms') implicitly routes to the my_gyms tool. However, there is no explicit when/when-not guidance and no statement of how this differs from my_schedule for a caller choosing between the two.

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

my_gymsMy gymsB
Read-onlyIdempotent
Inspect

Gyms the signed-in Gymmy member belongs to.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoAnswer language. Default fr.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds only the personal-scope constraint (signed-in member), with no note on authentication requirements or what happens when the member has no gyms.

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?

A single short sentence with zero filler, and the scoping qualifier is front-loaded. It is arguably too terse, but nothing in it is wasted.

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 trivial, parameterless-required, read-only listing tool whose safety profile is fully covered by annotations and whose only parameter is fully documented in the schema, the description supplies the essential scope. A hint at the returned shape would be nice but is not required without an output schema.

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?

There is one optional parameter (locale) with 100% schema description coverage, including the enum values and default. The description adds nothing about it, but the schema already carries the full burden, so the baseline of 3 applies.

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 specific resource (gyms) and a precise scope (gyms the signed-in member belongs to), which implicitly distinguishes it from search_gyms and get_gym. However, it is delivered as a noun fragment with no verb, so it reads as a label rather than a stated operation.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus siblings like search_gyms, get_gym, or my_bookings. The agent must infer from the scope phrase alone that this is the personal-membership listing rather than a lookup or search.

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

my_scheduleMy gym's scheduleA
Read-onlyIdempotent
Inspect

Classes at the signed-in member's gym for a week, with the class ids book_class needs, spots left and whether they are booked.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymNoGymmy gym id (from my_gyms). Needed only if you belong to several gyms.
weekNoAny day of the week (YYYY-MM-DD). Default this week.
localeNoAnswer language. Default fr.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered; the description adds non-obvious behavioral value by disclosing the returned content (class ids for book_class, remaining spots, and whether each class is already booked), which no structured field provides.

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?

A single dense sentence that front-loads the scope (member's gym, one week) and then the payload. No filler, nothing redundant.

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 read-only query with no output schema, the description covers what an agent needs: the scope of results, the fact that class ids are returned for book_class, and the availability/booking fields. Output shape is effectively described inline.

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 100%, so gym, week and locale are already documented in the schema. The description only gestures at the week scope ('for a week') and adds no extra format or cross-parameter detail, so the baseline of 3 applies.

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 resource and scope: classes at the signed-in member's gym for one week, and enumerates the returned fields (class ids, spots left, booked status). It implicitly separates itself from get_schedule/my_bookings by scoping to the member's own gym, but never explicitly contrasts with those siblings.

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?

The phrase 'the class ids book_class needs' implies a downstream booking workflow, which is useful chaining context, but there is no explicit when-to-use guidance or rule for choosing this over get_schedule or my_bookings.

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

search_gymsSearch gyms and studiosA
Read-onlyIdempotent
Inspect

Find gyms and studios (CrossFit, HYROX, fitness, yoga, pilates, boxing, martial arts, dance) in France and Europe, near a point or by name, city or postcode. Gymmy gyms (onGymmy: true) can be booked; others are listed from OpenStreetMap, not bookable, with a claim link. Use the gym value with get_gym, get_schedule, get_prices or start_trial.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude to search around.
lngNoLongitude to search around.
limitNoMax results. Default 10.
queryNoGym name, address, district, city or postcode, e.g. 'Lyon', '12 rue Oberkampf Paris' or 'CrossFit Nantes'. Places are geocoded when no lat/lng is given.
localeNoAnswer language. Default fr.
activityNoOnly this activity (studios not on Gymmy).
radius_kmNoRadius in km, 1 to 50. Default: 10, or fitted to the geocoded place (3 for an address).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context beyond that: Gymmy gyms are bookable, while OpenStreetMap gyms are not bookable and expose a claim link.

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 three tight sentences with no wasted language. It front-loads what the tool finds and where, then adds result-type behavior and follow-up tools.

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?

With no output schema, the description still explains the key distinction in results: bookable Gymmy gyms vs non-bookable OpenStreetMap listings with a claim link. It also names the natural follow-up tools, so an agent has enough context to use the tool correctly.

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 100%, so all parameters are already documented in the schema. The description reinforces that search can be by point or geocoded name/city/postcode, but adds little syntax or default detail beyond what the schema already provides.

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?

The description states a specific verb and resource: find gyms and studios, with concrete activity categories and geographic scope (France and Europe). It also distinguishes two result types, Gymmy bookable gyms vs OpenStreetMap listings, so an agent can tell what it will get without opening another 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?

It clearly explains search modes (near a point or by name/city/postcode) and routes follow-up actions to get_gym, get_schedule, get_prices, and start_trial. It does not explicitly say when to use this instead of siblings like my_gyms, but the usage context is otherwise strong.

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

start_trialStart a trial classA
Read-onlyIdempotent
Inspect

Gives the link to book a trial class at a Gymmy gym, with the trial offer and optionally the class already picked. The person opens it and confirms with their name and email; nothing is booked or charged by this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
gymYesGym identifier: the `gym` value from search_gyms (page slug or Gymmy id).
dateNoClass date (YYYY-MM-DD).
localeNoAnswer language. Default fr.
class_idNoClass id from get_schedule.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the tool returns a booking link, a human must confirm with name and email, and no booking or charge occurs — clarifying the human-in-the-loop and side-effect-free nature.

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, fully front-loaded, with no filler. The most important fact — that this only produces a link and nothing is booked — is placed last for emphasis without padding.

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 4-parameter tool with full schema coverage and no output schema, the description covers purpose, the human confirmation flow, and what is returned (a link). An agent has everything needed to select and invoke it correctly.

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 100%, so each parameter (gym, date, class_id, locale) is already documented in the schema and the baseline is 3. The description only alludes to 'optionally the class already picked', adding no syntax or format detail beyond 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 ('Gives the link to book a trial class at a Gymmy gym') and scopes exactly what is produced. The closing clause ('nothing is booked or charged by this tool') distinguishes it from the sibling book_class, so an agent can route correctly without opening either 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?

Clearly frames the tool as the pre-booking step: it returns a link the person opens and confirms with name and email, and nothing is booked or charged. This makes the boundary with book_class inferable, but the sibling is never named and no explicit 'use this instead of X when Y' guidance is given.

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. 10 tool updates
    • First observedbook_class
    • First observedcancel_booking
    • First observedget_gym
    • First observedget_prices
    • First observedget_schedule
    • First observedmy_bookings
    • First observedmy_gyms
    • First observedmy_schedule
    • First observedsearch_gyms
    • First observedstart_trial

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables searching the EGYM Wellpass fitness network for studios and classes by location, activity, and filters, with optional login-based class booking and cancellation. It exposes studio details and filter values through MCP clients such as Claude Desktop and Claude Code.
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to find coach-built training programs, coaching brains, races, gyms, classes and sports clinics, preview and build workouts with exercise demos, swap exercises, and plan around a sport or race. With OAuth it can also save workouts and programs, send coach notes to members, and read a member's logged history, planned sessions and lift progress.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to query and manage Altea Active memberships through natural language, including schedules, spot availability, instructor sessions, bookings, cancellations, and waitlists.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.