Hevy Workout Analytics MCP Server

Hevy Workout Analytics MCP Server

Provides Claude with SQL access to Hevy workout history and personal training conventions stored in a SQLite database. It enables detailed analysis of exercise progress, volume trends, and muscle group mappings through natural language queries.

Category
Visit Server

README

Hevy Workout Analytics MCP Server

An MCP (Model Context Protocol) server that provides Claude with SQL access to your Hevy workout data, plus rich context about your personal training conventions.

Features

  • 📊 SQL Access: Query your workout history with full SQL capabilities
  • 🏋️ Exercise Taxonomy: Customizable muscle group mappings for exercises
  • 📝 Personal Conventions: Track your specific rules (form resets, RPE usage, etc.)
  • 🔒 Read-Only: Safe SQL execution with no write permissions
  • 🎯 Smart Analysis: Let Claude write complex queries to answer nuanced questions

Architecture

Hevy CSV Export → SQLite Database → MCP Server → Claude
                                          ↓
                                    Taxonomy & Conventions

Installation

  1. Clone and install:
git clone <repo-url>
cd hevy-history-mcp
pip install -e .
  1. Import your Hevy data:
python scripts/import_csv.py /path/to/hevy_export.csv
  1. Configure Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
  "mcpServers": {
    "hevy-history": {
      "command": "python",
      "args": ["-m", "hevy_mcp.server"],
      "env": {
        "HEVY_DB_PATH": "/path/to/hevy.db"
      }
    }
  }
}

Usage

Example Questions for Claude

  • "Which triceps exercises progressed best in the last 6 months?"
  • "Which exercises have plateaued?"
  • "What are my PRs for compound lifts?"
  • "Show volume trends for chest exercises"
  • "Account for form resets when analyzing bench press progress"

Available Tools

  1. execute_sql(query) - Run read-only SQL queries
  2. get_schema() - Get database schema with column descriptions
  3. get_exercise_taxonomy() - View/understand exercise-to-muscle mappings
  4. get_tracking_conventions() - Read your personal tracking rules

Configuration

Exercise Taxonomy (taxonomy.yaml)

Map exercises to muscle groups and specify compound movement credit:

exercises:
  "Bench Press (Barbell)":
    primary: [chest]
    secondary: [triceps, front_delts]
    category: compound
  "Tricep Pushdown (Cable)":
    primary: [triceps]
    category: isolation

Tracking Conventions (conventions.yaml)

Document your personal rules for analysis:

form_resets:
  - exercise: "Bench Press (Barbell)"
    date: "2024-03-15"
    reason: "Reset to focus on form, reduced weight by 20%"

rpe_usage:
  - "I track RPE consistently for main compound lifts"
  - "Isolation work RPE is less consistent"

tracking_notes:
  - "Superset_id groups exercises done back-to-back"
  - "I rest-pause sets are marked in exercise_notes"

Database Schema

The importer creates a workout_sets table with all Hevy CSV columns:

  • title - Workout name
  • start_time, end_time - Workout timestamps
  • exercise_title - Exercise name
  • set_index - Set number
  • weight_lbs, reps, distance_miles, duration_seconds - Performance metrics
  • rpe - Rate of Perceived Exertion
  • exercise_notes - Per-exercise notes
  • And more...

Development

Run tests:

pytest

Format code:

black .
ruff check .

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured