iwatch-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEALTHKIT_HELPER_PATH | No | Override binary location | healthkit-helper/.build/release/HealthKitHelper |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_heart_rateA | Get the most recent heart rate reading from Apple Watch. Returns: JSON object with fields: bpm - heart rate in beats per minute timestamp - ISO-8601 UTC time of the reading source - device/app that recorded the reading device - Apple Watch model (may be null) |
| stream_heart_rateA | Collect heart rate readings from Apple Watch over a time window. Runs the HealthKit observer for the given duration and returns all samples received, including any buffered readings from the last 5 minutes that hadn't been reported yet. Note: Apple Watch syncs data through iPhone to Mac via iCloud, so "real-time" updates have network-dependent latency (typically 10-60 s). Args: duration_seconds: How long to collect readings (1–300 s). Default 30. Returns: JSON array of heart rate samples, ordered by timestamp. |
| get_heart_rate_historyA | Retrieve heart rate history stored in macOS HealthKit. Returns all samples recorded within the past N hours, sorted oldest-first. Data comes from Apple Watch and any other HealthKit sources (e.g. Workout app). Args: hours: How many hours of history to fetch (default 24, max ~168 for a week). Returns: JSON array of heart rate samples, each with bpm / timestamp / source / device. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| helper_status | Reports whether the HealthKit helper binary is built and ready. |
TDQS
Scored across 3 tools
Each tool serves a distinct purpose: one returns the most recent single reading, one retrieves historical data over a time window, and one streams live data. No overlap.
All tools follow a consistent verb_noun pattern using snake_case: get_heart_rate, get_heart_rate_history, stream_heart_rate.
Three tools is appropriate for heart rate access: current reading, history, and streaming. Not too few nor too many.
CRUD-like coverage: read single, read history, stream. Minor gap: no way to query a specific time range outside 'past N hours' or duration.