Personal Health Tracker
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
Jump to
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Personal Health TrackerCommand (node, npx, python, etc.)npxArguments-
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.
-
Argument 1
- 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
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 managementNutrition 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 analysisJournal 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 levelsInstallation
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 managerUsing 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 RequestLicense
This project is licensed under the MIT License - see the LICENSE file for details.Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
