GymFlexa Gym Management
Was dieses MCP kann
Provides tenant-scoped gym configuration, service catalogs, availability, schedule counts, and aggregated payment summaries.
Tools
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gymId'], 'properties': {'gymId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': "Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)"}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'gym'], 'properties': {'gym': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'currency', 'defaultLocale', 'timezone', 'countryCode', 'firstDayOfTheWeek', 'appointmentDuration', 'openingHours', 'lastEditTime'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'type': 'string', 'maxLength': 200}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}]}, 'timezone': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}]}, 'countryCode': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{2}$'}, {'type': 'null'}]}, 'lastEditTime': {'anyOf': [{'type': 'string', 'maxLength': 32}, {'type': 'null'}]}, 'openingHours': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'open', 'close'], 'properties': {'day': {'enum': ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 'type': 'string'}, 'open': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}]}, 'close': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 14}, 'defaultLocale': {'anyOf': [{'type': 'string', 'maxLength': 16}, {'type': 'null'}]}, 'firstDayOfTheWeek': {'anyOf': [{'enum': ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 'type': 'string'}, {'type': 'null'}]}, 'appointmentDuration': {'type': ['number', 'null'], 'description': 'Default session length in minutes'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Scheduling settings of the gym; null when not found. Address, phone, website, organization, billing, integrations, reminders, members and arbitrary metadata are excluded.'}, 'status': {'enum': ['found', 'not-found'], 'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gymId'], 'properties': {'gymId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': "Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)"}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['timezone', 'availableDayCount', 'availableSlotCount', 'days'], 'properties': {'days': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'slotCount', 'firstStartTime', 'lastEndTime'], 'properties': {'day': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'slotCount': {'type': 'integer', 'minimum': 0}, 'lastEndTime': {'anyOf': [{'type': 'string', 'maxLength': 32}, {'type': 'null'}]}, 'firstStartTime': {'anyOf': [{'type': 'string', 'maxLength': 32}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 14, 'description': "One row per day with open online-booking slots inside the gym's booking window, in date order. Slot counts and times only; members, appointments, trainers and the reason a time is unavailable are never exposed."}, 'timezone': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}]}, 'availableDayCount': {'type': 'integer', 'minimum': 0}, 'availableSlotCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gymId'], 'properties': {'gymId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': "Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)"}, 'endTime': {'type': 'string', 'maxLength': 32, 'description': 'End of the range as an ISO 8601 date-time, after startTime and at most 31 days later; defaults to 7 days after the start'}, 'startTime': {'type': 'string', 'maxLength': 32, 'description': 'Start of the range as an ISO 8601 date-time, matched against when each payment was recorded; defaults to now, so pass a past date for past takings'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['range', 'recordCount', 'recordCountIsLowerBound', 'totalsArePartial', 'totals', 'statuses'], 'properties': {'range': {'type': 'object', 'required': ['startTime', 'endTime'], 'properties': {'endTime': {'type': 'string', 'maxLength': 32}, 'startTime': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['currency', 'amount'], 'properties': {'amount': {'type': 'number'}, 'currency': {'type': 'string', 'pattern': '^(?:[A-Z]{3}|UNSPECIFIED)$'}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Amount totals per currency, summed over every status including FAILED and CANCELED payments. Payment and member ids, processor or card data, contacts, notes, discounts, decline reasons, services and individual transactions are never returned.'}, 'statuses': {'type': 'array', 'items': {'type': 'object', 'required': ['status', 'count'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'status': {'type': 'string', 'pattern': '^[A-Z0-9_-]{1,48}$'}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Payment counts per status, such as SUCCEEDED, FAILED, CANCELED or OTHER'}, 'recordCount': {'type': 'integer', 'minimum': 0}, 'totalsArePartial': {'type': 'boolean', 'description': 'True when more than 100 payments fall in the range or any returned amount is missing or invalid'}, 'recordCountIsLowerBound': {'type': 'boolean'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gymId'], 'properties': {'gymId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': "Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)"}, 'endTime': {'type': 'string', 'maxLength': 32, 'description': 'End of the range as an ISO 8601 date-time, after startTime and at most 31 days later; defaults to 7 days after the start'}, 'startTime': {'type': 'string', 'maxLength': 32, 'description': 'Start of the range as an ISO 8601 date-time; defaults to now'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['range', 'recordCount', 'recordCountIsLowerBound', 'days'], 'properties': {'days': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'count'], 'properties': {'day': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'One row per UTC day that has bookings, canceled ones included. Aggregate counts only: appointment ids and times, member information, services, notes, trainer data and attendance history are never returned.'}, 'range': {'type': 'object', 'required': ['startTime', 'endTime'], 'properties': {'endTime': {'type': 'string', 'maxLength': 32}, 'startTime': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}, 'recordCount': {'type': 'integer', 'minimum': 0}, 'recordCountIsLowerBound': {'type': 'boolean', 'description': 'True when more than 100 bookings fall in the range'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Maximum number of gyms to return (default 25, maximum 100)', 'exclusiveMinimum': 0}, 'cursor': {'type': 'string', 'maxLength': 4096, 'description': 'The nextCursor of the previous page of this listing; absent for the first page'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gyms', 'hasMore', 'nextCursor'], 'properties': {'gyms': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'currency', 'defaultLocale', 'lastEditTime'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'type': 'string', 'maxLength': 200}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}]}, 'lastEditTime': {'anyOf': [{'type': 'string', 'maxLength': 32}, {'type': 'null'}]}, 'defaultLocale': {'anyOf': [{'type': 'string', 'maxLength': 16}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Gyms in the signed-in organization, alphabetical. Organization, address, contact, billing, integration and member data are never returned.'}, 'hasMore': {'type': 'boolean'}, 'nextCursor': {'anyOf': [{'type': 'string', 'maxLength': 4096}, {'type': 'null'}], 'description': 'Cursor for the next page; null on the last page'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gymId'], 'properties': {'gymId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': "Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)"}, 'limit': {'type': 'integer', 'maximum': 100, 'description': 'Maximum services to return (default 25, maximum 100)', 'exclusiveMinimum': 0}, 'cursor': {'type': 'string', 'maxLength': 4096, 'description': 'The nextCursor of the previous page of this listing; absent for the first page'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['services', 'hasMore', 'nextCursor'], 'properties': {'hasMore': {'type': 'boolean'}, 'services': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'price', 'lastEditTime'], 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'price': {'type': ['number', 'null'], 'description': "Price in the gym's currency"}, 'lastEditTime': {'anyOf': [{'type': 'string', 'maxLength': 32}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Service catalog entries, alphabetical. Service ids, member history, notes, staff commissions, organization ids and arbitrary metadata are excluded.'}, 'nextCursor': {'anyOf': [{'type': 'string', 'maxLength': 4096}, {'type': 'null'}], 'description': 'Cursor for the next page; null on the last page'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['gymId'], 'properties': {'gymId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': "Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)"}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['gym', 'scheduleRange', 'appointmentCount', 'appointmentCountIsLowerBound', 'scheduleDays', 'serviceCount', 'serviceCountIsLowerBound', 'services', 'availableDayCount', 'availableSlotCount', 'availabilityDays'], 'properties': {'gym': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'currency', 'defaultLocale', 'timezone'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'type': 'string', 'maxLength': 200}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}]}, 'timezone': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}]}, 'defaultLocale': {'anyOf': [{'type': 'string', 'maxLength': 16}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Gym metadata; null when not found. The overview never reads or returns member records, individual appointments or payments, attendance or service history, trainers, notes or health and fitness details.'}, 'services': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'price', 'lastEditTime'], 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'price': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'lastEditTime': {'anyOf': [{'type': 'string', 'maxLength': 32}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 12}, 'scheduleDays': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'count'], 'properties': {'day': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 100}, 'serviceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'scheduleRange': {'type': 'object', 'required': ['startTime', 'endTime'], 'properties': {'endTime': {'type': 'string', 'maxLength': 32}, 'startTime': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}, 'appointmentCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'availabilityDays': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'count'], 'properties': {'day': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 14}, 'availableDayCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'availableSlotCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'serviceCountIsLowerBound': {'type': 'boolean'}, 'appointmentCountIsLowerBound': {'type': 'boolean'}}, 'additionalProperties': False}
Letzte Tool-Änderungen
Ähnliche MCP-Server
AdButler
Manages AdButler advertisers, campaigns, ad items, audiences, zones, creatives, catalogs, and advertising reports.
Duvo MCP
Provides governed retail and CPG operations for cases, queues, approvals, automations, process documentation, integrations, and a…
Lovie Company Formation
Supports company formation and business administration with bank accounts, cards, invoicing, bookkeeping, accounting periods, and…
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…