
Find US BJJ gyms with weekly schedules, open mats, and visitor drop-in prices.
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.
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.
City, neighborhood, address, or ZIP, same as the OpenMapp search box
Restrict to this weekday or tomorrow. Overrides today
Filter to Gi, No-Gi, and/or open mat
Max gyms to return. Default 8
Only gyms with a listed class or open mat today. Default true
Only gyms marked Drop-ins (known welcome or a listed visitor/open-mat price). Default true
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.
| Argument | Type | Description |
|---|---|---|
| q* | string | City, neighborhood, address, or ZIP, same as the OpenMapp search box |
| day | string | Restrict to this weekday or tomorrow. Overrides today |
| kinds | array | Filter to Gi, No-Gi, and/or open mat |
| limit | integer | Max gyms to return. Default 8 |
| today | boolean | Only gyms with a listed class or open mat today. Default true |
| drop_ins | boolean | Only gyms marked Drop-ins (known welcome or a listed visitor/open-mat price). Default true |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"minLength": 2,
"description": "City, neighborhood, address, or ZIP, same as the OpenMapp search box"
},
"day": {
"enum": [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun",
"tomorrow"
],
"type": "string",
"description": "Restrict to this weekday or tomorrow. Overrides today"
},
"kinds": {
"type": "array",
"items": {
"enum": [
"gi",
"nogi",
"openmat"
],
"type": "string"
},
"description": "Filter to Gi, No-Gi, and/or open mat"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max gyms to return. Default 8"
},
"today": {
"type": "boolean",
"description": "Only gyms with a listed class or open mat today. Default true"
},
"drop_ins": {
"type": "boolean",
"description": "Only gyms marked Drop-ins (known welcome or a listed visitor/open-mat price). Default true"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | Gym id or slug from find_gyms, e.g. 10th-planet-allentown |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Gym id or slug from find_gyms, e.g. 10th-planet-allentown"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| q | string | Filter by city name, e.g. Austin |
| limit | integer | Max cities to return. Default all matching, max 500 |
| state | string | Two-letter US state, e.g. TX |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Filter by city name, e.g. Austin"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max cities to return. Default all matching, max 500"
},
"state": {
"type": "string",
"description": "Two-letter US state, e.g. TX"
}
}
}OpenMapp map link for a city search, optionally with a gym drawer already open.
| Argument | Type | Description |
|---|---|---|
| q* | string | City or search text for the map search box |
| gym_id | string | Gym id from find_gyms to open the details drawer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "City or search text for the map search box"
},
"gym_id": {
"type": "string",
"description": "Gym id from find_gyms to open the details drawer"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | Gym id or slug from find_gyms or get_gym |
| day* | string | Weekday of the class, as listed in sessions |
| date | string | YYYY-MM-DD within the next 7 days, on the class's weekday. Default: the next time the class runs |
| name | string | Class name from sessions. Needed only when the gym lists two classes at the same day and time |
| time* | string | Class start time as listed in sessions, e.g. "6:30 PM" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"day",
"time"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Gym id or slug from find_gyms or get_gym"
},
"day": {
"enum": [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun"
],
"type": "string",
"description": "Weekday of the class, as listed in sessions"
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD within the next 7 days, on the class's weekday. Default: the next time the class runs"
},
"name": {
"type": "string",
"description": "Class name from sessions. Needed only when the gym lists two classes at the same day and time"
},
"time": {
"type": "string",
"minLength": 1,
"description": "Class start time as listed in sessions, e.g. \"6:30 PM\""
}
}
}