apple-health-mcp
Loads Apple Health export data into a local SQLite database and exposes tools to query health metrics and workout records via natural language.
README
apple-health-mcp
MCP server that loads your Apple Health export into an in-memory SQLite database and exposes it to LLMs via the Model Context Protocol.
Quick start
uvx apple-health-mcp --input ~/Downloads/export.zip
Or install it permanently:
uv tool install apple-health-mcp
apple-health-mcp --input ~/Downloads/export.zip
Exporting your data from Apple Health
- Open the Health app on your iPhone
- Tap your profile picture (top-right)
- Scroll down and tap Export All Health Data
- Confirm — this may take a few minutes
- Save or AirDrop the resulting
export.zipto your Mac
Claude Desktop integration
Add this to your claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"apple-health": {
"command": "uvx",
"args": [
"apple-health-mcp",
"--input",
"/absolute/path/to/export.zip"
]
}
}
}
Restart Claude Desktop. The tools will appear in the tools menu.
MCP tools
list_metrics()
Returns every distinct record type and its count.
list_workout_types()
Returns every distinct workout activity type and its count.
summary(metric, period)
Aggregates a metric by day, week, or month. Returns count, avg, min, max, and sum.
summary("StepCount", "week")
summary("HeartRate", "month")
query(sql)
Run arbitrary read-only SQL against the database. Only SELECT statements are allowed.
Schema:
records(type, source_name, unit, value, start_date, end_date)
workouts(activity_type, source_name, duration, duration_unit,
total_energy_kcal, total_distance, distance_unit, start_date, end_date)
Examples:
-- Daily step totals for the last 30 days
SELECT substr(start_date, 1, 10) AS day, sum(CAST(value AS REAL)) AS steps
FROM records WHERE type = 'StepCount'
GROUP BY day ORDER BY day DESC LIMIT 30;
-- Longest runs
SELECT start_date, duration, total_distance, distance_unit
FROM workouts WHERE activity_type = 'Running'
ORDER BY total_distance DESC LIMIT 10;
Environment variable
Instead of --input, you can set:
export HEALTH_EXPORT_PATH=~/Downloads/export.zip
Development
git clone https://github.com/smarzola/apple-health-mcp
cd apple-health-mcp
uv sync # install deps + dev tools
uv run pytest # run tests
uv run apple-health-mcp --input ~/Downloads/export.zip
Lint, format & typecheck
uv run ruff check src/ tests/ # lint
uv run ruff format --check src/ tests/ # format check
uv run mypy src/ # typecheck
Auto-fix:
uv run ruff check --fix src/ tests/ # auto-fix lint
uv run ruff format src/ tests/ # auto-format
Pre-commit hooks
uv run pre-commit install # one-time setup
# Now ruff + mypy run automatically on every commit
Cutting a release
gh release create v0.2.0 --generate-notes
# Triggers GitHub Actions → builds → publishes to PyPI → smoke tests
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.