GymCam Analytics
This MCP server turns gym CCTV and class schedules into attendance, trainer, and revenue analytics you can query from an AI agent.
get_today_summary — get the day's classes held, total attendance, and top classes (optional gym_id).
get_trainer_attendance — check a trainer's fill rate and no-shows for a day or week.
get_class_performance — list classes ranked by fill rate to spot popular vs. dead classes (optional limit).
get_revenue_insights — see most profitable vs. least profitable classes by revenue.
Overall: the server exposes pre-built tools for gym owners/agents to monitor class performance, trainer accountability, occupancy, and revenue drivers without new hardware or check-ins.
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., "@GymCam Analytics what's today's attendance summary?"
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.
GymCam Analytics
GymCam turns the cameras a gym already has into automatic attendance and trainer-performance analytics — no new hardware, no check-ins.

Feed it the existing CCTV stream and the class schedule; it recognizes trainers, counts attendees per class, and reports what's actually happening: which classes are full, which are dead, and which trainers fill the room.
Why
Gym owners run on gut feeling. Booking software (Mindbody, Glofox) only captures check-ins — and people skip check-ins, so the data is incomplete. Hardware people-counters (Density, V-Count) cost thousands and count bodies without context.
GymCam reuses what's already in the building and maps counts to classes and trainers — the thing that actually drives revenue.
Related MCP server: Iridium MCP Server
What it reports
Today's summary — classes held, total attendance, top classes
Trainer attendance — daily/weekly fill rate and no-show rate per trainer
Class performance — every class ranked by fill rate, so dead classes are obvious
Revenue insights — most profitable vs. least profitable classes
What you actually get
Zero install — cameras already do the counting (security cameras are required in nearly every country). No sensors, no mounting, no new hardware.
No check-in friction — stop making members do a meaningless task; people just show up.
Class truth — which classes are full and which are dead, not the paper log anyone can fudge.
Trainer accountability — real fill rate + no-shows per trainer; the "16 becomes 20" rounding dies.
Occupancy & density — overfull classes and cramped rooms are a pricing / scaling / staffing signal.
Room optimization — see the big room idle while classes squeeze into the small one; swap and fix.
Equipment utilization — which machines are actually used; sell, buy, or rearrange.
Density heatmaps — attraction points and dead zones; change the layout with data.
Demographics — gender + approximate age breakdown (within GDPR / local law).
Digital twin — treat the gym as a measurable 3D space; a live model of what's working and what to cut.
AI-native — an MCP server, so your AI agent reads the data and answers "how's my gym doing today."
Install
One command, straight from this repo (requires uv):
uvx --from git+https://github.com/axelfreeman/gymcamanalytics gymcamPeek at the tool output without wiring MCP:
uv run scripts/demo.pySkill (optional)
SKILL.md documents the GymCam tools for any agent that loads skills. Install with a symlink so git pull keeps it fresh:
ln -s "$PWD" ~/.agents/skills/gymcam-analyticsConnect to your AI agent
Same command, different config file per client.
Claude Desktop (claude_desktop_config.json):
{"mcpServers": {"gymcam": {"command": "uvx", "args": ["--from", "git+https://github.com/axelfreeman/gymcamanalytics", "gymcam"]}}}Codex (~/.codex/config.toml):
[mcp_servers.gymcam]
command = "uvx"
args = ["--from", "git+https://github.com/axelfreeman/gymcamanalytics", "gymcam"]Cursor (.cursor/mcp.json) and Windsurf (~/.codeium/windsurf/mcp_config.json) use the same JSON block as Claude Desktop.
Claude Code:
claude mcp add gymcam -- uvx --from git+https://github.com/axelfreeman/gymcamanalytics gymcamAPI key
Tools require an API key. Get one free at https://gymcamanalytics.com/get-key (100 free lookups, no credit card), then set it:
export GYMCAM_API_KEY=your_key_hereTools
Tool | What it returns |
| Classes held, total attendance, top classes |
| Fill rate + no-shows for a trainer (day/week) |
| Classes ranked by fill rate |
| Most profitable vs. dead classes |
Status
Pre-launch. The MCP server and tool schema are live; tools return sample data until your gym's cameras are connected. Sign up for access.
License
MIT © 2026 Axel Freeman
Need this done for you?
The stack behind this repo runs as a service: marketing engineering, turnkey — Sprint $900 one-time, Engine $1,900/month, full build $2,900. Scope and prices are published before the first call. If you run a local or multi-site business, the countable version of the same work is here: marketing engineer for local business.
Available Tools
4 toolsget_class_performanceB
Rank classes by fill rate: popular vs. dead classes to cut.
Inputs: limit.
get_revenue_insightsA
Most profitable vs. least profitable classes by revenue.
Inputs: no named parameters.
get_today_summaryB
Daily attendance summary: classes held, total attendance, top classes.
Inputs: gym_id.
get_trainer_attendanceC
Attendance and fill-rate for a trainer over 'day' or 'week'.
Inputs: trainer (required), period.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct analytics dimension: daily summary, trainer-specific metrics, class performance, and revenue. No two tools overlap in purpose or output, so an agent can clearly select the right tool for a given request.
All tools follow a uniform 'get_<noun>_<noun>' pattern (e.g., get_today_summary, get_trainer_attendance). The naming is consistent, descriptive, and predictable, making it easy to infer tool purpose from the name alone.
With only 4 tools, the server is tightly scoped to core gym analytics. Each tool provides a distinct slice of the domain without redundancy, and the count is appropriate for a focused analytics service.
The toolset covers the primary analytics needs: overall summary, trainer performance, class performance, and revenue. Minor gaps exist (e.g., no member-specific analytics or custom date-range queries), but the current surface handles common use cases well.
Maintenance
Related MCP Connectors
Your Garmin, Oura, WHOOP, Hevy and 35 more fitness apps, queryable from your own AI.
Create, personalize and deliver branded workouts and programs from any AI assistant.
Stop manually creating generic reports that don't match your gym! Ask your AI about your studio's sales, classes and clients. Mindbody MCP server for Claude and ChatGPT. Connect your studio once, then ask about sales, classes, clients and memberships. Not affiliated with Mindbody.
Access approved FITsociety clients, schedules, bookings and coaching data with AI assistants.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive AI-powered fitness tracking application that enables AI tools to interact intelligently with user fitness data, providing personalized workout plans, nutrition tracking, and progress analysis through natural language.15MIT
- AlicenseAqualityCmaintenanceConnects 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.1939 npm1MIT

Kordi MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceTrack, analyze, and act on your streaming & SaaS subscriptions from any AI agent.MIT- FlicenseNot gradedqualityDmaintenanceEnables personal data analysis and insights using AI agents across Spotify, GitHub, finances, fitness, and journal entries.-