Skip to main content
Glama

Server Details

Find US BJJ gyms with weekly schedules, open mats, and visitor drop-in prices.

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
Uptime
97.3% over 39 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct step in the gym-finding flow: coverage, search, detail, map, and reservation check. Slight overlap remains because find_gyms/get_gym expose booking info that start_reservation also surfaces, but descriptions clarify the different intents.

Naming Consistency4/5

Most names follow a verb_noun convention (find_gyms, get_gym, list_cities, start_reservation), making actions predictable. map_url deviates by using a noun phrase, and find_gyms/get_gym pluralization is a minor inconsistency.

Tool Count5/5

Five tools is well-scoped for a gym discovery and reservation-linking server; each has a clear role and none feels redundant. No obvious missing or excess tools.

Completeness4/5

The surface covers discovery, city coverage, gym detail, mapping, and pre-reservation validation, with a deliberate handoff to the gym's own booking page. A minor gap is the lack of a direct booking action, though that appears intentionally out of scope.

Available Tools

5 tools
find_gymsFind BJJ gymsA
Read-only
Inspect

Find BJJ gyms near a US city, neighborhood, or ZIP. Defaults: open to drop-ins, classes today. Returns drop-in policy, visitor fee when known, matching class times, and online booking (reservePrice, reserveUrl) when the gym takes reservations.

NameRequiredDescriptionDefault
qYesCity, neighborhood, address, or ZIP, same as the OpenMapp search box
dayNoRestrict to this weekday or tomorrow. Overrides today
kindsNoFilter to Gi, No-Gi, and/or open mat
limitNoMax gyms to return. Default 8
todayNoOnly gyms with a listed class or open mat today. Default true
drop_insNoOnly gyms marked Drop-ins (known welcome or a listed visitor/open-mat price). Default true

TDQS

A3.9/5.0
Behavior4/5

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

readOnlyHint=true already establishes the safe-read profile, and the description adds meaningful behavioral value beyond it: the default filter posture, that visitor fees are only returned 'when known', and that booking fields appear only 'when the gym takes reservations' — non-obvious conditional return 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 tightly packed sentences; the geographic scope and default filters are front-loaded and every clause carries information about either inputs or returns.

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?

No output schema exists, yet the description enumerates the return payload (drop-in policy, visitor fee, matching class times, reservePrice/reserveUrl) and states the conditional cases where fields are absent, so an agent knows both how to call it and what to expect back.

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 all six parameters are already documented, including their defaults. The description restates the drop-ins/today defaults without adding format or interaction detail beyond the schema, 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 a specific verb+resource (find BJJ gyms) plus geographic scope (US city, neighborhood, or ZIP). It is clearly distinguishable in practice from get_gym or list_cities, though it never names a sibling to route against 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?

Implies usage context by declaring defaults ('open to drop-ins, classes today'), which tells the agent what the unfiltered call returns, but gives no explicit when-to-use vs get_gym/list_cities guidance or when to override the defaults.

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

get_gymGet gym detailsA
Read-only
Inspect

Full public gym card: address, drop-in policy, visitor fee, the weekly timetable, and online booking when the gym takes reservations (price and reserveUrl per class). Use an id or slug from find_gyms.

NameRequiredDescriptionDefault
idYesGym id or slug from find_gyms, e.g. 10th-planet-allentown

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, so the safety profile is clear. The description adds valuable disclosure of what the response contains, including that booking details (price, reserveUrl) appear only when the gym takes reservations, which is non-obvious conditional 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?

It is one dense sentence that front-loads the return payload, plus a short usage note. Every phrase 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.

Completeness5/5

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

With a single fully described parameter, annotations covering safety, and no output schema, this description is complete: it fully outlines the return contents and the conditional booking data.

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% and the schema already documents the id parameter with an example slug. The description only repeats 'id or slug from find_gyms', adding no format or validation 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?

The description states a specific verb and resource ('Full public gym card'), and enumerates the exact contents (address, drop-in policy, fee, timetable, booking). It is clearly distinguishable from siblings like find_gyms (search) and start_reservation (booking action).

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 an id or slug from find_gyms' gives clear prerequisite context, implying this is a detail-fetch after search. It does not explicitly say when-not to use it, but the dependency on find_gyms makes the workflow obvious.

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

list_citiesList covered citiesA
Read-only
Inspect

US cities OpenMapp covers, with gym counts, how many welcome class drop-ins, and how many list an open mat. Use this to check coverage before find_gyms. Filter by city name or two-letter state.

NameRequiredDescriptionDefault
qNoFilter by city name, e.g. Austin
limitNoMax cities to return. Default all matching, max 500
stateNoTwo-letter US state, e.g. TX

TDQS

A4.3/5.0
Behavior4/5

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

readOnlyHint=true already signals a safe read, so the bar is lower, and the description adds what the agent actually gets back (gym counts, drop-in counts, open-mat counts). It says nothing about result volume or default-limit behavior, but the return-shape disclosure is genuinely useful given there is no output schema.

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 with no waste: the first defines the payload, the second defines the usage and the sibling relationship. Front-loaded with the resource and its contents.

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 three-param read-only lookup with no output schema, the description covers resource, payload fields, filtering, and the call-ordering relationship to find_gyms. Nothing an agent needs in order to select and call it correctly 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 coverage is 100%, so q, limit, and state are already documented in the schema, which sets the baseline at 3. The description restates the city-name and two-letter-state filters but adds no format or syntax detail beyond what the schema provides, and omits limit entirely.

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 (lists US cities OpenMapp covers) plus the exact payload contents: gym counts, drop-in-welcoming gym counts, and open-mat listings. This distinguishes it from find_gyms, which returns gyms rather than coverage.

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 tells the agent to use it to check coverage before calling find_gyms, naming the sibling alternative and the ordering condition. It stops short of stating when-not to use it, but the routing intent is unambiguous.

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

map_urlOpenMapp map linkC
Read-only
Inspect

OpenMapp map link for a city search, optionally with a gym drawer already open.

NameRequiredDescriptionDefault
qYesCity or search text for the map search box
gym_idNoGym id from find_gyms to open the details drawer

TDQS

C2.7/5.0
Behavior2/5

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

readOnlyHint=true already tells the agent this is a safe, non-mutating operation, and the description adds essentially nothing beyond it. The one behavioral note — that the resulting link can carry an open gym drawer — largely duplicates the gym_id schema description ('open the details drawer'). No mention of return type, URL construction, expiry, or authentication needs.

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 compact sentence with no filler, and the primary scope ('for a city search') is front-loaded ahead of the optional variant. It is efficient, though its brevity reflects under-specification rather than disciplined editing.

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 tool is simple (two params, one required, no nesting) and the annotations cover the safety profile, so not much is required. Still, with no output schema the description should clarify that the return value is a link/URL, and it offers no routing guidance relative to the four sibling tools.

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 both parameters are already fully documented in the schema and the baseline is 3. The description's mention of 'city search' and 'gym drawer' merely restates those same parameters in prose without adding format, constraints, or interaction rules.

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

Purpose3/5

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

The description identifies the resource (an OpenMapp map link) and its scope (city search, optional open gym drawer), which is more than the title alone. However, it contains no verb, so it never states what the tool actually does — presumably generate/return a deep link — and it does nothing to distinguish itself from siblings like find_gyms, get_gym, or list_cities. It is a noun phrase rather than a task statement.

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 explicit when-to-use, when-not-to-use, or alternative named. The phrase 'optionally with a gym drawer already open' hints at a scenario, but the agent must infer it is for producing a shareable/navigable map reference rather than fetching data, which is exactly the ambiguity against find_gyms and get_gym.

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

start_reservationStart a drop-in reservationA
Read-only
Inspect

Check that a class at a gym can be reserved online right now and get the link where the visitor signs the gym's waiver and pays (or reserves free). Returns the class's next date and start time, price, cancellation policy, and reserveUrl. It does not book anything: the visitor must open reserveUrl and sign and pay themselves. When status is unavailable, reason says why and reservableClasses lists classes that can be reserved instead.

NameRequiredDescriptionDefault
idYesGym id or slug from find_gyms or get_gym
dayYesWeekday of the class, as listed in sessions
dateNoYYYY-MM-DD within the next 7 days, on the class's weekday. Default: the next time the class runs
nameNoClass name from sessions. Needed only when the gym lists two classes at the same day and time
timeYesClass start time as listed in sessions, e.g. "6:30 PM"

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only supply readOnlyHint=true; the description independently confirms the non-mutating nature ('does not book anything') and adds substantive context about output fields and the unavailable-status branch. This goes well beyond what the annotation declares.

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 sentences, front-loaded with the core purpose, then return values, then the non-booking caveat and fallback. Every sentence carries distinct information with no repetition of the title.

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 compensates by enumerating the returned fields (next date, start time, price, cancellation policy, reserveUrl) and the unavailable-status response shape (reason, reservableClasses). An agent has everything needed to interpret results.

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 five parameters are documented in the schema itself (id source, weekday enum, date pattern/default, name disambiguation, time format). The description adds no parameter-level detail, so the baseline 3 applies.

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 action (check reservability) on a specific resource (a class at a gym) and immediately disambiguates from what the name implies by clarifying it does not book anything. The agent knows exactly what this returns and that the actual booking happens elsewhere.

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 use case — verifying that a class can be reserved online right now and retrieving the visitor-facing link — and explains the fallback path when status is unavailable (reason plus reservableClasses). It doesn't need to name an alternative tool because no sibling overlaps, but it also doesn't state prerequisites such as whether the gym/class ids must first come from find_gyms.

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. 1 tool update
    • Addedstart_reservation
  2. 1 tool update
    • Changedfind_gyms1 field changed
      • changedInput schema / properties / drop_ins / description
        Previous value: -"Only gyms that do not refuse class drop-ins. Default true"New value: +"Only gyms marked Drop-ins (known welcome or a listed visitor/open-mat price). Default true"
  3. 4 tool updates
    • First observedfind_gyms
    • First observedget_gym
    • First observedlist_cities
    • First observedmap_url

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Cold plunge, sauna and contrast-therapy venues across 23 US metros (548 venues). Every published water temperature and price is read from the venue's own pages and returned with its source URL, capture date and verbatim quote; every record carries the date it was last checked. Absent fields mean "not published", never zero. Five read-only tools: search_venues, get_venue, list_cities, get_city_stat
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to find gyms and studios, check schedules and prices, start trial classes, and, after OAuth sign-in, view, book, or cancel classes with a membership. Public tools require no account, while member tools enforce each gym's booking rules and never pass payment data to the assistant.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search live directory data for local US card shops and upcoming card shows by coordinates or city/state, returning distance-sorted results with addresses, games, services, ratings, and dates. It also reports which US states are covered and how many shops each contains.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources