- Home
- MCP servers
- Health
Health
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"marholoubek-health_mcp": {
"command": "/path/to/health_mcp/venv/bin/python",
"args": [
"-m",
"src.server"
],
"env": {
"HEALTH_MCP_WHOOP_CLIENT_ID": "your_whoop_client_id",
"HEALTH_MCP_STRAVA_CLIENT_ID": "your_strava_client_id",
"HEALTH_MCP_WHOOP_CLIENT_SECRET": "your_whoop_client_secret",
"HEALTH_MCP_STRAVA_CLIENT_SECRET": "your_strava_client_secret"
}
}
}
}You run a Health MCP Server to aggregate and analyze health and fitness data from multiple providers, starting with Whoop and Strava. It gives you unified access to health metrics, trends, and personalized insights from all connected sources, so you can make informed decisions about sleep, recovery, training, and overall health.
How to use
Connect your providers and authenticate to start collecting data. You will access tools to view sleep, recovery, strain, activities, and insights from each provider, either separately or in combination for a complete health overview.
How to install
Prerequisites: Python 3.10 or higher. Ensure you have credentials for at least one provider (Whoop and/or Strava). Then follow these steps to set up your MCP server locally.
# 1) Clone the project directory
cd /path/to/health_mcp
# 2) Create a virtual environment and activate it
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3) Install dependencies
pip install -r requirements.txt
# 4) Configure API credentials by copying the example and editing
cp config.example.yaml config.yaml
# Edit config.yaml to include credentials for Whoop and/or Strava
# 5) Run the MCP server
python -m src.server
Configuration and security
Configure OAuth credentials for one or both providers. Create a local configuration file with client IDs, secrets, and redirect URIs. Credentials enable adapters automatically when present, and you can explicitly enable/disable adapters with an enabled flag in the config.
Environment variables provide an alternative to config files. You can export credentials in your shell environment and reference them when starting the MCP server.
Troubleshooting
Not authenticated errors: run the corresponding authenticate tool for each provider you configured.
Missing configuration errors: ensure your config.yaml (or environment variables) contains the correct credentials for each enabled adapter.
OAuth callback issues: verify port 8787 is available and the redirect URI exactly matches what you configured in the provider’s portal.
Token refresh failures: remove the stored tokens file and re-authenticate.
Adapter not showing up: confirm credentials are configured and review server logs for initialization errors.
Notes
Tokens are stored securely at your home directory under ~/.health_mcp/tokens.json with strict permissions.
Available tools
list_adapters
List all available adapters and their authentication status
whoop_authenticate
Initiate OAuth2 login flow for Whoop
whoop_check_auth
Check current authentication status for Whoop
get_user_profile
Retrieve the user profile and body measurements from Whoop
get_sleep_summary
Fetch recent sleep data including performance, stages, and needs from Whoop
get_sleep_history
Retrieve sleep history over a date range with trends from Whoop
get_recovery_score
Obtain the latest recovery score with HRV and status from Whoop
get_recovery_history
View recovery trends over time from Whoop
get_strain_today
Get current day strain and heart rate from Whoop
get_strain_history
Analyze daily strain patterns over time from Whoop
get_workout_history
Fetch workout details with heart rate zones and calories from Whoop
get_health_overview
Provide a comprehensive health dashboard combining data from all connected providers
analyze_sleep_patterns
Analyze sleep timing, consistency, and provide recommendations
analyze_recovery_factors
Identify correlations affecting recovery across data sources
get_weekly_report
Generate week-over-week health trends report
get_training_readiness
Offer workout intensity recommendations based on health data
strava_authenticate
Initiate OAuth2 login flow for Strava
strava_check_auth
Check current Strava authentication status
get_strava_profile
Fetch Strava athlete profile, all-time stats, and gear
get_strava_activities
Retrieve recent Strava activities with distance, pace, and HR
get_strava_activity_detail
Get detailed Strava activity data with laps and segments
get_strava_weekly_summary
Provide weekly Strava training summary by activity type
get_strava_zones
Return configured Strava HR and power training zones