Make Claude your personal health AI — locally.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"apple-health-mcp-server","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
<!-- Read this in [English](README.md) / [日本語](README.ja.md) --> # apple-health-mcp-server [](https://pypi.org/project/apple-health-mcp-server/) [](https://pypi.org/project/apple-health-mcp-server/) [](./LICENSE) [](https://rinoshiyo.github.io/apple-health-mcp-server/) > **Make Claude your personal health AI — locally.** > > Read this in [English](README.md) / [日本語](README.ja.md). `apple-health-mcp-server` exposes the contents of your Apple Health export (`export.xml` plus the ECG CSV and GPX route files Apple ships alongside it) to any [Model Context Protocol](https://modelcontextprotocol.io/) client — including Claude Desktop — through 21 MCP tools (18 read-oriented + 2 zip-flow + 1 job-status) backed by a local [DuckDB](https://duckdb.org/) database. ## Features - **Comprehensive ingestion.** Imports `Record`, `Workout` (with `WorkoutEvent`, `WorkoutStatistics`, `WorkoutRoute`, and `WorkoutMetadataEntry`), `ActivitySummary`, `Correlation`, `Me`, `ExportDate`, ECG voltage samples, and GPX route points. Categorical state-of-mind entries (iOS 17+) land in a dedicated table. - **All data stays local — no external transmission.** The importer reads files from disk, the server speaks MCP over stdio (HTTP is opt-in), and the only network artefact is whatever the client itself decides to send. The DuckDB engine itself is locked down at startup (`SET enable_external_access = false`), so even a prompt-injected `run_custom_query` cannot reach the host filesystem or the network — every fs / URL / extension function plus ATTACH / COPY / INSTALL / LOAD is refused at the engine level. `run_custom_query` is additionally SELECT-only and parse…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.