Apple Health MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ES_HOST | No | Elasticsearch host | localhost |
| ES_PORT | No | Elasticsearch port | 9200 |
| ES_USER | No | Elasticsearch username | elastic |
| ES_INDEX | No | Elasticsearch index name | apple_health_data |
| ES_PASSWORD | No | Elasticsearch password | elastic |
| RAW_XML_PATH | Yes | Path to the Apple Health XML file | raw.xml |
| XML_SAMPLE_SIZE | No | Number of XML records to sample | 1000 |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_health_summary_esA | Get a summary of Apple Health data from Elasticsearch. The function returns total record count, record type breakdown, and (optionally) a date range aggregation. Notes for LLM:
|
| search_health_records_esA | Search health records in Elasticsearch with flexible query building. Parameters:
Notes for LLMs:
|
| get_statistics_by_type_esA | Get comprehensive statistics for a specific health record type from Elasticsearch. Parameters:
Returns:
Notes for LLMs:
|
| get_trend_data_esA | Get trend data for a specific health record type over time using Elasticsearch date histogram aggregation. Parameters:
Returns:
Notes for LLMs:
|
| get_xml_structureA | Analyze the structure and metadata of an Apple Health XML export file without loading the entire content. Returns:
Notes for LLMs:
|
| search_xml_contentA | Search for specific content in the Apple Health XML file and return matching records as XML text. Parameters:
Returns:
Notes for LLMs:
|
| get_xml_by_typeA | Get all records of a specific health record type from the Apple Health XML file. Parameters:
Returns:
Notes for LLMs:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
The tools are mostly distinct, with clear separation between Elasticsearch-based analytics (get_health_summary_es, get_statistics_by_type_es, get_trend_data_es, search_health_records_es) and XML file operations (get_xml_by_type, get_xml_structure, search_xml_content). However, there is some potential overlap between get_statistics_by_type_es and get_trend_data_es, as both analyze specific record types over time, which could cause confusion in tool selection.
Naming follows a consistent snake_case pattern throughout, with most tools using a clear verb_noun structure (e.g., get_health_summary_es, search_health_records_es). The only minor deviation is get_xml_structure, which uses 'get' instead of a more descriptive verb like 'analyze', but overall the naming is highly predictable and readable.
With 7 tools, the count is well-scoped for an Apple Health data analysis server. This number provides comprehensive coverage for both Elasticsearch analytics and XML file operations without being overwhelming, and each tool appears to serve a distinct purpose that justifies its inclusion.
The toolset covers key operations for health data analysis, including summary retrieval, statistical analysis, trend visualization, and search capabilities across both Elasticsearch and XML sources. A minor gap exists in the lack of explicit update or delete tools, but given the server's focus on read-only data analysis from Apple Health exports, this is reasonable and agents can work effectively with the provided tools.