v0.4.0 • Hosted endpoint: /mcp • Python package + MCP server

PureGym MCP server

puregym-mcp is a Python package and Model Context Protocol server for browsing PureGym centers in Denmark, discovering classes, checking your bookings, and managing bookings through MCP-compatible clients such as OpenCode, Claude Code, OpenClaw, or VS Code.

uvx puregym-mcp package_2 PyPI package

PureGym MCP is an independent third-party project and is not affiliated with, endorsed by, or sponsored by PureGym. PureGym is a registered trademark of Pure Gym Limited.

Quick demo of PureGym MCP in Mistral: upcoming bookings, class search, booking, and live occupancy checks.

Capabilities

The server exposes a compact set of tools for public class discovery and optional authenticated booking actions.

search Class discovery

Read-only tools available without PureGym credentials.

  • • get_capabilities
  • • list_class_types
  • • list_centers
  • • search_classes

event_available Booking management

Authenticated tools for your own account when credentials are configured.

  • • list_my_bookings
  • • book_class
  • • cancel_booking
  • • get_center_live_status
  • • get_center_open_hours

Modes

Anonymous mode is intended for public class discovery and exposes read-only tools with a 14-day search window.

Authenticated mode is enabled when PUREGYM_USERNAME and PUREGYM_PASSWORD are present. It unlocks booking tools and expands the default search window to 28 days.

Quickstart

The easiest path for most users today is local stdio usage from an MCP-compatible client:

opencode.json
{
  "mcp": {
    "puregym": {
      "enabled": true,
      "type": "local",
      "command": ["uvx", "puregym-mcp"],
      // optional environment variables for authenticated features
      "environment": {
        "PUREGYM_USERNAME": "your-username",
        "PUREGYM_PASSWORD": "your-password"
      }
    }
  }
}

Remote Deployment

The server supports remote deployment over both streamable-http and sse. This allows it to be exposed as a hosted MCP for remote clients and online LLM products that support custom MCP connections.

Public read-only endpoint

A non-authenticated read-only deployment is available at for class discovery only, no booking capabilities.

To deploy your own authenticated server with booking permissions, use the Bearer token configuration shown above and connect with MCP clients that support HTTP Bearer Token authentication.

Authentication available

HTTP transports now support Bearer token authentication. When deploying with streamable-http or sse, set MCP_AUTH_TOKEN alongside your PureGym credentials.

Connect from MCP clients using Simple Auth or HTTP Bearer Token. The token never expires—it's a static secret you control. Rotate it by restarting the server with a new value.

deploy server
export PUREGYM_USERNAME="[email protected]"
export PUREGYM_PASSWORD="your-password"
export MCP_AUTH_TOKEN="your-secret-bearer-token"

# Run on streamable HTTP
puregym-mcp --transport streamable-http --host 0.0.0.0 --port 8000 --streamable-http-path /mcp

# Or SSE
puregym-mcp --transport sse --host 0.0.0.0 --port 8000 --sse-path /sse --message-path /messages/

Or if you prefer Docker, clone the repo, and add the following `.env` and `compose.yml` files:

.env (never commit this)
[email protected]
PUREGYM_PASSWORD=your-password
MCP_AUTH_TOKEN=your-secret-bearer-token-min-32-chars-recommended
docker-compose.yml
services:
  puregym-mcp:
    build: .
    env_file:
      - .env
    ports:
      - "8000:8000"
    command:
      - --transport
      - streamable-http
      - --host
      - 0.0.0.0
      - --port
      - "8000"
      - --streamable-http-path
      - /mcp