# samsung-health-mcp

Turns local Samsung Health CSV and ZIP downloads into agent-readable summaries of steps, sleep, heart and stress. Nothing leaves the machine.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 16
- Author: davidmosiah
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/davidmosiah/samsung-health-mcp
- Updated: 2026-10-08
- HTML: https://affpapa.org/en/nevibecode/mcp/samsung-health-mcp

## What it does

The server opens a personal-data export from the Samsung Health app: a folder of CSVs, one CSV, or a zip that holds CSVs. Record types come from filenames and column headers, since the export layout shifts between app versions and devices. What reaches the model is a bounded set of summaries and records, exposed as tools such as `samsung_health_daily_summary`, `samsung_health_weekly_summary`, `samsung_health_data_inventory` and `samsung_health_connection_status`.

There is no cloud API here. The server never signs into a Samsung account and does not read Health Connect. You export the data on Android first (Settings, then download personal data) and copy the folder over. Point the server at it with `setup --export-path` or `SAMSUNG_HEALTH_EXPORT_PATH`, then confirm with `doctor`.

A watched folder saves you the repeat work: `setup --watch-path` promotes the newest export or `*samsung*health*.zip` dropped there, both at startup and while running. The `samsung_health_reimport` tool forces a rescan. Stdio is the default transport; `--http` starts a sessionless HTTP endpoint on loopback at port 3000. Unofficial project, not tied to Samsung, MIT licensed.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SAMSUNG_HEALTH_EXPORT_PATH`, `SAMSUNG_HEALTH_TIMEZONE`, `SAMSUNG_HEALTH_PRIVACY_MODE`, `SAMSUNG_HEALTH_WATCH_PATH` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env SAMSUNG_HEALTH_EXPORT_PATH=<SAMSUNG_HEALTH_EXPORT_PATH> --env SAMSUNG_HEALTH_TIMEZONE=<SAMSUNG_HEALTH_TIMEZONE> --env SAMSUNG_HEALTH_PRIVACY_MODE=<SAMSUNG_HEALTH_PRIVACY_MODE> --env SAMSUNG_HEALTH_WATCH_PATH=<SAMSUNG_HEALTH_WATCH_PATH> --transport stdio samsung-health-mcp -- npx -y samsung-health-mcp-unofficial
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add samsung-health-mcp --env SAMSUNG_HEALTH_EXPORT_PATH=<SAMSUNG_HEALTH_EXPORT_PATH> --env SAMSUNG_HEALTH_TIMEZONE=<SAMSUNG_HEALTH_TIMEZONE> --env SAMSUNG_HEALTH_PRIVACY_MODE=<SAMSUNG_HEALTH_PRIVACY_MODE> --env SAMSUNG_HEALTH_WATCH_PATH=<SAMSUNG_HEALTH_WATCH_PATH> -- npx -y samsung-health-mcp-unofficial
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "samsung-health-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "samsung-health-mcp-unofficial"
            ],
            "env": {
                "SAMSUNG_HEALTH_EXPORT_PATH": "<SAMSUNG_HEALTH_EXPORT_PATH>",
                "SAMSUNG_HEALTH_TIMEZONE": "<SAMSUNG_HEALTH_TIMEZONE>",
                "SAMSUNG_HEALTH_PRIVACY_MODE": "<SAMSUNG_HEALTH_PRIVACY_MODE>",
                "SAMSUNG_HEALTH_WATCH_PATH": "<SAMSUNG_HEALTH_WATCH_PATH>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "samsung-health-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "samsung-health-mcp-unofficial"
            ],
            "env": {
                "SAMSUNG_HEALTH_EXPORT_PATH": "<SAMSUNG_HEALTH_EXPORT_PATH>",
                "SAMSUNG_HEALTH_TIMEZONE": "<SAMSUNG_HEALTH_TIMEZONE>",
                "SAMSUNG_HEALTH_PRIVACY_MODE": "<SAMSUNG_HEALTH_PRIVACY_MODE>",
                "SAMSUNG_HEALTH_WATCH_PATH": "<SAMSUNG_HEALTH_WATCH_PATH>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SAMSUNG_HEALTH_EXPORT_PATH=<SAMSUNG_HEALTH_EXPORT_PATH> -e SAMSUNG_HEALTH_TIMEZONE=<SAMSUNG_HEALTH_TIMEZONE> -e SAMSUNG_HEALTH_PRIVACY_MODE=<SAMSUNG_HEALTH_PRIVACY_MODE> -e SAMSUNG_HEALTH_WATCH_PATH=<SAMSUNG_HEALTH_WATCH_PATH> samsung-health-mcp npx -y samsung-health-mcp-unofficial
```
Replace <…> with your own values

## When to use it
- pull a step and sleep summary from your own Samsung Health export
- see which signal types and date ranges the export contains
- compare workouts and heart rate over the last seven days
- refresh the active export as new downloads arrive
- hand health data to an agent without a cloud round trip

## Example prompts
- Check setup with `samsung_health_connection_status`, then give me today's daily summary.
- Run `samsung_health_data_inventory` and list which signals and date ranges this export has.
- Call `samsung_health_weekly_summary` with `response_format=json` and compare steps, sleep, workouts and heart signals for the last week.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
