# GymFlexa Gym Management (remote · mcp.gymflexa.com)

See your gym's open slots, services, how busy each day is and your payment totals.

- Trust score: 89/100 (high trust)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-16

## Components

- remote · `mcp.gymflexa.com`: 89/100 (this document), [markdown](https://verifymcp.io/servers/com-gymflexa-gymflexa/mcp.md), [page](https://verifymcp.io/servers/com-gymflexa-gymflexa/mcp)

## Channel facts

- Endpoint: `https://mcp.gymflexa.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.1.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-16.

- **Endpoint Security**: 92/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2620 tokens (~238/item across 11 items; 7 tools + 4 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 70/100
  - Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### How do I install the GymFlexa Gym Management MCP server?

GymFlexa Gym Management is a hosted endpoint at https://mcp.gymflexa.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-gymflexa-gymflexa 'https://mcp.gymflexa.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-gymflexa-gymflexa": {
      "url": "https://mcp.gymflexa.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-gymflexa-gymflexa": {
      "type": "http",
      "url": "https://mcp.gymflexa.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-gymflexa-gymflexa]
url = "https://mcp.gymflexa.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-gymflexa-gymflexa": {
      "type": "remote",
      "url": "https://mcp.gymflexa.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-gymflexa-gymflexa --url 'https://mcp.gymflexa.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-gymflexa-gymflexa:
    url: "https://mcp.gymflexa.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-gymflexa-gymflexa": {
      "Transport": "http",
      "Url": "https://mcp.gymflexa.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-gymflexa-gymflexa -t streamable-http -u 'https://mcp.gymflexa.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-gymflexa-gymflexa": {
      "type": "http",
      "url": "https://mcp.gymflexa.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-16 (score 89, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-12 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 57. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-10 (score 86, +2)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 50. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-06 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 37. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-03 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-01 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-29 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (7)

### `list_gyms` (~109 tokens)

List your gyms

Use this when someone asks which gyms or studios they run in GymFlexa, or a gym's id is needed. Returns gyms with id, name, currency, default language and last edit time, alphabetical, 25 per page by default. Not for finding a member.

Input parameters:

- `cursor` (string): The nextCursor of the previous page of this listing; absent for the first page
- `limit` (integer): Maximum number of gyms to return (default 25, maximum 100)

Output parameters:

- `gyms` (array): Gyms in the signed-in organization, alphabetical. Organization, address, contact, billing, integration and member data are never returned.
- `hasMore` (boolean)
- `nextCursor`: Cursor for the next page; null on the last page

### `get_gym` (~89 tokens)

Get gym opening hours and settings

Use this when someone asks for one gym's opening hours, timezone, currency or default session length. Returns the gym's scheduling settings with up to 14 opening-hour rows, Monday first; an id outside the organization returns not-found. Not for free session slots.

Input parameters:

- `gymId` (string, required): Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)

Output parameters:

- `gym`: Scheduling settings of the gym; null when not found. Address, phone, website, organization, billing, integrations, reminders, members and arbitrary metadata are excluded.
- `status` (string)

### `get_gym_availability` (~116 tokens)

Find free session slots

Use this when someone asks when their gym has free slots or openings for a class or session, or which coming days are fully booked. Returns, per day, how many online-booking slots are open plus the first start and last end time, for the next 14 days that have openings, so a skipped day has none (no member or trainer names). Not for booking a session.

Input parameters:

- `gymId` (string, required): Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)

Output parameters:

- `availableDayCount` (integer)
- `availableSlotCount` (integer)
- `days` (array): 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 nev…
- `timezone`

### `get_gym_schedule_summary` (~175 tokens)

Count bookings per day

Use this when someone asks how busy their gym is or how many appointments or sessions are booked each day, past or upcoming. Returns booking counts per UTC day for one gym, whatever their status, for any window of at most 31 days (the next 7 by default); counting stops at 100. Not for counting cancellations or seeing which members are booked.

Input parameters:

- `endTime` (string): 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
- `gymId` (string, required): Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)
- `startTime` (string): Start of the range as an ISO 8601 date-time; defaults to now

Output parameters:

- `days` (array): 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 ret…
- `range` (object)
- `recordCount` (integer)
- `recordCountIsLowerBound` (boolean): True when more than 100 bookings fall in the range

### `get_gym_payment_summary` (~196 tokens)

Summarize gym takings

Use this when someone asks how much their gym took in, or how many payments succeeded, failed or were canceled. Returns payment counts by status and totals by currency; totals include every status. Covers up to 31 days and 100 payments and defaults to the next 7 days, which hold no payments yet. Not for moving money: it cannot charge, refund or transfer.

Input parameters:

- `endTime` (string): 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
- `gymId` (string, required): Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)
- `startTime` (string): 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

Output parameters:

- `range` (object)
- `recordCount` (integer)
- `recordCountIsLowerBound` (boolean)
- `statuses` (array): Payment counts per status, such as SUCCEEDED, FAILED, CANCELED or OTHER
- `totals` (array): 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…
- `totalsArePartial` (boolean): True when more than 100 payments fall in the range or any returned amount is missing or invalid

### `list_services` (~130 tokens)

Look up class and service prices

Use this when someone asks what their gym charges for a class, personal training session or other service. Returns catalog service names with price and last edit time for one gym, alphabetical, 25 per page by default. Not for what a particular member bought or attended.

Input parameters:

- `cursor` (string): The nextCursor of the previous page of this listing; absent for the first page
- `gymId` (string, required): Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)
- `limit` (integer): Maximum services to return (default 25, maximum 100)

Output parameters:

- `hasMore` (boolean)
- `nextCursor`: Cursor for the next page; null on the last page
- `services` (array): Service catalog entries, alphabetical. Service ids, member history, notes, staff commissions, organization ids and arbitrary metadata are excluded.

### `show_gym_overview` (~109 tokens)

Show gym overview

Use this when someone wants a quick overview or dashboard of one gym. Returns an overview card with the gym's details, booking counts for the next 7 days, open online-booking slots across up to 14 days with openings and up to 12 services with prices (no member, trainer or payment data). Not for a single member or booking.

Input parameters:

- `gymId` (string, required): Id of one of the user's gyms, as the gym list returns it (24 lowercase hex characters)

Output parameters:

- `appointmentCount` (integer)
- `appointmentCountIsLowerBound` (boolean)
- `availabilityDays` (array)
- `availableDayCount` (integer)
- `availableSlotCount` (integer)
- `gym`: 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 detail…
- `scheduleDays` (array)
- `scheduleRange` (object)
- `serviceCount` (integer)
- `serviceCountIsLowerBound` (boolean)
- `services` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-gymflexa-gymflexa/mcp#diagnostics

## Score history

- 2026-10-16: 89
- 2026-10-15: 88
- 2026-10-14: 88
- 2026-10-13: 87
- 2026-10-12: 87
- 2026-10-10: 86
- 2026-10-06: 84
- 2026-10-04: 83
- 2026-10-03: 83
- 2026-10-02: 82
- 2026-10-01: 82
- 2026-09-30: 81
- 2026-09-29: 81
- 2026-09-28: 80
- 2026-09-27: 80
- 2026-09-26: 79
- 2026-09-25: 79

## Common questions

### What is the GymFlexa Gym Management MCP server?

GymFlexa Gym Management is an MCP server listed in the public MCP registry as com.gymflexa/gymflexa. See your gym's open slots, services, how busy each day is and your payment totals. This page covers its hosted endpoint (https://mcp.gymflexa.com/mcp).

### Is the GymFlexa Gym Management MCP server safe to use?

GymFlexa Gym Management scores 89 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the GymFlexa Gym Management MCP server expose?

GymFlexa Gym Management exposes 7 tools: list_gyms, get_gym, get_gym_availability, get_gym_schedule_summary, get_gym_payment_summary, and 2 more. Their descriptions and schemas cost roughly 924 tokens of context every time the server is loaded.

### Does the GymFlexa Gym Management MCP server require authentication?

Yes. GymFlexa Gym Management asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the GymFlexa Gym Management MCP server still maintained?

GymFlexa Gym Management is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.gymflexa.com/mcp
- Website: https://www.gymflexa.com/developers/#mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-gymflexa-gymflexa/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-gymflexa-gymflexa/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-gymflexa-gymflexa/mcp
