Skip to main content
Glama
burakdirin

apple-health-export-mcp

by burakdirin

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AH_DB_PATHYesPath to the SQLite database file containing Apple Health data.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_typesA

List which health metrics exist in this export, with row counts and date spans.

Call this first to discover the exact type strings to pass to get_quantity.

list_sourcesA

List which sources/devices wrote a metric, with counts and date spans.

Use it to see why a sum differs across devices, or to pick a source for get_quantity.

get_quantityA

Aggregate a numeric metric (steps, weight, heart rate, energy…) over a date range.

Call list_types first to find the exact type string. Pick agg by metric kind: sum for cumulative (steps, active energy), avg for sampled (weight, heart rate). sum auto-deduplicates parallel devices (Watch + iPhone + apps) per day, so it does not over-count (ADR-0010); pass source to force one device. avg/min/max are not deduped. Returns [{period, value, n}].

get_sleepA

Per-night sleep stage durations (minutes), attributed to the wake-up day.

Returns [{night, asleep_min, rem_min, deep_min, core_min, awake_min, in_bed_min}]. Older nights may report only in_bed_min (legacy devices lack stage detail).

get_workoutsA

Workout summary per activity type in a date range: count, total & avg minutes.

Prompts

Interactive templates invoked by user choice

NameDescription
daily_summaryA single day's health snapshot: steps, sleep, resting heart rate, workouts, energy.
weekly_reviewCalendar-week review (Mon–Sun): training load, sleep, recovery, and a recommendation.
monthly_summaryA month in review: totals, averages, body-weight change, and trend.
yearly_summaryA year in review: big-picture fitness trajectory and milestones.
readiness_checkShould I train hard today? Based on last night's sleep and recent recovery markers.
sleep_reportSleep deep-dive over a range: duration, stage breakdown, and consistency.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_quantity aggregates numeric metrics, get_sleep handles sleep stages, get_workouts summarizes workouts, list_sources lists devices, and list_types enumerates health metrics. No overlap in functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case (e.g., get_quantity, list_sources). There is no variation in style or convention.

Tool Count5/5

With 5 tools, the server is well-scoped for a health data export interface. Each tool serves a distinct purpose without redundancy, and the count is neither too sparse nor too heavy.

Completeness5/5

The tool surface covers key health data access: numeric metrics (get_quantity), sleep (get_sleep), workouts (get_workouts), source discovery (list_sources), and type discovery (list_types). This set supports common queries without obvious gaps for the domain.

Maintenance

ActivityStale
ResponsivenessNo issues