Skip to main content
Glama

JEFit MCP Server

README.md3.15 kB
# 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:** ```bash 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: ```json { "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:** ```json { "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:** ```json { "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:** ```json { "dates": ["2025-10-15", "2025-10-17", "2025-10-19"] } ``` ## Testing Run the test script to verify everything works: ```bash 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.

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