loading…
Search for a command to run...
loading…
Connects to a Gym Tracker Supabase database to provide LLMs with access to personal workout history, routines, and training progress. It enables users to analyz
Connects to a Gym Tracker Supabase database to provide LLMs with access to personal workout history, routines, and training progress. It enables users to analyze fitness performance, track personal records, and receive personalized coaching advice through natural language.
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.
The server connects to your Gym Tracker Supabase database and exposes your training data through 5 tools and 1 resource:
| Tool | Description | Parameters |
|---|---|---|
get_workout_history |
Recent workouts with exercises, weights, and reps | limit, from_date, to_date |
get_exercise_progress |
Progression history for a specific exercise (max weight, volume, trends) | exercise_name, limit |
get_routines |
All routines with exercises, sets, reps, and muscle groups | — |
get_training_plan |
Active training plan with progress and completion percentage | — |
get_stats_summary |
KPIs: total workouts, frequency, top exercises, PRs | period_days |
| Resource | Description |
|---|---|
gym://exercise-catalog |
Complete exercise catalog with muscle groups and equipment |
cd gym-tracker-mcp
npm install
Copy .env.example to .env and fill in your credentials:
cp .env.example .env
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJ...
[email protected]
GYM_PASSWORD=your-password
Uses your existing Gym Tracker account credentials. All queries go through Supabase RLS — you can only access your own data.
npm run build
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"]
}
}
}
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"]
}
}
}
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"]
}
}
}
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.
npm run dev # Watch mode with tsx (hot reload)
npm run build # Compile TypeScript to dist/
npm start # Run compiled server
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.json
supabase.auth.signInWithPassword() with user's email/passwordДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"gym-coach-mcp-server": {
"command": "npx",
"args": []
}
}
}