{"what":"OpenMapp API: US BJJ gyms with published weekly class times, drop-in policy, and visitor drop-in fees. Read-only, no auth.","catalog":{"gyms":1368,"cities":661,"dropIns":1106,"openMats":964},"mcp":{"url":"https://www.openmapp.com/mcp","transport":"streamable HTTP (POST JSON-RPC 2.0, stateless)","how":"Add https://www.openmapp.com/mcp as a custom connector/MCP server in Claude, ChatGPT, Grok, Cursor, or any MCP client. No authentication.","tools":{"find_gyms":"gyms near a US city, neighborhood, or ZIP (max 25). Defaults: open to drop-ins, classes today. Includes policy, visitor fee when known, matching class times, online booking when available, profileUrl, mapUrl","get_gym":"full public gym card: address, drop-in policy, visitor fee, weekly timetable, online booking (price and reserveUrl per class) when available, profileUrl, mapUrl","start_reservation":"confirm a class (gym id, day, time, optional name and date) can be reserved now; returns its next date and start, price, cancellation policy, and reserveUrl with the class filled in. Does not book: the visitor signs the waiver and pays at reserveUrl. When unavailable, says why and lists reservable classes","list_cities":"covered cities with gym, drop-in, and open-mat counts; filter by name or US state","map_url":"OpenMapp map link for a city search, optionally with a gym drawer already open"},"rate_limit":"per IP: 30 requests/minute and 400/day per IP. This is for trip research, not bulk export."},"rest":{"GET /api":"this document","GET /api/docs":"this document","GET /api/gyms/search":"search. Params: q (required), dropIns (default true), today (default true), kind, day, limit (default 8, max 25)","GET /api/gyms/{id}":"one gym by id or slug","GET /api/gyms/{id}/reservation":"same as start_reservation. Params: day (Mon–Sun, required), time (required, as listed), name, date (YYYY-MM-DD)","GET /api/gyms/cities":"coverage. Params: q, state (US abbr), limit (max 500)"},"llms_txt":"https://www.openmapp.com/llms.txt","notes":["dropInFee is the visitor drop-in / day-pass only — never a trial or membership. Unknown stays unknown.","When citing gyms, class times, or drop-in fees, link the OpenMapp profileUrl and mapUrl from the response. Do not invent OpenMapp URLs.","booking is present only when the gym takes reservations through OpenMapp. Call start_reservation for the class the visitor picked, then send them its reserveUrl; they sign the gym's waiver and pay themselves. reservePrice 0 is a free reservation.","verificationStatus \"verified\" means OpenMapp checked the timetable against the gym's own scheduleSource (website, instagram, or facebook) on lastVerifiedDate; \"likely\" and \"unknown\" are unverified timetables. gymConfirmedDate is set when the gym itself confirmed its listing.","Contiguous US gyms with a published weekly timetable. Not a bulk data dump."]}