Skip to main content
Glama

JEFit MCP Server

MCP server for analyzing JEFit workout data. Provides tools to list workout dates and retrieve detailed workout information.

Setup

  1. Install dependencies:

    uv sync
  2. 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:00

    Note: Use timezone offset format like -07:00 for PDT, -04:00 for EDT

The exercise database will be automatically fetched and cached on first startup.

MCP Configuration

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 format

  • end_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.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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/ai-mcp-garage/jefit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server