BJJ and grappling gyms worldwide, plus upcoming competitions. Free, read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Upcoming BJJ and grappling competitions from an aggregated public calendar: BJJ Square collects the dates organizers publish on their own public listings (IBJJF, AJP, Smoothcomp, national federations and others). Search by country and date range. Returns at most 10 per call, each with the official organizer page (the source to register and to confirm details), plus the BJJ Square calendar page for the full list.
End date YYYY-MM-DD. Default from + 90 days, max from + 366 days.
Start date YYYY-MM-DD. Default today; past dates are moved to today.
Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en.
Max results. Default 5, max 10.
ISO 3166-1 alpha-2 code. Omit for worldwide.
Upcoming BJJ and grappling competitions from an aggregated public calendar: BJJ Square collects the dates organizers publish on their own public listings (IBJJF, AJP, Smoothcomp, national federations and others). Search by country and date range. Returns at most 10 per call, each with the official organizer page (the source to register and to confirm details), plus the BJJ Square calendar page for the full list.
| Argument | Type | Description |
|---|---|---|
| to | string | End date YYYY-MM-DD. Default from + 90 days, max from + 366 days. |
| from | string | Start date YYYY-MM-DD. Default today; past dates are moved to today. |
| lang | string | Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en. |
| limit | integer | Max results. Default 5, max 10. |
| country | string | ISO 3166-1 alpha-2 code. Omit for worldwide. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date YYYY-MM-DD. Default from + 90 days, max from + 366 days."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date YYYY-MM-DD. Default today; past dates are moved to today."
},
"lang": {
"enum": [
"it",
"en",
"es",
"pt",
"fr",
"de"
],
"type": "string",
"description": "Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Max results. Default 5, max 10."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 code. Omit for worldwide."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| lat | number | 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). |
| lng | number | Longitude of the same named place. Rounded to 2 decimals. |
| city | string | City name, in the local language or in English (e.g. "Milano" or "Milan"). |
| lang | string | Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en. |
| limit | integer | Max results. Default 10, max 25. |
| country | string | ISO 3166-1 alpha-2 country code, e.g. IT. Recommended with city, to avoid same-name cities. |
| radius_km | number | Search radius around lat/lng in km. Default 25, max 100. |
Public details of one gym by its slug (from find_gyms): address, website, affiliation, what it offers, class schedule when the gym has published one, and when the schedule was last updated. Only known facts are returned: a missing field means unknown, not "no". Phone and email are on the gym page linked in the result.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en. |
| slug* | string | Gym slug, e.g. as returned by find_gyms. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"lang": {
"enum": [
"it",
"en",
"es",
"pt",
"fr",
"de"
],
"type": "string",
"description": "Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en."
},
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Gym slug, e.g. as returned by find_gyms."
}
}
}Countries covered by BJJ Square with gym counts, or, with a country code, the cities of that country with gym counts (largest 200). Use it to check coverage before find_gyms.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en. |
| country | string | ISO 3166-1 alpha-2 code. Omit to list countries. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lang": {
"enum": [
"it",
"en",
"es",
"pt",
"fr",
"de"
],
"type": "string",
"description": "Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 code. Omit to list countries."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "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)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude of the same named place. Rounded to 2 decimals."
},
"city": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "City name, in the local language or in English (e.g. \"Milano\" or \"Milan\")."
},
"lang": {
"enum": [
"it",
"en",
"es",
"pt",
"fr",
"de"
],
"type": "string",
"description": "Language of the returned bjjsquare.com links: it, en, es, pt, fr or de. Default en."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max results. Default 10, max 25."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 country code, e.g. IT. Recommended with city, to avoid same-name cities."
},
"radius_km": {
"type": "number",
"maximum": 100,
"minimum": 1,
"description": "Search radius around lat/lng in km. Default 25, max 100."
}
}
}