MCP Server

KARVE Booking

sa.karve/booking
Other Public & reachable MCP 2025-11-25

What this MCP does

Provides live schedules, availability, details, policies, and booking links for KARVE Pilates classes in Jeddah.

class_detail
KARVE class detail
Full detail for one KARVE class by its idSchedule (from search_classes' JSON): description, trainer, studio, live availability, and a booking link.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['idSchedule'], 'properties': {'idSchedule': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'withinDays': {'type': 'integer', 'maximum': 31, 'minimum': 1}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['header', 'classes'], 'properties': {'header': {'type': 'string'}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['idSchedule', 'title', 'trainer', 'studio', 'day', 'start', 'end', 'spotsLeft', 'capacity', 'isFull', 'waitlist', 'note', 'bookLink', 'description'], 'properties': {'day': {'type': 'string'}, 'end': {'type': 'string'}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'start': {'type': 'string'}, 'title': {'type': 'string'}, 'isFull': {'type': 'boolean'}, 'studio': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'trainer': {'type': 'string'}, 'bookLink': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'capacity': {'type': 'number'}, 'waitlist': {'type': 'number'}, 'spotsLeft': {'type': 'number'}, 'idSchedule': {'type': 'number'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
next_available
Next available KARVE class
Soonest upcoming KARVE classes that still have an open spot, optionally matching an English query (e.g. 'transformer', 'Sarah', 'beginners'). Returns booking links.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string'}, 'withinDays': {'type': 'integer', 'maximum': 31, 'minimum': 1}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['header', 'classes'], 'properties': {'header': {'type': 'string'}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['idSchedule', 'title', 'trainer', 'studio', 'day', 'start', 'end', 'spotsLeft', 'capacity', 'isFull', 'waitlist', 'note', 'bookLink', 'description'], 'properties': {'day': {'type': 'string'}, 'end': {'type': 'string'}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'start': {'type': 'string'}, 'title': {'type': 'string'}, 'isFull': {'type': 'boolean'}, 'studio': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'trainer': {'type': 'string'}, 'bookLink': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'capacity': {'type': 'number'}, 'waitlist': {'type': 'number'}, 'spotsLeft': {'type': 'number'}, 'idSchedule': {'type': 'number'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_classes
Search KARVE classes
Live KARVE (Jeddah) class schedule with real-time availability. Answers what's on, spots left, trainer, and returns a per-class booking link. Read-only. Dates DD/MM/YYYY (KSA). Search in English.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'integer', 'maximum': 31, 'minimum': 1}, 'query': {'type': 'string'}, 'endDate': {'type': 'string', 'pattern': '^\\d{2}\\/\\d{2}\\/\\d{4}$'}, 'trainer': {'type': 'string'}, 'category': {'type': 'string'}, 'startDate': {'type': 'string', 'pattern': '^\\d{2}\\/\\d{2}\\/\\d{4}$'}, 'includePast': {'type': 'boolean'}, 'onlyAvailable': {'type': 'boolean'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['header', 'classes'], 'properties': {'header': {'type': 'string'}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['idSchedule', 'title', 'trainer', 'studio', 'day', 'start', 'end', 'spotsLeft', 'capacity', 'isFull', 'waitlist', 'note', 'bookLink', 'description'], 'properties': {'day': {'type': 'string'}, 'end': {'type': 'string'}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'start': {'type': 'string'}, 'title': {'type': 'string'}, 'isFull': {'type': 'boolean'}, 'studio': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'trainer': {'type': 'string'}, 'bookLink': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'capacity': {'type': 'number'}, 'waitlist': {'type': 'number'}, 'spotsLeft': {'type': 'number'}, 'idSchedule': {'type': 'number'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
studio_info
KARVE studio info
Authoritative KARVE facts — pricing & passes, first-timer info, policies (women-only, grip socks, cancellation, age), hours, location and contact. Use instead of guessing.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Added
studio_info
Sept. 17, 2026, 12:54 p.m.
Added
class_detail
Sept. 17, 2026, 12:54 p.m.
Added
next_available
Sept. 17, 2026, 12:54 p.m.
Added
search_classes
Sept. 17, 2026, 12:54 p.m.