Gymmy

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

我该使用它吗

质量与安全性

A
描述质量
81%
模式完整度
96%
命名质量
92%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(3)

  • LOWTool 'get_prices' description lacks action verb在 get_prices 中
  • LOWTool 'my_gyms' description lacks action verb在 my_gyms 中
  • LOWTool 'my_schedule' description lacks action verb在 my_schedule 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,805token 数(工具定义)
~1.1 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.41%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(10)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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
}

社区

评价此服务器

证据

最近观测

已验证未记录版本10 个工具