Skip to Content
MCP ServersCommunityPersonal MCP Server

Personal MCP Server

View original on GitHub 

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.

Last updated on