aveil-health
v0.3.0
Published
Private, local Apple Health analysis — CLI + MCP server
Maintainers
Readme
aveil-health
Your Apple Health data, analyzed locally. No accounts, no cloud, no BS.
One command turns your Apple Health export into a clear report — sleep stages, recovery readiness, activity trends, nutrition signals. Everything runs on your machine. Nothing leaves it.
Health Wrapped
Generate a shareable health card (think Spotify Wrapped, but for your body):
npx aveil-health wrapped export.zipOpens a dark-mode card in your browser with your score, health identity, stats, and signals. Screenshot it, share it, flex on your friends.
Get Started
1. Export your Apple Health data
On your iPhone:
- Open the Health app
- Tap your profile picture (top right)
- Scroll down → Export All Health Data
- Tap Export (this takes a minute — it's zipping everything)
- AirDrop or save the
.zipto your computer
The file can be 50–500MB+ depending on how long you've had an Apple Watch. That's fine — the parser streams through it without loading everything into memory.
2. Run it
# Full analysis
npx aveil-health analyze export.zip
# Just the last 2 weeks
npx aveil-health analyze export.xml --days 14
# JSON output (pipe to jq, save, feed to other tools)
npx aveil-health analyze export.xml --json > report.json
# Wrapped card
npx aveil-health wrapped export.zip
# Generate demo cards for all archetypes
npx aveil-health demoThat's it. No install, no config, no signup.
What you get
▲ AVEIL Health Analysis
─────────────────────────────────────
Overall Score: 86/100
sleep 99 · recovery 74 · activity 100
■ SLEEP
Last night: 7.2h total
Deep 87m · REM 111m · Core 231m · Awake 31m
14-night avg: 7.5h · deep 52m · REM 96m
Avg bedtime: 9:00 PM · variability ±24min
Trend: 📈 improving
■ RECOVERY
Score: 74/100 (good)
HRV: 120ms (avg 109.5ms) · RHR 49bpm
Trend: 📈 improving
■ ACTIVITY
Today: 11,045 steps · 634 kcal
14-day avg: 13,648 steps/day · 738 kcal/day
Recent workouts: Strength Training (34min), Walking (28min)
Trend: 📉 declining
■ NUTRITION
14-day avg: 1,676 kcal · 133g protein
■ SIGNALS
✅ Sleep: 7.2h (good)
→ Sleep looks solid — maintain current routine
✅ Recovery: 74/100 (good)
→ Good to push — recovery supports hard training today
─────────────────────────────────────
77,186 records analyzed
aveilx.comSignals
Signals are the point — not dashboards, but concrete observations with next steps:
- Sleep quality — duration + stage breakdown + what to change
- Deep sleep deficit — when your deep sleep average drops below 45 min
- Recovery readiness — HRV-based, tells you to push or rest
- Activity alerts — when daily movement drops below health thresholds
- Protein lag — when tracked protein falls short
Each signal has a severity (positive / neutral / warning) and a specific action.
MCP Server
Plug your health data into any AI coding tool:
# Set your export path, then connect
export AVEIL_HEALTH_EXPORT="/path/to/export.xml"
npx aveil-health mcpAdd to your MCP config (Claude Code, Cursor, Codex, etc.):
{
"mcpServers": {
"aveil-health": {
"command": "npx",
"args": ["aveil-health", "mcp"],
"env": {
"AVEIL_HEALTH_EXPORT": "/path/to/your/export.xml"
}
}
}
}Then just ask your agent:
- "How did I sleep last night?"
- "Am I recovered enough to train hard today?"
- "What should I focus on to improve my sleep?"
Available tools: analyze_health, get_sleep_summary, get_recovery_status, get_activity_summary, get_signals, get_recommendations
Works with Claude Code, Cursor, Codex, OpenClaw, Windsurf, Cline — anything that speaks MCP.
Privacy
- 100% local — parsed and analyzed on your machine
- Zero network calls — no APIs, no telemetry, no tracking
- No account — just your export file
- Open source — read the code
Requirements
- Node.js 18+
- Apple Health export (iPhone for export, Apple Watch recommended for full data)
Roadmap
- [ ] Trend visualizations (terminal sparklines)
- [ ] Weekly digest mode
- [ ] Custom signal thresholds
- [ ] Garmin / Fitbit / Google Health support
License
MIT
Built by @alexalexxss · aveilx.com
