af-gym
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@af-gymHow busy is the gym right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
af-unofficial-mcp-server
An unofficial MCP server for Anytime Fitness. Ask your assistant how busy the gym is, when it will be quieter, which nearby clubs are less crowded, or how often you have visited.
It uses the same private API as version 4.5.0 of the Anytime Fitness app. The API may change without warning. This project is not affiliated with Anytime Fitness.
Tools
Tool | What it returns |
| Live headcount, how it compares with the usual crowd, and a go-now verdict |
| Typical hourly attendance for a chosen day |
| Nearby clubs, distance, opening status, and live headcount |
| Visit history and common visit times |
| Login status without exposing tokens |
Attendance comparisons use the club's 100-day hourly averages. The server finds the home club and its timezone from your account.
Related MCP server: Iridium MCP Server
Setup
You need Python 3.11 or later, uv, and an MCP-compatible client.
git clone https://github.com/Sajush00/af-unofficial-mcp-server.git
cd af-unofficial-mcp-server
uv sync
uv run af-gym login --phone +61400000000The login command sends an SMS code to the phone number registered with your Anytime Fitness account and prompts you to enter it.
Claude Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"af-gym": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/af-unofficial-mcp-server", "af-mcp"]
}
}
}Claude Code
claude mcp add af-gym -- uv run --directory /absolute/path/to/af-unofficial-mcp-server af-mcpHermes Agent
Add this to ~/.hermes/config.yaml:
mcp_servers:
af-gym:
command: uv
args: ["run", "--directory", "/absolute/path/to/af-unofficial-mcp-server", "af-mcp"]Then ask your assistant: "How busy is the gym right now?"
Authentication and privacy
uv run af-gym status
uv run af-gym logoutTokens are stored in ~/.af_token.json. Pending login details use
~/.af_session.json. Both files are private to your user account, and the CLI
and MCP tools never print their contents.
Set AF_CLUB_TZ to an IANA timezone such as Australia/Sydney if you need to
override automatic timezone detection.
Development
make checkThis runs Ruff, mypy, project-specific static checks, and the offline test suite. Implementation notes are in docs/adr.
License
MIT © 2026 Sajush Arukat
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage fitness coaching clients, workouts, programs, chats and funnels from your assistant.
Log workouts and meals by telling your AI. 873 exercises, muscle diagrams, food lookup.
Access approved FITsociety clients, schedules, bookings and coaching data with AI assistants.
Create Hevy routines and analyze your training from chat. Unofficial; BYO Hevy PRO API key.
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceEnables analysis and retrieval of JEFit workout data through natural language. Provides access to workout dates, detailed exercise information, and batch workout analysis for fitness tracking and progress monitoring.33632MIT
- AlicenseAqualityBmaintenanceConnects AI agents to Iridium fitness data to query workout history, nutrition logs, and body measurements. It enables users to track exercise progress, training volume, and personalized trainer analysis through natural language.1925 npm1MIT
- AlicenseAqualityDmaintenanceEnables interaction with Intervals.icu data, including activities, wellness, and calendar events, via natural language.1018 npm1MIT
- FlicenseNot gradedqualityDmaintenanceAccess your Hevy workout data through natural language. Query workout history, exercise details, routines, and track progress.-