Repository avatar
AI Tools
v1.3.0
active

struggl

io.github.Kubyer/struggl

Zero-LLM-Math sports science calculators (Hyrox, 1RM/RPE, Zone 2, MEV/MRV) & workout ledger.

Documentation

STRUGGL Logo

struggl-mcp — Zero-LLM-Math Sports Science MCP & Agent Skill

Stop letting LLMs guess your 1RM, Zone 2 heart rate, weekly muscle volume, and Hyrox splits.
7 free unauthenticated sports-science calculators + optional stateful hybrid-athlete training ledger for Claude Code, Google Antigravity, Cursor, OpenAI Codex, Grok, Cline, and OpenClaw.

Connect & Docs · 5 LLM Exercise Math Traps · Agent Skill (SKILL.md) · Living Science Equations

STRUGGL - Listed on Claude AI Directory


Why This Exists

Ask a frontier LLM what belt weight an 80 kg athlete (+30 kg x 5 @ RPE 9 pull-up) should use for 8 reps @ RPE 8, and it routinely forgets the 80 kg bodyweight on the bar — overshooting the belt prescription by +5 kg. Ask for Zone 2 heart rate (35 yo, 48 bpm RHR) and it defaults to 220 - Age, under-prescribing by 19 bpm. Ask if 10 sets of triceps isolation on top of 26 pressing sets is recoverable, and it misses +13 fractional synergist sets above MRV.

Full reproducible breakdown with curl calls and PubMed/Crossref DOIs: benchmarks/llm_fitness_math_traps.md.

struggl-mcp gives any coding or personal AI agent 12 deterministic tools over stateless Streamable HTTP (https://struggl.singandclap.com/mcp) + an interactive MCP Apps UI Card (ui://struggl/coach-card.html) + a portable agentskills.io SKILL.md.


7 Free Science Tools (Zero Auth, Zero Install, Instant Value)

Connect https://struggl.singandclap.com/mcp with no token and no signup to unlock all 7 deterministic calculators immediately:

ToolWhat It ComputesLiterature / Model Basis
hyrox_paceCompromised Hyrox pace band, 8x1 km run total, race time & Riegel 10K/HM/Marathon200k-finisher curve + Riegel (1981)
hyrox_splitsExact Lap 1–8 1 km splits (0.94x–1.03x), Pro/Doubles offsets & Lap 1 overpacing blow-up cost200k-finisher piecewise decay (DOI: 10.3389/fphys.2025.1519240)
hyrox_autopsyPost-race or mock-sim diagnostic: per-lap fade vs. target + P25–P75 station bottleneck leaksEmpirical station variance benchmarks
strength_benchmarkPiecewise Wathan e1RM, sex/BW/age score (0–100), tier (untrained -> elite) & kg to next tierWathan (1994) / LeSuer et al. (1997)
plates_zone2reps @ RPE working weight (with BW system load on pull_up/chin_up/dip), gym plate pairs & Zone 2 bpmZourdos (2016) RIR + Tanaka (2001) & Karvonen (1957) HRR
volume_auditWeekly 17-muscle hypertrophy audit (1.0x prime / 0.5x synergist, RPE >= 6 hard-set gate) & junk volumeSchoenfeld (2017), Pelland (2024), Robinson (2024)
interference_taxWeekly hybrid schedule conflict check (<3h/3–6h AMPK-mTOR, 36h glycogen, 48h hinge, 80/20 drift)Wilson (2012), Robineau (2016), Schumann (2022), Seiler (2010)

5 Personal Training Ledger Tools (Optional Account Sync)

For athletes who want their coding agent to check real 14-day fatigue between coding blocks, audit live weekly sets, and log or schedule workouts (get_profile, get_sessions, get_muscle_volume, log_workout, plan_workout):

  1. Start your 30-day free STRUGGL Coach trial (no credit card) at https://struggl.singandclap.com/connect.
  2. Connect via OAuth 2.1 + PKCE (https://struggl.singandclap.com/v1/connector/mcp) or generate a scoped read / read + write personal token (stg_ath_...).

10-Second Install Across Every Agent Platform

1. Claude Code & Claude Desktop / Web

1-Click OAuth 2.1 Sign-In (Recommended — Zero Manual API Keys):

claude mcp add --transport http struggl https://struggl.singandclap.com/v1/connector/mcp

(In Claude Code run /mcp → struggl → Authenticate; in Claude.ai / ChatGPT Connectors paste https://struggl.singandclap.com/v1/connector/mcp to open browser sign-in + interactive ui://struggl/coach-card.html UI cards.)

Instant Zero-Auth (7 free science calculators + Agent Skill):

claude mcp add --transport http struggl https://struggl.singandclap.com/mcp

Or install the full plugin + skills via Claude Code's plugin manager:

/plugin marketplace add Kubyer/struggl-mcp
/plugin install struggl@struggl-marketplace

Headless Personal Token Fallback:

claude mcp add --transport http struggl https://struggl.singandclap.com/mcp \
  --header "Authorization: Bearer stg_ath_YOUR_PERSONAL_TOKEN"

2. Universal SKILL.md (skills.sh — Cursor, Antigravity, Claude Code, Codex, Copilot)

npx skills add Kubyer/struggl-mcp

3. Google Antigravity

Install directly via plugin.json (OAuth 2.1 automatic sign-in on https://struggl.singandclap.com/v1/connector/mcp), or add to ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "struggl": {
      "serverUrl": "https://struggl.singandclap.com/mcp"
    }
  }
}

4. Cursor & Windsurf (.cursor/mcp.json)

{
  "mcpServers": {
    "struggl": {
      "url": "https://struggl.singandclap.com/mcp"
    }
  }
}

5. OpenAI Codex (~/.codex/config.toml)

[mcp_servers.struggl]
url = "https://struggl.singandclap.com/mcp"

6. OpenClaw / ClawHub & Nous Hermes

clawhub install struggl-coach

7. Local stdio Fallback (Claude Desktop / Legacy Hosts)

pip install -r requirements.txt
python mcp_server.py

Open-Core Primitives for Fitness & Coaching AI Builders

Building your own strength, running, Hyrox, or wearable coaching agent? Never let raw LLM prose improvise exercise math:

  • struggl_primitives.py: Pure-stdlib Python reference functions (wathan_e1rm, prescribe_working_load, karvonen_zone2, ewma_acwr, hyrox_compromised_pace, fractional_set_credit) plus ready-to-register PRIMITIVE_TOOL_SCHEMAS.
  • skills/fitness-agent-primitives/SKILL.md: Builder skill teaching coding agents where stateless single-session math ends and longitudinal 30-day state (implicit RIR envelopes, 0.82^d / 0.96^d EWMA ACWR, 17-muscle weekly MEV/MAV/MRV, 48h concurrent interference gating) begins.

Repository Architecture & Open-Source Standards

This repository follows the multi-registry agent package layout so a single repo works cleanly across MCP registries and Agent Skill directories:

struggl-mcp/
├── server.json                         # Official MCP Registry schema (2025-12-11)
├── plugin.json / mcp_config.json       # Google Antigravity, Cursor & Grok Bot manifest
├── .claude-plugin/                     # Claude Code plugin & marketplace manifests
├── .mcp.json                           # Root Streamable HTTP MCP config (zero auth ready)
├── agents/openai.yaml                  # OpenAI Codex / Dots skill-to-MCP wiring
├── llms-install.md                     # Cline Marketplace 1-click installer
├── struggl_primitives.py               # Pure-stdlib stateless exercise-physiology primitives
├── skills/
│   ├── struggl-coach/                  # Athlete coaching skill + inline UI card template
│   └── fitness-agent-primitives/       # Builder skill for custom fitness & Hyrox AI agents
├── benchmarks/llm_fitness_math_traps.md
└── mcp_server.py                       # Zero-secret thin HTTP->stdio client (httpx + mcp only)

Security & Privacy

  • Zero Secrets in Repo: This repository contains declarative manifests, open-source skill instructions, pure-stdlib physiology primitives, literature benchmarks, and a thin HTTP client (mcp_server.py imports only Python stdlib, httpx, and mcp). Run python scripts/verify_public_bundle.py to audit every file.
  • OAuth 2.1 + Scoped Revocable Tokens: Supports 1-click OAuth 2.1 + PKCE (https://struggl.singandclap.com/v1/connector/mcp) and optional scoped tokens (stg_ath_...), stored server-side strictly as SHA-256 hashes and revocable at https://struggl.singandclap.com/connect.

License

Apache License 2.0 — see LICENSE and NOTICE. Covers the manifests, SKILL.md workflows, struggl_primitives.py reference primitives, benchmark documentation, and thin mcp_server.py client in this repository. The hosted STRUGGL coaching engine and longitudinal datasets at struggl.singandclap.com are operated by Sing And Clap.

No installation packages available.