personal-mcp


Namepersonal-mcp JSON
Version 0.1.5 PyPI version JSON
download
home_pageNone
SummaryPersonal MCP server for health and well-being tracking
upload_time2025-01-08 12:22:09
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords health mcp personal tracking well-being
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Personal MCP Server

[![smithery badge](https://smithery.ai/badge/personal-mcp)](https://smithery.ai/server/personal-mcp)

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](https://smithery.ai/server/personal-mcp):

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

### Prerequisites
- Python 3.10 or higher
- pip or uv package manager

### Using pip
```bash
pip install -e .
```

### Development Installation
```bash
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:
```bash
personal-mcp run
```

### Development Mode
Run with hot reloading for development:
```bash
personal-mcp dev
```

### MCP Inspector
Debug with the MCP Inspector:
```bash
personal-mcp inspect
```

### Claude Desktop Integration
Install to Claude Desktop:
```bash
personal-mcp install --claude-desktop
```

### Configuration Options
```bash
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
```python
# 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
```python
# 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
```python
# 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
```bash
# Run all tests
pytest

# Run with coverage
pytest --cov=personal_mcp

# Run specific test file
pytest tests/test_database.py
```

### Code Quality
```bash
# 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "personal-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "health, mcp, personal, tracking, well-being",
    "author": null,
    "author_email": "Estav <estav@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/6a/ba/d6f8efca8ceb99798207250a5076bb788c8b0323062a1b4cf3d6944fd6c6/personal_mcp-0.1.5.tar.gz",
    "platform": null,
    "description": "# Personal MCP Server\n\n[![smithery badge](https://smithery.ai/badge/personal-mcp)](https://smithery.ai/server/personal-mcp)\n\nA 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.\n\n## Features\n\n### Workout Tracking\n- Log exercises, sets, and reps\n- Track perceived effort and post-workout feelings\n- Calculate safe training weights with rehabilitation considerations\n- Historical workout analysis\n- Shoulder rehabilitation support\n- RPE-based load management\n\n### Nutrition Management\n- Log meals and individual food items\n- Track protein and calorie intake\n- Monitor hunger and satisfaction levels\n- Daily nutrition targets and progress\n- Pre/post workout nutrition tracking\n- Meal timing analysis\n\n### Journal System\n- Daily entries with mood and energy tracking\n- Sleep quality and stress level monitoring\n- Tag-based organization\n- Trend analysis and insights\n- Correlation analysis between workouts, nutrition, and well-being\n- Pattern recognition in mood and energy levels\n\n## Installation\n\n### Installing via Smithery\n\nTo install Personal Health Tracker for Claude Desktop automatically via [Smithery](https://smithery.ai/server/personal-mcp):\n\n```bash\nnpx -y @smithery/cli install personal-mcp --client claude\n```\n\n### Prerequisites\n- Python 3.10 or higher\n- pip or uv package manager\n\n### Using pip\n```bash\npip install -e .\n```\n\n### Development Installation\n```bash\ngit clone https://github.com/yourusername/personal-mcp.git\ncd personal-mcp\nuv pip install -e \".[dev]\"\n```\n\n## Usage\n\n### Basic Server\nRun the server with default settings:\n```bash\npersonal-mcp run\n```\n\n### Development Mode\nRun with hot reloading for development:\n```bash\npersonal-mcp dev\n```\n\n### MCP Inspector\nDebug with the MCP Inspector:\n```bash\npersonal-mcp inspect\n```\n\n### Claude Desktop Integration\nInstall to Claude Desktop:\n```bash\npersonal-mcp install --claude-desktop\n```\n\n### Configuration Options\n```bash\npersonal-mcp --help\n```\n\nAvailable options:\n- `--name`: Set server name (default: \"Personal Assistant\")\n- `--db-path`: Specify database location\n- `--dev`: Enable development mode\n- `--inspect`: Run with MCP Inspector\n- `-v, --verbose`: Enable verbose logging\n\n## MCP Tools\n\n### Workout Tools\n```python\n# Log a workout\nworkout = {\n    \"date\": \"2024-01-07\",\n    \"exercises\": [\n        {\n            \"name\": \"Bench Press\",\n            \"sets\": [\n                {\"weight\": 135, \"reps\": 10, \"rpe\": 7}\n            ]\n        }\n    ],\n    \"perceived_effort\": 8\n}\n\n# Calculate training weights\nparams = {\n    \"exercise\": \"Bench Press\",\n    \"base_weight\": 200,\n    \"days_since_surgery\": 90,\n    \"recent_pain_level\": 2,\n    \"recent_rpe\": 7\n}\n```\n\n### Nutrition Tools\n```python\n# Log a meal\nmeal = {\n    \"meal_type\": \"lunch\",\n    \"foods\": [\n        {\n            \"name\": \"Chicken Breast\",\n            \"amount\": 200,\n            \"unit\": \"g\",\n            \"protein\": 46,\n            \"calories\": 330\n        }\n    ],\n    \"hunger_level\": 7,\n    \"satisfaction_level\": 8\n}\n\n# Check nutrition targets\ntargets = await mcp.call_tool(\"check_nutrition_targets\", {\"date\": \"2024-01-07\"})\n```\n\n### Journal Tools\n```python\n# Create a journal entry\nentry = {\n    \"entry_type\": \"daily\",\n    \"content\": \"Great workout today...\",\n    \"mood\": 8,\n    \"energy\": 7,\n    \"sleep_quality\": 8,\n    \"stress_level\": 3,\n    \"tags\": [\"workout\", \"recovery\"]\n}\n\n# Analyze entries\nanalysis = await mcp.call_tool(\"analyze_journal_entries\", {\n    \"start_date\": \"2024-01-01\",\n    \"end_date\": \"2024-01-07\"\n})\n```\n\n## Development\n\n### Running Tests\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov=personal_mcp\n\n# Run specific test file\npytest tests/test_database.py\n```\n\n### Code Quality\n```bash\n# Format code\nblack src/personal_mcp\n\n# Lint code\nruff check src/personal_mcp\n\n# Type checking\nmypy src/personal_mcp\n```\n\n## Project Structure\n```\npersonal-mcp/\n\u251c\u2500\u2500 src/\n\u2502   \u2514\u2500\u2500 personal_mcp/\n\u2502       \u251c\u2500\u2500 tools/\n\u2502       \u2502   \u251c\u2500\u2500 workout.py\n\u2502       \u2502   \u251c\u2500\u2500 nutrition.py\n\u2502       \u2502   \u2514\u2500\u2500 journal.py\n\u2502       \u251c\u2500\u2500 database.py\n\u2502       \u251c\u2500\u2500 models.py\n\u2502       \u251c\u2500\u2500 resources.py\n\u2502       \u251c\u2500\u2500 prompts.py\n\u2502       \u2514\u2500\u2500 server.py\n\u251c\u2500\u2500 tests/\n\u2502   \u251c\u2500\u2500 test_database.py\n\u2502   \u251c\u2500\u2500 test_server.py\n\u2502   \u2514\u2500\u2500 test_cli.py\n\u251c\u2500\u2500 pyproject.toml\n\u2514\u2500\u2500 mcp.json\n```\n\n## Contributing\n1. Fork the repository\n2. Create a feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## License\nThis project is licensed under the MIT License - see the LICENSE file for details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Personal MCP server for health and well-being tracking",
    "version": "0.1.5",
    "project_urls": {
        "Bug Tracker": "https://github.com/estav/personal-mcp/issues",
        "Homepage": "https://github.com/estav/personal-mcp",
        "Repository": "https://github.com/estav/personal-mcp.git"
    },
    "split_keywords": [
        "health",
        " mcp",
        " personal",
        " tracking",
        " well-being"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8a00a483e1a274d42e1ae68043296430b1475712b308d39765bf95e126e04d82",
                "md5": "4f7c4e77a1fdec1e5cf8f4d2528ab1ca",
                "sha256": "eb96963d241066bb5e52e565c43c7d9e9ddbcbb1f49a3987cc3f8b1caac8edcc"
            },
            "downloads": -1,
            "filename": "personal_mcp-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4f7c4e77a1fdec1e5cf8f4d2528ab1ca",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 15603,
            "upload_time": "2025-01-08T12:22:06",
            "upload_time_iso_8601": "2025-01-08T12:22:06.778223Z",
            "url": "https://files.pythonhosted.org/packages/8a/00/a483e1a274d42e1ae68043296430b1475712b308d39765bf95e126e04d82/personal_mcp-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6abad6f8efca8ceb99798207250a5076bb788c8b0323062a1b4cf3d6944fd6c6",
                "md5": "f71e86c2dd0b0503888e897d2f7ac776",
                "sha256": "a3428640e7edae2b77e7a0fab9f62973a15890deb6572050589217016303b2eb"
            },
            "downloads": -1,
            "filename": "personal_mcp-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "f71e86c2dd0b0503888e897d2f7ac776",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 63857,
            "upload_time": "2025-01-08T12:22:09",
            "upload_time_iso_8601": "2025-01-08T12:22:09.028729Z",
            "url": "https://files.pythonhosted.org/packages/6a/ba/d6f8efca8ceb99798207250a5076bb788c8b0323062a1b4cf3d6944fd6c6/personal_mcp-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-08 12:22:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "estav",
    "github_project": "personal-mcp",
    "github_not_found": true,
    "lcname": "personal-mcp"
}
        
Elapsed time: 0.39531s