Skip to main content
Glama

Check a gym, clinic or race in AI answers

check_place_in_ai
Idempotent

Use this when the owner or manager of a gym, studio, sports clinic or race asks whether ChatGPT knows their place or race or recommends it, for example "does ChatGPT recommend my gym?", "what does AI say about my physio clinic in Austin?" or "does ChatGPT know our triathlon?". It asks OpenAI's model with web search two questions a customer or athlete would ask: about the place or race, and for the best of its kind in its city. It returns whether it was found, whether it was named among the best and who was named instead, which of five facts a customer needs were stated (where, hours, classes or treatments, prices, how to book; for a race: where it starts, race date, course, entry fee, how to register), the pages it cited, and a link to the full result. Prices are reported only as stated or not, and a fact counts as stated only when the answer gave it. It also returns a free next step: a link to claim the place on Phorme (for a race, the race organiser page). It takes up to a minute, reuses a check of the same place from the last week, and saves the result as a share page; it changes nothing about the place on Phorme. It is for owners and managers, not for rating a place for someone choosing where to go.

Input Schema

NameRequiredDescriptionDefault
cityYesThe city it is in (for a race, where it is held).
kindNoWhat kind of place it is, as a customer would search. Defaults to gyms.
placeYesThe gym, clinic or race's name, as the owner or organiser wrote it.

Output Schema

NameRequiredDescriptionDefault
cityNo
kindNo
factsYesEach fact a customer needs: fact, stated, value (null for prices).
placeNo
limitsYesWhat this check does not show. Tell the user.
sourcesNo
next_stepNoWhat the next step does, in one line.
checked_atNo
identifiedYesWhether ChatGPT found this specific place.
result_urlYesThe full result on gyms.phor.me. Share it.
facts_statedNo
named_insteadNoPlaces named instead, when it was not.
next_step_urlNoFree next step: claim the place on Phorme (a race: the organiser page). It names no price.
named_in_best_of_cityYesWhether it was named when asked for the best of its kind in the city.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / next_step
      Added value: +{
      +  "description": "What the next step does, in one line.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / next_step_url
      Added value: +{
      +  "description": "Free next step: claim the place on Phorme (a race: the organiser page). It names no price.",
      +  "type": "string"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / city / description
      Previous value: -"The city it is in."New value: +"The city it is in (for a race, where it is held)."
    • changedInput schema / properties / kind / enum
      Previous value: -[
      -  "gyms",
      -  "strength gyms",
      -  "CrossFit gyms",
      -  "HYROX gyms",
      -  "yoga studios",
      -  "pilates studios",
      -  "boxing gyms",
      -  "cycling studios",
      -  "climbing gyms",
      -  "physical therapy clinics",
      -  "sports medicine clinics",
      -  "chiropractors",
      -  "sports massage therapists",
      -  "recovery studios"
      -]New value: +[
      +  "gyms",
      +  "strength gyms",
      +  "CrossFit gyms",
      +  "HYROX gyms",
      +  "yoga studios",
      +  "pilates studios",
      +  "boxing gyms",
      +  "cycling studios",
      +  "climbing gyms",
      +  "physical therapy clinics",
      +  "sports medicine clinics",
      +  "chiropractors",
      +  "sports massage therapists",
      +  "recovery studios",
      +  "triathlons",
      +  "marathons",
      +  "half marathons",
      +  "HYROX races",
      +  "trail races"
      +]
    • changedInput schema / properties / place / description
      Previous value: -"The gym or clinic's name, as the owner wrote it."New value: +"The gym, clinic or race's name, as the owner or organiser wrote it."
  3. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the annotations: up-to-a-minute latency, reuse of a check from the last week, that the result is saved as a share page, that nothing about the place on Phorme is changed, and the 'free next step' claim link. These details reconcile with readOnlyHint=false and idempotentHint=true rather than contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the usage trigger and examples, then behavior and return values, so an agent can stop reading early. However it is a single dense paragraph of roughly ten sentences with some enumerative redundancy that could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with an output schema, the description still covers the essentials an agent needs: who it is for, what it consults, latency, caching, side effects, and the shape of the answer. Nothing required for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so place, city, and the kind enum are already documented. The description does clarify race-specific meaning ('where it starts', 'race date') and the customer-facing framing of kind, but adds no syntax or format guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific operation (asks OpenAI's model with web search two customer-like questions about a place or race) and enumerates precisely what it returns: found/not found, named among the best and who instead, five stated facts, cited pages, and a result link. This is clearly distinguishable from siblings like get_gym_report or claim_place.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger (owner or manager asking whether ChatGPT knows or recommends their place) with concrete example phrasings, and an explicit exclusion ('for owners and managers, not for rating a place for someone choosing where to go'). It stops short of naming a specific alternative sibling for the excluded case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.