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 個工具