Apple Health MCP Server

Apple Health data querying via SQL using DuckDB for local analysis.

Data last scanned today · Reviewed today

213 tools555TypeScript

Overview

This server enables natural language querying and SQL-based analysis of Apple Health data exported as CSV files. By utilizing DuckDB for backend processing, it supports automated report generation and provides features like lazy loading for efficient data handling. To use it, you must export your Apple Health data using the Simple Health Export CSV application on iOS. The server then consumes this directory via a required environment variable, allowing your MCP-compatible client to interpret and analyze your personal health metrics.

Our verdict

With a high-risk security score of 21/100, this server is intended for advanced users who understand the implications of using community-maintained software. Because the project has not been editorially reviewed and relies on a single contributor with no documented license, it carries significant supply-chain and maintenance risks. It is not recommended for users requiring strict data governance or those uncomfortable manually managing local health exports.

  • Supports direct SQL execution for custom data analysis
  • Uses DuckDB for performant local data processing
  • Configurable query caching with TTL
  • Minimal dependency footprint with only two direct dependencies
  • High security risk score of 21/100
  • No detected license for legal usage terms
  • Lack of official maintenance or security oversight
  • Last code commit was over 190 days ago

Setup

Claude Desktop
{
  "mcpServers": {
    "apple-health-mcp": {
      "args": [
        "-y",
        "@neiltron/apple-health-mcp"
      ],
      "command": "npx"
    }
  }
}

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
health_schemaGet information about available tables and their structurelow
health_queryExecute SQL queries directly on your health datalow
health_reportGenerate comprehensive health reportslow

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What is required to provide data to this MCP server?

You must export your Apple Health data in CSV format using the Simple Health Export CSV app, then point the HEALTH_DATA_DIR environment variable to the directory containing these files.

How can I adjust the memory usage of the server?

You can configure memory usage by setting the MAX_MEMORY_MB environment variable in your Claude Desktop configuration, which defaults to 1024 MB.

Are there specific naming or formatting requirements for the CSV files?

Yes, files must follow naming patterns like HKQuantityTypeIdentifier*.csv, HKCategoryTypeIdentifier*.csv, or HKWorkoutActivityType*.csv and contain columns for type, sourceName, startDate, endDate, value, and unit.

What should I do if I encounter memory errors?

If you experience memory errors, try reducing the value assigned to the MAX_MEMORY_MB environment variable or utilizing shorter time windows for your queries.

How are table names formatted when querying data?

Table names must be referenced in lowercase, for example, hkquantitytypeidentifierheartrate.

Alternatives

Changelog

Badge

Apple Health MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.