Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Ask your agent about your own Apple Health data: 194 metrics, 22 tools, local, 0 deps.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
HEALTH_DATA_DIR, PAIRING_SECRET, HEALTH_EXPORT_PASSPHRASEค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add health-export --env HEALTH_DATA_DIR='ใส่ค่าของคุณ' --env PAIRING_SECRET='ใส่ค่าของคุณ' --env HEALTH_EXPORT_PASSPHRASE='ใส่ค่าของคุณ' -- npx -y health-export-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"health-export": {
"command": "npx",
"args": [
"-y",
"health-export-mcp"
],
"env": {
"HEALTH_DATA_DIR": "ใส่ค่าของคุณ",
"PAIRING_SECRET": "ใส่ค่าของคุณ",
"HEALTH_EXPORT_PASSPHRASE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"health-export": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"health-export-mcp"
],
"env": {
"HEALTH_DATA_DIR": "ใส่ค่าของคุณ",
"PAIRING_SECRET": "ใส่ค่าของคุณ",
"HEALTH_EXPORT_PASSPHRASE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
HEALTH_DATA_DIR envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub PhilipAD ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: PAIRING_SECRET, HEALTH_EXPORT_PASSPHRASE
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.10.2) เข้า registry 6 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js, MCPB ในเครื่องด้วย
ในหมวดเดียวกันมี Mirobody, FHIR MCP Server, Google Health MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server for your own Apple Health data. 194 metrics, 22 tools (20 read-only, plus two that log events to their own file) and 23 prompts over local stdio, with zero dependencies, no account and no server of ours in the path. Your agent gets JSON with units, date ranges and coverage, and answers from your numbers.
Docs and per-client config: [healthexport.dev/mcp](https://www.healthexport.dev/mcp/) · agents can run the setup from [SKILL.md](https://www.healthexport.dev/SKILL.md) · privacy: the server reads a local file and makes no network requests, so your health data never reaches us or a cloud AI through it.
claude mcp add health-export -- npx -y health-export-mcp
On a Mac that is the whole install: since 1.7.3 the server finds the MetricBridge app's iCloud Drive folder by itself. On Windows or Linux, or for an export in another folder, add --env "HEALTH_DATA_DIR=/path/to/folder" before the --. Needs Node.js 18 or later. Claude Desktop: open health-export.mcpb instead (no JSON, no Node on your PATH). Cursor, VS Code, opencode, OpenClaw, Hermes: AGENTS.md.
Then ask *"Use health-export: how did my HRV this week compare with last week?"* The agent calls get_trends and gets numbers that carry their own provenance: unit, exact date ranges, whether each window was complete, and how much history the export holds. This is the real output on 1.7.3 (from the built-in --demo dataset, which is synthetic so it can be published; a real export answers with the same fields and without the watermark):
[SYNTHETIC DEMO DATA] {"metric":"heart_rate_variability","unit":"ms","window":7,"recent":50.859,"prior":51.306,
"change":-0.447,"changePercent":-0.871,"direction":"flat","recentRange":{"from":"2026-08-12","to":"2026-08-18"}, "recentDays":7,"priorDays":7,"windowSatisfied":true,"coverage":{"firstDate":"2025-07-15","lastDate":"2026-08-18","days":400}}
No iPhone yet? claude mcp add health-export-demo -- npx -y health-export-mcp --demo serves that watermarked synthetic dataset, so you can try every tool in 30 seconds before installing anything on a phone.
.health-cache.json to iCloud Drive (or a folder, or your LAN). The app has a 7-day free trial, then one purchase ($24.99), no subscription. This server is MIT and free..mcpb (Claude Desktop), or the block for your client in AGENTS.md.npx -y health-export-mcp --doctor prints the folder it chose and why, each file's age, and freshness. iCloud can take a few minutes to bring a new export to the Mac.It's an MCP server that turns your Apple Health export into tools your AI agent can query in natural language: HRV, sleep, resting heart rate, steps, workouts, VO₂ max and 180+ more.
health-export-ai in serverInfo, and the npm package and repository names are unchanged.Just exported and the Mac has not seen it yet? iCloud can take a few minutes to sync the
file across, so a check 60 seconds after tapping Run in the app can still show the old
timestamp.
get_mcp_statusreportslastDataDateand the intradaylastWrite, which is the
quickest way to tell "still syncing" from "never arrived".
Try it with no iPhone needed:
npx -y health-export-mcp --demo(ornode server.mjs --demoin a clone) serves a deterministic synthetic dataset (400 days, workouts, events, sleep sessions) with every answer watermarked as synthetic. Or runnpm testto write a sample cache and exercise every tool.
The companion iOS app [MetricBridge](https://www.healthexport.dev) exports your Apple Health data, read-only, automatic, private. For this MCP server, export to a destination it can read:
| Destination | Notes |
|---|---|
| iCloud Drive (default) | Your Mac reads the synced folder automatically |
| Local folder | Any folder that syncs to your Mac (Dropbox, Google Drive, OneDrive, …) |
| LAN (HTTP / WebSocket) | Direct push to the server, great over Tailscale. Carries the daily summary and, when you switch on Settings > Local network > Strength log, the strength log (written to health-strength.json) |
Using a non-MCP tool (ChatGPT, n8n, Home Assistant)? The app can also POST to a webhook those tools read directly, see Works with.
Fastest, one command (Claude Code):
claude mcp add health-export -- npx -y health-export-mcp
claude mcp add health-export --env "HEALTH_DATA_DIR=/path/to/folder" -- npx -y health-export-mcp
Everything before -- is an option for claude mcp add, everything after it is the command that starts the server. On a Mac the server reads the app's iCloud Drive folder when HEALTH_DATA_DIR is unset (1.7.3+); if you set it to that folder by hand, double-quote it (the folder name contains a space) and use $HOME, because a quoted ~ is not expanded by the shell. Add --scope user to make the server available in every project (the default scope is the current project only). Check it with claude mcp list.
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json), and any client that takes an mcpServers block:
{
"mcpServers": { "health-export": { "command": "npx", "args": ["-y", "health-export-mcp"] } } }
Off a Mac, or for another folder, add
"env": { "HEALTH_DATA_DIR": "/path/to/folder" }to the entry (a leading~is expanded by the server).npx -yfetches the published package at run time without an install prompt (npm verifies package integrity), so it runs anywhere with no clone or absolute path. The server expands a leading~inHEALTH_DATA_DIRitself, so the JSON form can keep it. Prefer to pin a vetted local checkout instead? Use"command": "node", "args": ["REPLACE_WITH_ABSOLUTE_PATH/server.mjs"], get the path withnode -e "console.log(process.cwd()+'/server.mjs')"inside the repo.
Or skip JSON entirely, drag `health-export.mcpb` into Claude Desktop → Settings → Extensions.
Auto-configure from a clone:
git clone https://github.com/PhilipAD/health-export-mcp.git
cd health-export-mcp node apply-mcp-config.mjs # detects installed clients and writes the config for you
Cursor / VS Code: node gen-deeplinks.mjs prints one-click install links. opencode / OpenClaw / Hermes: see [AGENTS.md](AGENTS.md) for the exact block, same shape, one per client.
Restart the client and try:
*"Use health-export: what's my average HRV this week vs last week?"*
| Client / Agent | Integration | How |
|---|---|---|
| Claude Code | Native MCP | claude mcp add ... -- npx -y health-export-mcp |
| Claude Desktop | Native MCP | .mcpb bundle, or mcpServers block |
| Cursor | Native MCP | One-click deeplink, or ~/.cursor/mcp.json |
| opencode | Native MCP | opencode.json mcp block |
| OpenClaw | Native MCP | Add the server block to your MCP config |
| Hermes | Native MCP | Add the server block to your agent's MCP config |
| VS Code (Copilot / Continue) | Native MCP | One-click deeplink |
| ChatGPT · Gemini · Grok | Webhook* | Consume the app's webhook export |
| n8n · Home Assistant | Webhook* | Trigger automations on the exported JSON |
*MCP clients query this server directly over stdio. ChatGPT / Gemini / Grok / n8n / Home Assistant don't speak MCP, they consume the same Apple Health data via the iOS app's token-authenticated webhook export.
Full reference with request/response examples: [healthexport.dev/mcp](https://www.healthexport.dev/mcp/#tools).
| Tool | What it does |
|---|---|
get_mcp_status | Health check: source, metric/workout counts, which context files exist, latest data date, and a freshness summary. Call first. |
get_freshness | How current the export is: stale judged on the core files (daily cache, sleep sessions) against a stated threshold (26 h by default, HEALTH_STALE_AFTER_HOURS, or maxAgeHours), age_hours, as_of, last_data_date, per-file write times. state: "stale_copy" (with a stale_copy list) when the phone's .health-manifest.json or iCloud says this Mac holds an older copy of a core file than the phone wrote. Same rule as the status --max-age cron gate. |
list_metrics | Every available metric with unit, day count, and date range. |
get_health_metrics | Daily values for a metric (or all) over a date range + an aggregate (avg/sum/min/max/latest). Supports filterDays (restrict to days covered by logged events, with negate). Blood pressure at day granularity also lists the individual readings (health-readings.json). |
get_trends | Recent N-day window vs the prior N days: change, % change, direction. Supports excludeTravelDays. |
compare_periods | A metric across two arbitrary date periods (A vs B), or around a logged event via anchor: {eventId, days} (the event day excluded from both sides). |
get_structured_export | Clean JSON for chosen metrics/range, paginated with a cursor. |
| `ge
ตัดมาแค่ช่วงต้น อ่านต่อใน repo