Personal Health Tracker

by evangstav

5 stars
Not rated
GitHub

About

Integrates personal health data tracking with natural language querying and visualization for privacy-focused local analysis and trend insights.

Details

Author
evangstav
Repository
evangstav/personal-mcp
GitHub stars
5
Categories
AI, Design, File Management, Search, Developer Tools, Frontend, Infrastructure

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Personal Health Tracker
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

To install Personal Health Tracker for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install personal-mcp --client claude
git clone https://github.com/yourusername/personal-mcp.git
cd personal-mcp
uv pip install -e ".[dev]"
personal-mcp --help

Available options:
- --name: Set server name (default: "Personal Assistant")
- --db-path: Specify database location
- --dev: Enable development mode
- --inspect: Run with MCP Inspector
- -v, --verbose: Enable verbose logging

```bash

log_workout

Log a workout with details such as date, exercises, sets, and perceived effort.

calculate_training_weights

Calculate safe training weights based on exercise, base weight, days since surgery, recent pain level, and recent RPE.

log_meal

Log a meal including meal type, food items with amounts, protein, calories, hunger level, and satisfaction level.

check_nutrition_targets

Check nutrition targets for a specific date.

create_journal_entry

Create a daily journal entry with content, mood, energy, sleep quality, stress level, and tags.

analyze_journal_entries

Analyze journal entries between a start and end date for insights.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "personal health tracker": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

Personal MCP Server

smithery badge

A Model Context Protocol server for personal health and well-being tracking. This server provides tools and resources for tracking workouts, nutrition, and daily journal entries, with AI-assisted analysis through Claude integration.

Features

Workout Tracking

- Log exercises, sets, and reps - Track perceived effort and post-workout feelings - Calculate safe training weights with rehabilitation considerations - Historical workout analysis - Shoulder rehabilitation support - RPE-based load management

Nutrition Management

- Log meals and individual food items - Track protein and calorie intake - Monitor hunger and satisfaction levels - Daily nutrition targets and progress - Pre/post workout nutrition tracking - Meal timing analysis

Journal System

- Daily entries with mood and energy tracking - Sleep quality and stress level monitoring - Tag-based organization - Trend analysis and insights - Correlation analysis between workouts, nutrition, and well-being - Pattern recognition in mood and energy levels

Installation

Installing via Smithery

To install Personal Health Tracker for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install personal-mcp --client claude

Prerequisites

- Python 3.10 or higher - pip or uv package manager

Using pip

pip install -e .

Development Installation

git clone https://github.com/yourusername/personal-mcp.git
cd personal-mcp
uv pip install -e ".[dev]"

Usage

Basic Server

Run the server with default settings:
personal-mcp run

Development Mode

Run with hot reloading for development:
personal-mcp dev

MCP Inspector

Debug with the MCP Inspector:
personal-mcp inspect

Claude Desktop Integration

Install to Claude Desktop:
personal-mcp install --claude-desktop

Configuration Options

personal-mcp --help

Available options:
- --name: Set server name (default: "Personal Assistant")
- --db-path: Specify database location
- --dev: Enable development mode
- --inspect: Run with MCP Inspector
- -v, --verbose: Enable verbose logging

MCP Tools

Workout Tools

# Log a workout
workout = {
    "date": "2024-01-07",
    "exercises": [
        {
            "name": "Bench Press",
            "sets": [
                {"weight": 135, "reps": 10, "rpe": 7}
            ]
        }
    ],
    "perceived_effort": 8
}

Calculate training weights

params = { "exercise": "Bench Press", "base_weight": 200, "days_since_surgery": 90, "recent_pain_level": 2, "recent_rpe": 7 }

Nutrition Tools

# Log a meal
meal = {
    "meal_type": "lunch",
    "foods": [
        {
            "name": "Chicken Breast",
            "amount": 200,
            "unit": "g",
            "protein": 46,
            "calories": 330
        }
    ],
    "hunger_level": 7,
    "satisfaction_level": 8
}

Check nutrition targets

targets = await mcp.call_tool("check_nutrition_targets", {"date": "2024-01-07"})

Journal Tools

# Create a journal entry
entry = {
    "entry_type": "daily",
    "content": "Great workout today...",
    "mood": 8,
    "energy": 7,
    "sleep_quality": 8,
    "stress_level": 3,
    "tags": ["workout", "recovery"]
}

Analyze entries

analysis = await mcp.call_tool("analyze_journal_entries", { "start_date": "2024-01-01", "end_date": "2024-01-07" })

Development

Running Tests

# Run all tests
pytest

Run with coverage

pytest --cov=personal_mcp

Run specific test file

pytest tests/test_database.py

Code Quality

# Format code
black src/personal_mcp

Lint code

ruff check src/personal_mcp

Type checking

mypy src/personal_mcp

Project Structure

personal-mcp/
├── src/
│   └── personal_mcp/
│       ├── tools/
│       │   ├── workout.py
│       │   ├── nutrition.py
│       │   └── journal.py
│       ├── database.py
│       ├── models.py
│       ├── resources.py
│       ├── prompts.py
│       └── server.py
├── tests/
│   ├── test_database.py
│   ├── test_server.py
│   └── test_cli.py
├── pyproject.toml
└── mcp.json

Contributing

1. Fork the repository 2. Create a feature branch 3. Commit your changes 4. Push to the branch 5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.