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 |
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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