What this MCP does
Supports organizing padel matches and tournaments, finding clubs and coaches, joining matches, booking lessons and generating Americano schedules.
Tools
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['handle', 'token', 'startsAt'], 'properties': {'token': {'type': 'string', 'maxLength': 64, 'minLength': 8, 'description': "The student's personal token (from request_coach or any earlier call). The coach must have accepted them."}, 'handle': {'type': 'string', 'maxLength': 40, 'minLength': 2, 'description': "The coach's handle from their page URL, e.g. 'olga' in kicksma.sh/c/olga."}, 'startsAt': {'type': 'string', 'minLength': 10, 'description': 'A start from coach_slots, ISO 8601.'}}}
Input schema
{'type': 'object', 'required': ['lessonId', 'token'], 'properties': {'token': {'type': 'string', 'maxLength': 64, 'minLength': 8, 'description': "The student's personal token."}, 'lessonId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'The lesson id from book_lesson.'}}}
Input schema
{'type': 'object', 'required': ['handle'], 'properties': {'days': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'How many days ahead, default 14.'}, 'handle': {'type': 'string', 'maxLength': 40, 'minLength': 2, 'description': "The coach's handle from their page URL, e.g. 'olga' in kicksma.sh/c/olga."}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Who or what will use the key.'}, 'agent': {'type': 'string', 'maxLength': 80, 'description': "Your name as an assistant, e.g. 'claude'."}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}}}
Input schema
{'type': 'object', 'required': ['startsAt', 'tz', 'organizer'], 'properties': {'tz': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'IANA time zone the players live in, for example Asia/Singapore or Asia/Bangkok.'}, 'cost': {'type': 'string', 'maxLength': 40, 'description': 'What each player pays, as free text: 400 THB, €8, split 4 ways.'}, 'note': {'type': 'string', 'maxLength': 500}, 'type': {'enum': ['match', 'tournament'], 'type': 'string', 'default': 'match', 'description': 'A match is exactly four players. A tournament is an americano with 4 to 64 players in fours.'}, 'court': {'type': 'string', 'maxLength': 40, 'description': 'Court within the venue, e.g. "3".'}, 'title': {'type': 'string', 'maxLength': 80}, 'venue': {'type': 'string', 'maxLength': 80, 'description': 'Club or court name. Enables the venue board and the booking link.'}, 'format': {'enum': ['americano', 'mexicano', 'king'], 'type': 'string', 'description': 'Tournaments only. americano: partners rotate, everyone plays everyone. mexicano: courts by standings after round 1. king: winners move up a court, losers down.'}, 'gamesTo': {'type': 'integer', 'maximum': 12, 'minimum': 2, 'description': 'Tournaments only: first to N games (4, 6, 8) instead of points; the table then ranks by matches won.'}, 'capacity': {'type': 'integer', 'maximum': 64, 'minimum': 4, 'description': 'Tournaments only, a multiple of 4. Matches are always 4.'}, 'levelMax': {'anyOf': [{'type': 'number', 'maximum': 7, 'minimum': 0}, {'type': 'null'}]}, 'levelMin': {'anyOf': [{'type': 'number', 'maximum': 7, 'minimum': 0}, {'type': 'null'}], 'description': 'Level range 0 to 7 (Playtomic-style). Omit both for any level.'}, 'startsAt': {'type': 'string', 'maxLength': 40, 'minLength': 10, 'description': 'ISO 8601 date-time. With an offset or Z it is absolute; without one it is read in tz. Example: 2026-09-11T19:00'}, 'whenFull': {'enum': ['waitlist', 'closed'], 'type': 'string', 'default': 'waitlist'}, 'organizer': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'First name is enough.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Optional. Gets the organizer link and calendar invite by email.'}, 'level': {'type': 'number', 'maximum': 7, 'minimum': 0}, 'token': {'type': 'string', 'maxLength': 64, 'minLength': 8, 'description': 'Personal token of an existing Kicksmash player, returned by earlier calls, so the same person organizes again.'}}}, 'bookingUrl': {'type': 'string', 'format': 'uri', 'maxLength': 500, 'description': "The club's booking page or confirmation link, shown to players."}, 'venueMapUrl': {'type': 'string', 'format': 'uri', 'maxLength': 500}, 'organizerPlays': {'type': 'boolean', 'default': True, 'description': 'Seat the organizer in the match (default). False when they only organize.'}, 'pointsPerMatch': {'type': 'integer', 'maximum': 99, 'minimum': 4, 'description': 'Tournaments only: fixed points per match (16, 21, 24, 32). Omit for free scoring; mexicano defaults to 24.'}, 'durationMinutes': {'enum': [60, 90, 120], 'type': 'number', 'description': 'How long the court is booked: 60, 90 or 120 minutes. Omit for 90 (a match) or 120 (a tournament). The match page, the cards and the calendar invitation show it.'}, 'listOnVenueBoard': {'type': 'boolean', 'default': False, 'description': 'Show the match on the public venue board (/v/{venue-slug}). Off by default.'}, 'verifiedLevelsOnly': {'type': 'boolean', 'default': False, 'description': 'With a range: only levels confirmed by an organizer, a coach or a club walk in; declared levels inside the range ask to join.'}}}
Input schema
{'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 40, 'description': 'phuket or singapore'}, 'name': {'type': 'string', 'maxLength': 80, 'description': 'One club by name; the slug is derived'}, 'include': {'enum': ['claimed', 'listed'], 'type': 'string', 'description': 'claimed (default): only clubs that run their own page. listed: also the clubs Kicksmash listed from public sources, each marked claimed:false.'}}}
Input schema
{'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 40, 'description': 'phuket or singapore; omit for every listed coach'}}}
Input schema
{'type': 'object', 'required': ['venue'], 'properties': {'venue': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': "Venue name or its slug, e.g. 'Padel Indoor BCN' or 'padel-indoor-bcn'."}}}
Input schema
{'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 40, 'description': 'phuket or singapore; omit for every active series'}, 'slug': {'type': 'string', 'maxLength': 60, 'description': 'One series by slug: its next edition and past podiums'}}}
Input schema
{'type': 'object', 'properties': {'seed': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Same seed, same schedule.'}, 'names': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 64, 'minItems': 4}, 'courts': {'type': 'integer', 'maximum': 16, 'minimum': 1, 'description': 'Defaults to floor(players / 4).'}, 'format': {'enum': ['americano'], 'type': 'string', 'default': 'americano'}, 'rounds': {'type': 'integer', 'maximum': 40, 'minimum': 1, 'description': 'Defaults to players − 1 when the field is in fours (every pair partners once), else players.'}, 'players': {'type': 'integer', 'maximum': 64, 'minimum': 4, 'description': 'Number of players; ignored when names are given.'}}}
Input schema
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'maxLength': 6, 'minLength': 4, 'description': 'The code from the link.'}}}
Input schema
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'maxLength': 6, 'minLength': 4, 'description': 'The code from the link.'}}}
Input schema
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'maxLength': 4, 'minLength': 4, 'description': 'The 4-character match code from the link, e.g. kicksma.sh/AB12 → AB12.'}, 'name': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'Required unless token is given.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Optional. Sends a calendar invite that updates itself.'}, 'level': {'type': 'number', 'maximum': 7, 'minimum': 0, 'description': 'Needed once when the match has a level range and the player has no level yet.'}, 'token': {'type': 'string', 'maxLength': 64, 'minLength': 8, 'description': 'Personal token of an existing player.'}}}
Input schema
{'type': 'object', 'required': ['handle'], 'properties': {'name': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': "The student's first name. Required unless token is given."}, 'token': {'type': 'string', 'maxLength': 64, 'minLength': 8, 'description': 'Personal token of an existing Kicksmash player.'}, 'handle': {'type': 'string', 'maxLength': 40, 'minLength': 2, 'description': "The coach's handle from their page URL, e.g. 'olga' in kicksma.sh/c/olga."}}}
Recent tool changes
Similar MCP servers
Asterwise
Provides Vedic and Western astrology, numerology, tarot, dream-symbol, crystal, compatibility, and related esoteric calculations …
Vedic Astrology and Kundli MCP Server by RoxyAPI
Calculates and explains Vedic astrology charts, planetary positions, dashas, nakshatras, yogas, doshas, aspects, compatibility, a…
Sahadeva
Calculates and analyzes Vedic astrology charts, compatibility, dashas, transits, yogas, remedies, and evidence or readiness check…
tollbooth-sample
Provides current, forecast, and historical weather data alongside Lightning-based usage credits, pricing, coupons, balances, and …
Thesportsdb
Provides sports catalog and match data, including teams, players, leagues, schedules, standings, lineups, timelines, scores, and …
Rescuegroups
Searches adoptable animals, breeds, rescues, shelters, and organization details from RescueGroups.org.
Recipes
Provides meal and recipe discovery by ingredient, random selection, and detailed cooking instructions.
F1
Provides Formula 1 schedules, race results, driver profiles, and current championship standings.