Gymmy

Find gyms and studios, see classes and prices, and book with Gymmy.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
81%
Integridad del esquema
96%
Calidad de los nombres
92%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • LOWTool 'get_prices' description lacks action verben get_prices
  • LOWTool 'my_gyms' description lacks action verben my_gyms
  • LOWTool 'my_schedule' description lacks action verben my_schedule

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,805Tokens (definiciones de herramientas)
~1.1 KBTamaño de respuesta típico
Impacto moderado en la atención (1.41% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "gymmy": {
      "url": "https://hellogymmy.com/api/mcp"
    }
  }
}

Puntos de conexión remotos

https://hellogymmy.com/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_gyms(query, lat, lng, radius_km, activity, ...)

Find gyms and studios (CrossFit, HYROX, fitness, yoga, pilates, boxing, martial arts, dance) in France and Europe, near a point or by name, city or postcode. Gymmy gyms (onGymmy: true) can be booked; others are listed from OpenStreetMap, not bookable, with a claim link. Use the `gym` value with get_gym, get_schedule, get_prices or start_trial.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Gym name, address, district, city or postcode, e.g. 'Lyon', '12 rue Oberkampf Paris' or 'CrossFit Nantes'. Places are geocoded when no lat/lng is given."
    },
    "lat": {
      "type": "number",
      "description": "Latitude to search around."
    },
    "lng": {
      "type": "number",
      "description": "Longitude to search around."
    },
    "radius_km": {
      "type": "number",
      "description": "Radius in km, 1 to 50. Default: 10, or fitted to the geocoded place (3 for an address)."
    },
    "activity": {
      "type": "string",
      "enum": [
        "crossfit",
        "hyrox",
        "fitness",
        "yoga",
        "pilates",
        "boxing",
        "martial_arts",
        "dance",
        "climbing"
      ],
      "description": "Only this activity (studios not on Gymmy)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "description": "Max results. Default 10."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "additionalProperties": false
}
🟢get_gym(gym, locale)

Details of a Gymmy gym: description, address, opening hours, sites, how to book, page and join links.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gym": {
      "type": "string",
      "description": "Gym identifier: the `gym` value from search_gyms (page slug or Gymmy id)."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "required": [
    "gym"
  ],
  "additionalProperties": false
}
🟢get_schedule(gym, date, locale)

Upcoming classes of a Gymmy gym (next 14 days): time, duration, spots left, and a booking link with the class already picked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gym": {
      "type": "string",
      "description": "Gym identifier: the `gym` value from search_gyms (page slug or Gymmy id)."
    },
    "date": {
      "type": "string",
      "description": "Only this day (YYYY-MM-DD)."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "required": [
    "gym"
  ],
  "additionalProperties": false
}
🟢get_prices(gym, locale)

Memberships, class packs and trial offers of a Gymmy gym with prices in EUR and a direct sign-up link per offer.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gym": {
      "type": "string",
      "description": "Gym identifier: the `gym` value from search_gyms (page slug or Gymmy id)."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "required": [
    "gym"
  ],
  "additionalProperties": false
}
🟢start_trial(gym, class_id, date, locale)

Gives the link to book a trial class at a Gymmy gym, with the trial offer and optionally the class already picked. The person opens it and confirms with their name and email; nothing is booked or charged by this tool.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gym": {
      "type": "string",
      "description": "Gym identifier: the `gym` value from search_gyms (page slug or Gymmy id)."
    },
    "class_id": {
      "type": "string",
      "description": "Class id from get_schedule."
    },
    "date": {
      "type": "string",
      "description": "Class date (YYYY-MM-DD)."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "required": [
    "gym"
  ],
  "additionalProperties": false
}
🟢my_gyms(locale)

Gyms the signed-in Gymmy member belongs to.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "additionalProperties": false
}
🟢my_bookings(gym, locale)

The signed-in member's upcoming booked and waitlisted classes (next 2 weeks) at one of their Gymmy gyms.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gym": {
      "type": "string",
      "description": "Gymmy gym id (from my_gyms). Needed only if you belong to several gyms."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "additionalProperties": false
}
🟢my_schedule(gym, week, locale)

Classes at the signed-in member's gym for a week, with the class ids book_class needs, spots left and whether they are booked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gym": {
      "type": "string",
      "description": "Gymmy gym id (from my_gyms). Needed only if you belong to several gyms."
    },
    "week": {
      "type": "string",
      "description": "Any day of the week (YYYY-MM-DD). Default this week."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "additionalProperties": false
}
⚪book_class(class_id, date, gym, locale)

Books a class for the signed-in member with their own membership (or puts them on the waitlist when full, if the gym allows). Uses the gym's booking rules. No payment is taken here.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "class_id": {
      "type": "string",
      "description": "Class id (from my_schedule)."
    },
    "date": {
      "type": "string",
      "description": "Class date (YYYY-MM-DD)."
    },
    "gym": {
      "type": "string",
      "description": "Gymmy gym id (from my_gyms). Needed only if you belong to several gyms."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "required": [
    "class_id",
    "date"
  ],
  "additionalProperties": false
}
🔴cancel_booking(class_id, date, gym, locale)

Cancels the signed-in member's booking (or waitlist spot) for a class. The gym's cancellation deadline applies; a late cancel may count as used.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "class_id": {
      "type": "string",
      "description": "Class id (from my_schedule)."
    },
    "date": {
      "type": "string",
      "description": "Class date (YYYY-MM-DD)."
    },
    "gym": {
      "type": "string",
      "description": "Gymmy gym id (from my_gyms). Needed only if you belong to several gyms."
    },
    "locale": {
      "type": "string",
      "enum": [
        "fr",
        "en"
      ],
      "description": "Answer language. Default fr."
    }
  },
  "required": [
    "class_id",
    "date"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas