apeiron-mcp
apeiron-mcp
An MCP server exposing client health data. Tool surface is intentionally consolidated by data shape (time-series vitals, periodic assessments, unstructured text, derived aggregates) rather than by raw domain, to keep LLM tool-selection unambiguous.
Tools
# | Tool | Purpose |
1 |
| Sleep stages, duration, efficiency, HRV, score. |
2 |
| Workouts: type, duration, calories, HR zones, RPE. |
3 |
| Meals, macros, calories, hydration, supplements. |
4 |
| Cardio + aerobic (resting HR, HRV, VO2max, BP, aerobic capacity). |
5 |
| Bone density, body comp, balance, movement, muscle strength. |
6 |
| Cognitive test batteries and trends. |
7 |
| Cross-domain rolled-up scores. |
8 |
| Sleep/activity/nutrition adherence rollup. |
9 |
| Generic time-series trend for any (domain, metric). |
10 |
| Clinician/client/system free-text notes. |
11 |
| Paginated coaching conversation logs. |
All tools return the envelope:
{
"client_id": "...",
"domain": "...",
"period": {"start": "...", "end": "..."},
"data": [],
"unit_system": "metric",
"last_synced_at": "..."
}Install & run
pip install -e .
apeiron-mcp # runs the server over stdioRegister with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"apeiron": {
"command": "apeiron-mcp"
}
}
}Wiring to a real backend
The current implementation returns stub payloads. Replace the bodies of the
functions in src/apeiron_mcp/server.py with calls into your health data
backend (HTTP client, DB, etc.).