GymFlexa Gym Management
Qué hace este MCP
Provides tenant-scoped gym configuration, service catalogs, availability, schedule counts, and aggregated payment summaries.
Herramientas
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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)"}}}
Esquema de salida
{'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}
Cambios recientes en herramientas
Servidores MCP similares
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…