Gym Coach MCP Server
Connects to a Gym Tracker database hosted on Supabase to retrieve and manage personal training data, including workout history, exercise progression, routines, and training plans.
Click on "Install 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., "@Gym Coach MCP ServerHow has my bench press strength progressed over the last three months?"
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.
Gym Coach MCP Server
MCP server that turns any compatible LLM into a personal gym coach with access to your real workout data from Gym Tracker.
Built on the Model Context Protocol — works with Claude Desktop, Claude Code, Cursor, Continue, Cline, and any MCP-compatible client.
What it does
The server connects to your Gym Tracker Supabase database and exposes your training data through 5 tools and 1 resource:
Tools
Tool | Description | Parameters |
| Recent workouts with exercises, weights, and reps |
|
| Progression history for a specific exercise (max weight, volume, trends) |
|
| All routines with exercises, sets, reps, and muscle groups | — |
| Active training plan with progress and completion percentage | — |
| KPIs: total workouts, frequency, top exercises, PRs |
|
Resources
Resource | Description |
| Complete exercise catalog with muscle groups and equipment |
Related MCP server: Supabase MCP Server
Example prompts
"How's my bench press progress looking?"
"Am I training enough leg volume compared to upper body?"
"Give me a summary of my last month"
"Am I on track with my training plan?"
"When was my last PR on squats?"
"Suggest improvements to my push routine"
Setup
1. Install dependencies
cd gym-tracker-mcp
npm install2. Configure environment
Copy .env.example to .env and fill in your credentials:
cp .env.example .envSUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJ...
GYM_EMAIL=your@email.com
GYM_PASSWORD=your-passwordUses your existing Gym Tracker account credentials. All queries go through Supabase RLS — you can only access your own data.
3. Build
npm run build4. Connect to your LLM client
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gym-coach": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/gym-tracker-mcp/dist/index.js"]
}
}
}Claude Code
Add to .mcp.json in your project root or ~/.claude.json globally:
{
"mcpServers": {
"gym-coach": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/gym-tracker-mcp/dist/index.js"]
}
}
}Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"gym-coach": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/gym-tracker-mcp/dist/index.js"]
}
}
}Continue (VS Code / JetBrains)
Add to ~/.continue/config.json:
{
"mcpServers": [
{
"name": "gym-coach",
"command": "node",
"args": ["/absolute/path/to/gym-tracker-mcp/dist/index.js"]
}
]
}Replace
/absolute/path/to/with the actual path to yourgym-tracker-mcpdirectory.
Development
npm run dev # Watch mode with tsx (hot reload)
npm run build # Compile TypeScript to dist/
npm start # Run compiled serverArchitecture
gym-tracker-mcp/
├── src/
│ └── index.ts # MCP server (~450 lines)
├── dist/ # Compiled JS (after npm run build)
├── .env # Your credentials (not committed)
├── .env.example # Template
├── package.json
└── tsconfig.jsonTransport: STDIO (maximum client compatibility)
Auth:
supabase.auth.signInWithPassword()with user's email/passwordSecurity: Uses anon key + RLS — each user can only access their own data
Database: Reads directly from Gym Tracker's Supabase tables (workouts, routines, exercise_catalog, training_plans)
Tech stack
Zod (schema validation)
TypeScript + Node.js
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables AI assistants to perform CRUD operations on Supabase databases through natural language. Supports advanced filtering, pagination, and safety checks for seamless database interaction.Last updatedMIT
- Alicense-quality-maintenanceEnables AI assistants to interact with Supabase databases through standardized CRUD operations including querying, inserting, updating, and deleting records with support for filtering, pagination, and column selection.Last updated
- FlicenseAqualityCmaintenanceEnables querying Garmin health data stored in Supabase through natural language, providing access to VO2 max trends, activity breakdowns, sleep statistics, race predictions, heart rate zones, and training load metrics.Last updated7
- Alicense-quality-maintenanceProvides Claude with SQL access to Hevy workout history and personal training conventions stored in a SQLite database. It enables detailed analysis of exercise progress, volume trends, and muscle group mappings through natural language queries.Last updated
Related MCP Connectors
Create Hevy routines and analyze your training from chat. Unofficial; BYO Hevy PRO API key.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nicosaporiti/gym-tracker-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server