ai-mcp-garage/jefit-mcp
If you are the rightful owner of jefit-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
JEFit MCP Server is designed to analyze JEFit workout data, providing tools to list workout dates and retrieve detailed workout information.
JEFit MCP Server
MCP server for analyzing JEFit workout data. Provides tools to list workout dates and retrieve detailed workout information.
Setup
-
Install dependencies:
uv sync -
Configure environment variables:
Set the following environment variables or use your secrets manager of choice.
JEFIT_USERNAME=your_username JEFIT_PASSWORD=your_password JEFIT_TIMEZONE=-07:00Note: Use timezone offset format like
-07:00for PDT,-04:00for EDT
The exercise database will be automatically fetched and cached on first startup.
MCP Configuration
Local/stdio Configuration (Recommended)
Add to your MCP client configuration:
{
"mcpServers": {
"jefitWorkouts": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/jefit-mcp", "python", "server.py"]
}
}
}
Configuration Locations
- Cursor:
.cursor/mcp.json(project) or~/.cursor/mcp.json(user) - Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - VS Code:
.vscode/mcp.json
Available Tools
1. list_workout_dates
List all workout dates within a date range.
Parameters:
start_date(required): Start date in YYYY-MM-DD formatend_date(optional): End date in YYYY-MM-DD format (defaults to today)
Returns: List of workout dates
Example:
{
"start_date": "2025-10-01",
"end_date": "2025-10-19"
}
2. get_workout_info
Get detailed workout information for a specific date.
Parameters:
date(required): Date in YYYY-MM-DD format
Returns: Markdown-formatted workout details including:
- Start time and duration
- Total weight lifted
- Exercise list with muscle groups, equipment, sets, and reps
Example:
{
"date": "2025-10-17"
}
3. get_batch_workouts
Get detailed workout information for multiple dates in a single call.
Parameters:
dates(required): List of dates in YYYY-MM-DD format
Returns: Markdown-formatted workout details for all requested dates, separated by horizontal rules
Example:
{
"dates": ["2025-10-15", "2025-10-17", "2025-10-19"]
}
Testing
Run the test script to verify everything works:
uv run python scripts/test_server.py
Project Structure
jefit-mcp/
├── server.py # Main MCP server
├── auth.py # JEFit authentication
├── history.py # Workout history fetching
├── workout_info.py # Workout details and formatting
├── utils.py # Utility functions
├── rsc_base.py # React Server Components parser
├── data/
│ └── exercises_db.json # Exercise database cache
└── scripts/
├── test_server.py # Server testing script
└── update_exercise_db.py # Exercise database updater
Development
The server uses FastMCP 2.12+ and supports both stdio and HTTP transports. By default, it runs in stdio mode. To run in HTTP mode, set the HOST and PORT environment variables.