API Tools
gymflexa.com
An MCP server that exposes GymFlexa gym management APIs to list gyms, check availability and schedules, and summarize payment data.
ENDPOINT 1
https://mcp.gymflexa.com/mcp
MCP server metadata
- Name
- gymflexa-mcp
- Version
- 0.1.1
# Safe gym operations with GymFlexa This skill drives the GymFlexa MCP connector. The user must connect GymFlexa and authorize an account with live access to the intended organization. If authorization fails, ask the user to connect GymFlexa. Never request, embed, or repeat an API key, password, OAuth token, payment credential, or webhook secret. ## Read-only administrative boundary Every available tool is read-only, idempotent, tenant-scoped, bounded, and closed-world. The connector cannot create, edit, book, reschedule, cancel, delete, message, charge, refund, retry, settle, transfer, or move funds. It cannot provide workout, nutrition, medical, insurance, employment, credit, eligibility, or another individualized or high-impact recommendation. Do not imply that a read changed GymFlexa. For a requested change, offer a relevant safe inspection and direct the authorized operator to first-party controls. ## Resource identifiers and tenant checks `gymId` is the only exposed record identifier. It must be an exact lowercase 24-character hex id returned by `list_gyms`. It selects one gym owned by the signed-in user's organization and scopes every follow-up read. Never guess an id, treat an opaque id as authority, or reuse one from another organization. Malformed and cross-tenant ids fail closed. The availability API is also used by GymFlexa's public booking page. The connector must finish its tenant-owned gym lookup before calling that route. If ownership cannot be proved, stop; never use public availability as a cross-tenant fallback. ## Available tools | Tool | Use it when someone asks… | | -------------------------- | ---------------------------------------------------------------------------------------- | | `list_gyms` | which gyms they run; also resolves the gym id every other tool needs | | `get_gym` | for a gym's opening hours, timezone, currency or session length | | `get_gym_availability` | when there are free session slots, or which coming days are fully booked (up to 14 days) | | `get_gym_schedule_summary` | how busy each UTC day is, past or upcoming (booking counts, at most 31 days) | | `get_gym_payment_summary` | how much was taken in, by status and currency (at most 31 days) | | `list_services` | what a class, personal training session or other service costs | | `show_gym_overview` | for a one-card overview of one gym | `list_gyms` and `list_services` use opaque cursors and accept a maximum page of 100. Report `hasMore` and reuse `nextCursor`; never claim completeness when more pages exist. A cursor is query-bound and must not be reused for another gym. Both summary tools inspect at most 101 source records, return at most 100, and mark `recordCountIsLowerBound` when more exist. Their default range starts now and runs seven days forward, and their maximum is 31 days; pass explicit past dates for past payments or past workload. The overview counts at most 100 scheduled records, previews 12 services, and examines at most 14 availability days. A displayed `+` count is a lower bound, not an estimate of the total. ## Privacy boundary Safe results may include owned gym ids and display metadata; safe locale, currency, timezone and opening hours; public bookable-capacity summaries; service-catalog names/prices; UTC-day aggregate schedule counts; aggregate recorded payment statuses/totals; and no member-derived metric. The connector intentionally cannot expose: - member names, ids, email, phone, address, language, profile, arbitrary fields, attendance, workout, service or payment history; - links among members, appointments, services or payments; - individual appointment ids, exact booked times, statuses, services or notes; - trainer/staff identity, contact, schedule, commission or performance data; - individual payment ids or amounts, services, discounts, notes, decline reasons, processor/customer ids, cardholder data, credentials or errors; - gym contact/address, organization internals, billing/trial state, integrations, reminders, webhooks or arbitrary upstream documents; or - raw upstream errors, secrets, logs, files or conversation history. Do not infer, reconstruct, request, or ask the user to paste excluded fields. Offer safe configuration, capacity, catalog, aggregate schedule/payment, or first-party-dashboard alternatives. The overview never queries member records. Schedule and payment tools request only minimum fields for immediate aggregation and expose no person-linked record, identifier, exact booked time, or individual payment. ## Configuration and capacity audit 1. Use `list_gyms` unless the exact owned gym id is already available. 2. Call `get_gym` for timezone, opening hours and configured duration. 3. Call `get_gym_availability`. It follows the gym's own online-booking window (by default from two hours ahead to six months ahead) and returns the first 14 days that have openings. 4. Compare configured hours with daily slot counts and first/last bookable times. Do not extrapolate beyond the days it returns or infer why time is unavailable. Bookable availability times are administrative capacity, not an individual's booked appointment. The schedule summary deliberately does not return exact booked times. ## Schedule audit Use `get_gym_schedule_summary` with an explicit bounded range when the user's dates matter. It groups source `startTime` values by UTC calendar day, then discards each value. State that the day basis is UTC, that canceled bookings are counted, and that the count may be a lower bound. Never infer member identity, attendance, trainer assignment, service, status, or workload cause from a count. `show_gym_overview` uses a fixed seven-day schedule range and renders safe aggregate metrics without querying members. Avoid restating every number if a concise operational observation or next safe check answers the user. ## Catalog and recorded-payment audit Use `list_services` for catalog names and prices. A catalog price is configuration, not proof of a final charge or member purchase. Use `get_gym_payment_summary` only for aggregate administrative status. It returns status counts and amount totals by currency, never an individual row. The currency totals add every status, FAILED and CANCELED included, so they are not the amount actually collected; say so, and use the status counts to show how many payments succeeded. When `totalsArePartial` is true, say that totals cover only the bounded source records and must not be treated as the gym's full total. Recorded status is not independent proof of bank settlement. The connector cannot charge, refund, retry, settle, transfer, or otherwise move funds.
Known tools 7
list_gymsUse this when someone asks which gyms or studios they run in GymFlexa, or a gym's id is needed.
Inferred read-onlyget_gymUse this when someone asks for one gym's opening hours, timezone, currency or default session length.
Inferred read-onlyget_gym_availabilityUse this when someone asks when their gym has free slots or openings for a class or session, or which coming days are fully booked.
Inferred read-onlyget_gym_schedule_summaryUse this when someone asks how busy their gym is or how many appointments or sessions are booked each day, past or upcoming.
Inferred read-onlyget_gym_payment_summaryUse this when someone asks how much their gym took in, or how many payments succeeded, failed or were canceled.
Inferred read-onlylist_servicesUse this when someone asks what their gym charges for a class, personal training session or other service.
Inferred read-onlyshow_gym_overviewUse this when someone wants a quick overview or dashboard of one gym.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.gymflexa-mcp]
url = "https://mcp.gymflexa.com/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"gymflexa-mcp": {
"type": "http",
"url": "https://mcp.gymflexa.com/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: gymflexa-mcp
Remote MCP URL: https://mcp.gymflexa.com/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"gymflexa-mcp": {
"url": "https://mcp.gymflexa.com/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"gymflexa-mcp": {
"type": "http",
"url": "https://mcp.gymflexa.com/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "gymflexa-mcp",
"transport": "streamable-http",
"url": "https://mcp.gymflexa.com/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
ENDPOINT 2
https://www.gymflexa.com/en
MCP server metadata
- Name
- WebMCP
Known tools 1
get_gymflexa_agent_resourcesReturn official GymFlexa documentation, pricing, privacy, authentication, and MCP URLs without reading gym, member, appointment, or payment data.
Potential side effectsCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.webmcp]
url = "https://www.gymflexa.com/en"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"webmcp": {
"type": "http",
"url": "https://www.gymflexa.com/en"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: webmcp
Remote MCP URL: https://www.gymflexa.com/en
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"webmcp": {
"url": "https://www.gymflexa.com/en"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"webmcp": {
"type": "http",
"url": "https://www.gymflexa.com/en"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "webmcp",
"transport": "streamable-http",
"url": "https://www.gymflexa.com/en"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.