Skip to main content
Glama
GymCam Analytics

GymCam Analytics

by axelfreeman

GymCam Analytics

skills.sh

GymCam turns the cameras a gym already has into automatic attendance and trainer-performance analytics — no new hardware, no check-ins.

GymCam — your cameras turned into attendance analytics

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 gymcam

Peek at the tool output without wiring MCP:

uv run scripts/demo.py

Skill (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-analytics

Connect 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 gymcam

API 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_here

Tools

Tool

What it returns

get_today_summary

Classes held, total attendance, top classes

get_trainer_attendance

Fill rate + no-shows for a trainer (day/week)

get_class_performance

Classes ranked by fill rate

get_revenue_insights

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 tools
get_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

    A3.6/5.0

    Scored across 4 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers