Skip to main content
Glama

JEFit MCP Server

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

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

Deploy Server
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables analysis and retrieval of JEFit workout data through natural language. Provides access to workout dates, detailed exercise information, and batch workout analysis for fitness tracking and progress monitoring.

  1. Setup
    1. MCP Configuration
      1. Local/stdio Configuration (Recommended)
      2. Configuration Locations
    2. Available Tools
      1. 1. list_workout_dates
      2. 2. get_workout_info
      3. 3. get_batch_workouts
    3. Testing
      1. Project Structure
        1. Development

          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