Skip to main content
Glama

Find BJJ gyms

find_gyms
Read-onlyIdempotent

Find Brazilian jiu-jitsu and grappling gyms by city, by country, or near a point. Give at least one of: city, country, or lat+lng. Returns at most 25 gyms per call (no pagination: narrow the area for more specific results). Each gym has a link to its public page on bjjsquare.com, where contacts and full details are shown. Use get_gym with the slug for the class schedule and what the gym offers.

Input Schema

NameRequiredDescriptionDefault
latNoLatitude of a named place to search around (a city, neighbourhood or landmark). Not the user's own position. Rounded to 2 decimals (about 1 km).
lngNoLongitude of the same named place. Rounded to 2 decimals.
cityNoCity name, in the local language or in English (e.g. "Milano" or "Milan").
langNoLanguage of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en.
limitNoMax results. Default 10, max 25.
countryNoISO 3166-1 alpha-2 country code, e.g. IT. Recommended with city, to avoid same-name cities.
radius_kmNoSearch radius around lat/lng in km. Default 25, max 100.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / lat / description
      Previous value: -"Latitude of the search center."New value: +"Latitude of a named place to search around (a city, neighbourhood or landmark). Not the user's own position. Rounded to 2 decimals (about 1 km)."
    • changedInput schema / properties / lng / description
      Previous value: -"Longitude of the search center."New value: +"Longitude of the same named place. Rounded to 2 decimals."
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and a closed world, so safety is covered. The description adds genuinely new behavioral context beyond them: a hard 25-result ceiling, no pagination, and the fact that results link out to bjjsquare.com for contacts and full details. Minor gap: no mention of auth requirements or error behavior when no filter is supplied.

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 compact sentences, front-loaded with purpose and the calling constraint before the cap and the hand-off to get_gym. The only near-repeat is the 25-result cap, which the schema also encodes, but the accompanying 'no pagination' clarification earns its place.

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 tells the agent what comes back: a bounded list of gyms, each linking to a public bjjsquare.com page holding contacts and details. Combined with the annotations and full schema coverage, an agent has everything needed to call this correctly on the first try.

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 100%, so the baseline is 3. The description adds a cross-parameter constraint the schema cannot express — at least one of city, country, or lat+lng must be supplied — which is real semantic value. It does not, however, add format guidance for the geo pair beyond what the schema already documents.

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 ('Find Brazilian jiu-jitsu and grappling gyms') plus the three supported search modes (city, country, or near a point). It is clearly distinguishable from find_competitions and get_gym, and the description even routes to get_gym for a different resource (schedules).

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?

Explicitly states the calling precondition ('Give at least one of: city, country, or lat+lng') and names the alternative tool plus the trigger for switching ('Use get_gym with the slug for the class schedule'). It also explains how to work around the cap (narrow the area), which is actionable guidance rather than inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources