AI
Connect ChatGPT to your gym data
GYMSNA runs a remote MCP server that ChatGPT can use as a custom MCP server. Once connected, ChatGPT reads your live gym data - bookings, attendance, revenue, members, trainers and classes - and you ask questions in plain English on your own ChatGPT plan. It is read-only: ChatGPT can analyse your gym but cannot change it. It is the same server the Claude connector uses.
Which ChatGPT plans can connect
OpenAI limits custom MCP servers by plan, and those limits apply to GYMSNA like any other server. As of October 2026:
| ChatGPT plan | Custom MCP servers |
| Business | Yes. A workspace admin or owner adds the server; members then connect their own GYMSNA account. |
| Enterprise and Edu | Yes. Admins add it, and can grant other members permission to create servers. |
| Pro | Read and fetch access only. GYMSNA provides the search and fetch tools this mode uses, so it works. |
| Free, Go, Plus | Not available. Custom servers cannot be added on these plans. Use Claude (any paid plan) or the in-dashboard Ask AI instead. |
Web only. OpenAI currently restricts adding and using custom MCP servers to ChatGPT on the web. The menu names also change often (Connectors, Developer mode, Apps, Plugins have all been used). Look for Add custom MCP server.
Before you start
- A GYMSNA gym with an owner or manager login. Front-desk staff accounts do not have access to the Adviser area and cannot connect.
- A ChatGPT plan from the table above. On Business, Enterprise and Edu you need an admin to do the first step.
- Nothing to install and no token to copy: you authorise by signing in to GYMSNA.
Set up in ChatGPT
- Open the custom server screen. In ChatGPT on the web, as a workspace admin, find Add custom MCP server. In older builds it is under Settings › Connectors › Advanced after turning on Developer mode; in newer builds it is under the + button in the chat box, then Plugins.
- Add GYMSNA. Name it GYMSNA, paste
https://gymsna.com/api/mcp/v1 as the server URL, and choose OAuth for authentication. Leave client ID and secret blank: ChatGPT identifies itself to GYMSNA automatically. Tick the acknowledgement that you trust this server and click Create.
- Authorise. Click Connect. You will be sent to GYMSNA to sign in and approve read access for your gym. Use the same account you use for the dashboard. If you manage several gyms, the gym you are currently switched to in the dashboard is the one that gets connected.
- Ask. Start a new chat, click +, switch GYMSNA on for the conversation, and ask anything about your gym.
Business, Enterprise and Edu: the admin's step 2 publishes the server to the workspace. Each member then finds GYMSNA in their own connectors list and repeats step 3 with their own GYMSNA login, so everyone sees only the gym they have access to.
Example questions
Each of these exercises a different tool, so they are a good way to check the connection works.
- "Break down last month's revenue by channel and tell me which products drove it." (revenue breakdown)
- "Which classes had the lowest fill rate in the last 8 weeks, and what day and time do they run?" (capacity utilisation)
- "Who has a pack with credits left but has not booked in three weeks?" (at-risk members)
- "Compare each trainer's attendance and repeat-booking rate this quarter." (trainer performance)
- "How many people joined the waitlist for Tuesday 6pm HIIT and how many got a place?" (waitlist analytics)
- "Show me my top 20 attendees this year and how they pay." (top attendees, member profile)
In ChatGPT's research modes, which only use search and fetch, ask the same way: search turns your question into the right report and date range, fetch runs it. Mention the period you want ("last 90 days", "last month", "this year"); without one, reports cover the last 30 days.
What the connector can see
| Area | What ChatGPT can read |
| Revenue | Totals, daily trends, product and channel splits, partner (ClassPass, Wellhub) estimates, your revenue notes and manual ledger entries |
| Bookings and attendance | Bookings, attendance, no-shows, cancellations, waitlists, capacity per class and time slot |
| Members | Names, contact details, membership and pack status, booking history, new-member and churn stats, at-risk lists, spend |
| Trainers | Performance, pay breakdown (only if you have entered pay rates), your trainer notes, post-class ratings |
| Classes | Schedule, class details, comparisons, your class notes |
| Reports | List your stored monthly reports; save a new one (Business and Enterprise only) |
It cannot see card or bank details (GYMSNA never stores them), other gyms' data, or your ChatGPT conversations - those stay with OpenAI.
Read-only, with one exception
Every tool is read-only except
Submit monthly report, which saves a performance report ChatGPT has written into your own
Reports tab. ChatGPT treats it as a write action and asks you to confirm before running it. It only ever adds or replaces a report for a given month; it cannot delete anything, and it cannot touch bookings, members, prices or settings. Monthly reports are currently enabled per gym - ask
support if you want them switched on.
Privacy and data handling
- Data is only sent when you ask a question. GYMSNA never pushes data to ChatGPT and never sends data to OpenAI on its own.
- GYMSNA does not receive or store your ChatGPT conversations.
- GYMSNA keeps a record of the authorisation (which account connected, when, and the access token) while the connection is active. Requests are rate-limited per connection.
- Data retrieved by ChatGPT is processed under OpenAI's terms and privacy policy for your plan. Our own handling is described in the GYMSNA privacy policy, section 3.4.
Disconnecting
Remove the GYMSNA server in ChatGPT (workspace admins remove it for everyone; members can disconnect their own account), or open the GYMSNA dashboard, go to Adviser and revoke the connection there. Either way the access token is invalidated immediately. Reconnecting later just repeats the sign-in step.
Troubleshooting
- No "Add custom MCP server" option: your plan does not allow it (see the table above), or you are not a workspace admin, or you are in the mobile app. Ask your admin, or use ChatGPT on the web.
- "Access denied" when authorising: the account you signed in with is not an owner or manager of a gym, or the manager role does not include the Adviser and reports area. Ask the gym owner to check Settings › Team.
- "invalid_client" or the connection keeps asking you to sign in: remove the server in ChatGPT and add it again; this re-registers ChatGPT with GYMSNA.
- ChatGPT answers without your data: switch GYMSNA on for the conversation from the + button; custom servers are enabled per chat.
- Numbers differ from the dashboard: the connector reads the same data as the reports, but ChatGPT may have chosen a different date range. Ask it which dates it used.
- Connected the wrong gym: disconnect, switch gyms in the dashboard, and connect again.