Skip to main content
Glama

One-command install with Delx Wellness for Hermes: npx -y delx-wellness-hermes setup — preconfigures this connector and the other 8 in a dedicated Hermes profile.

Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop — see the install section below.


HTTP (v2 stateless)

Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:

npx -y samsung-health-mcp-unofficial --http
# GET  http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp   (sessionless)

Env: SAMSUNG_HEALTH_MCP_HOST, SAMSUNG_HEALTH_MCP_PORT, SAMSUNG_HEALTH_MCP_TRANSPORT=http.

Unofficial local-first MCP server that reads Samsung Health personal-data CSV/ZIP exports and exposes them safely to AI agents.

Unofficial project. Not affiliated with, endorsed by, or supported by Samsung Electronics. Samsung Health is a trademark of Samsung Electronics. This package reads exports you generate yourself from the Samsung Health app.

No live Samsung Health cloud API. Samsung has Android SDK paths for partner apps, but this Node MCP does not log into Samsung, scrape accounts, or read Health Connect directly. It reads local exports now; a future Android bridge can sit beside it.

Built by David Mosiah as part of Delx Wellness, a registry of local-first wellness MCP connectors for Claude, Cursor, Hermes, OpenClaw and other MCP-compatible agents.

Related MCP server: Zepp Life MCP

Why this exists

Samsung Health can collect high-signal wellness data from Galaxy Watch, Galaxy Ring and phones: steps, sleep, exercise, heart rate, oxygen saturation, body measurements and more. Samsung's official Health Data SDK can access many of these data types from Android apps with user permission, but distribution requires the Samsung app process and partnership flow. For a desktop MCP today, the reliable privacy-preserving path is a local personal-data download.

This connector reads that download locally, supports a folder of CSV files, a single CSV, or a zip containing CSV files, then exposes bounded summaries and records through MCP. No Samsung credentials, no OAuth token, no cloud proxy.

Setup In 60 Seconds

  1. On Android, export data from Samsung Health:

Samsung Health -> More options -> Settings -> Download personal data
  1. Transfer the downloaded Samsung Health folder or zip to this machine.

  2. Configure and verify:

npx -y samsung-health-mcp-unofficial setup --export-path /path/to/SamsungHealth
npx -y samsung-health-mcp-unofficial doctor

Or let the CLI find the newest local Samsung Health export in Downloads, Desktop or Documents, copy it into managed local storage, and save that path:

npx -y samsung-health-mcp-unofficial setup --auto-import

Supported export paths:

  • /path/to/SamsungHealth/ or another folder containing CSV files

  • /path/to/samsung_health_export.zip

  • /path/to/com.samsung.health.step_count.csv

Then add this to your MCP client config:

{
  "mcpServers": {
    "samsung_health": {
      "command": "npx",
      "args": ["-y", "samsung-health-mcp-unofficial"]
    }
  }
}

For Claude Desktop, run setup --client claude --export-path /path/to/SamsungHealth and the snippet is written for you.

Keep it fresh — watch a folder (no Android device needed):

npx -y samsung-health-mcp-unofficial setup --watch-path /path/to/health-exports

Now every time you download personal data from the Samsung Health app and drop the new SamsungHealth folder (or its .zip, or any *samsung*health*.zip) into that folder, the connector auto-promotes the newest one to be the active export — on server startup and live while it runs — and refreshes the cached summaries. You can also trigger a re-scan on demand with the samsung_health_reimport tool. This is the cross-platform recurring-refresh path; a fully live Samsung Health sync still needs a native Android Health Connect bridge.

Try It With Your Agent

Use samsung_health_connection_status to check setup, then run samsung_health_daily_summary.
Give me a 5-line wellness brief for today.
Call samsung_health_data_inventory first. What Samsung Health signals and date ranges
are available in this export?
Call samsung_health_weekly_summary with response_format=json. Compare steps,
sleep, workouts and heart signals across the last 7 days.

Data Availability

The parser is intentionally flexible because Samsung personal-data downloads can vary by app version, locale and device. It infers record types from CSV filenames and headers.

Data

Available

Notes

Steps

yes

samsung_health_steps

Distance + active energy

yes

When present in CSVs or exercise rows

Heart rate + resting heart rate

yes

Galaxy Watch exports when available

HRV, respiratory rate, oxygen saturation

yes

Device and region dependent

Sleep + sleep stages

yes

Galaxy Watch sleep exports when available

Workouts / exercise

yes

Duration, distance, calories and activity type

Body weight + body fat

yes

When logged or synced

Live Health Connect read

no

Planned separate Android bridge

Samsung account login

no

Deliberately unsupported

Tools

Start with these:

  • samsung_health_connection_status - verify export path before reading data

  • samsung_health_data_inventory - discover available record types, date coverage, source count and stale export risk

  • samsung_health_daily_summary - daily wellness brief from export data

  • samsung_health_weekly_summary - weekly comparison and habit signals

Diagnostics:

  • samsung_health_capabilities

  • samsung_health_agent_manifest

  • samsung_health_privacy_audit

Records:

  • samsung_health_list_records - bounded records by type, start, end, limit

  • samsung_health_list_workouts - bounded workout records

Maintenance:

  • samsung_health_reimport - re-scan the watch folder (SAMSUNG_HEALTH_WATCH_PATH) and promote the newest export, refreshing summaries; pass check_only: true to preview without promoting

Prompts And Resources

Prompts:

  • samsung_health_daily_review

  • samsung_health_weekly_review

Resources:

  • samsung-health://capabilities

  • samsung-health://agent-manifest

  • samsung-health://inventory

  • samsung-health://summary/daily

  • samsung-health://summary/weekly

Privacy And Safety

  • Samsung Health exports are sensitive personal health data. Keep them local.

  • Never commit Samsung Health CSV/ZIP exports to GitHub, paste raw exports into chat, or upload them to issues.

  • The export path is read-only; the MCP never modifies your source export.

  • SAMSUNG_HEALTH_PRIVACY_MODE defaults to summary; raw record dumps are opt-in. It applies to every data path: samsung_health_list_records, samsung_health_list_workouts and samsung_health_daily_summary (which returns individual workout records only when privacy_mode is structured or raw).

  • samsung_health_weekly_summary accepts privacy_mode but always aggregates — a 30-day window of raw workouts is not what a weekly rollup is for. Rather than echoing back a mode it did not apply, the response carries requested_privacy_mode (what you asked for), privacy_mode (always summary, what was applied) and a privacy_disclosure naming the override. For record-level access use samsung_health_daily_summary or samsung_health_list_workouts.

  • Record and workout metadata is allowlisted, not denylisted. Only recognised wellness columns (times, durations, distances, calories, heart/sleep/body metrics, source names) leave the parser. GPS coordinates, altitude, deviceuuid and free-text user fields are dropped at parse time and never reach any tool, resource or raw response; a withheld_metadata_count field reports how many columns were dropped.

  • This is not medical advice. The server exposes data you exported yourself for personal AI workflows, not diagnosis or emergency monitoring.

Configuration

SAMSUNG_HEALTH_EXPORT_PATH=/path/to/SamsungHealth  # folder, csv, or zip
SAMSUNG_HEALTH_PRIVACY_MODE=summary                # summary | structured | raw
SAMSUNG_HEALTH_TIMEZONE=America/Fortaleza          # local-day summaries
SAMSUNG_HEALTH_WATCH_PATH=/path/to/health-exports  # optional: auto-reimport the newest export dropped here

setup writes these settings into ~/.samsung-health-mcp/config.json with 0600 permissions.

setup --auto-import scans common local folders for the newest Samsung Health export and copies it to ~/.samsung-health-mcp/exports/ with restrictive permissions. Fully live Samsung Health sync still requires a separate Android bridge.

Watch folder (recurring auto-reimport)

setup --watch-path <dir> (or SAMSUNG_HEALTH_WATCH_PATH) makes the connector treat a folder as a drop zone. On startup, while running (via filesystem events), and whenever the samsung_health_reimport tool is called, it promotes the newest Samsung Health export found there — a SamsungHealth export directory of CSVs, a single *.csv, or any *samsung*health*.zip — to be the active export and clears the snapshot + incremental caches so the next summary reflects the new data. samsung_health_connection_status reports the watch folder state and warns when a newer export is waiting. Fully live sync still requires a native Android Health Connect bridge.

Hermes / Remote Setup

npx -y samsung-health-mcp-unofficial setup --client hermes --export-path /path/to/SamsungHealth
npx -y samsung-health-mcp-unofficial doctor --client hermes
hermes mcp test samsung_health

After Hermes config changes, use /reload-mcp or hermes mcp test samsung_health. Don't restart the gateway for normal export access.

Development

git clone https://github.com/davidmosiah/samsung-health-mcp.git
cd samsung-health-mcp
npm install
npm test

Optional local HTTP transport:

SAMSUNG_HEALTH_MCP_TRANSPORT=http SAMSUNG_HEALTH_MCP_PORT=3000 node dist/index.js
curl http://127.0.0.1:3000/health

Official References


📧 Contact & Support

Skill or MCP

Same package, two doors. MCP registers tools on stdio/HTTP. The skill can drive the same tools through the CLI when the client has no MCP:

npx -y samsung-health-mcp-unofficial call samsung_health_connection_status --json '{}'

Copy skill/SKILL.md into your agent skills dir.

Available Tools

18 tools
samsung_health_agent_manifestSamsung Health Agent ManifestB
Read-onlyIdempotent

Machine-readable install, runtime and privacy guidance for AI agents operating Samsung Health export data.

ParametersJSON Schema
NameRequiredDescriptionDefault
clientNogeneric
response_formatNomarkdown

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds context that this is a manifest providing guidance, which is useful for an agent to understand its role. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that directly conveys the tool's purpose with no redundant information. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a manifest with no output schema, the description is adequate but could be more complete by specifying the return format or what the manifest contains (e.g., 'Returns a JSON object with ...'). It provides a high-level view but lacks details about the output structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention the parameters. Although the parameters (client and response_format) are simple enums and somewhat self-explanatory, the description should compensate by explaining their purpose, which it fails to do.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'install, runtime and privacy guidance' for AI agents using Samsung Health export data. While specific, it is somewhat broad in what 'guidance' entails, but it distinguishes the tool from siblings as a metadata/manifest tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives, such as when to call it before other operations or what prerequisites exist. The description does not mention exclusions or contexts where it is not appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_capabilitiesSamsung Health MCP CapabilitiesA
Read-onlyIdempotent

Explain supported Samsung Health export data, unavailable live Samsung Health access, privacy modes and recommended agent workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral context: it notes that live Samsung Health access is unavailable, clarifying a key limitation. This goes beyond annotations by explaining what the tool does not do, which is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence covering all key aspects (export data, live access, privacy modes, workflow). No wasted words or redundancy; every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a meta-tool with one optional parameter and no output schema, the description covers the essential context: what it explains and its scope. It does not require explanation of return values. Minor omission: it could mention the output format control, but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. However, it does not mention the optional response_format parameter or its enum values (markdown, json). The schema is self-explanatory, but the description adds no value beyond it, leaving a minor gap for a simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Explain supported Samsung Health export data, unavailable live Samsung Health access, privacy modes and recommended agent workflow.' It uses a specific verb ('Explain') and distinct resources (export data, live access, privacy modes, workflow), differentiating it from sibling tools like list_records or daily_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for understanding overall capabilities, but it does not explicitly state when to use it versus alternatives. No 'when to use' or 'when not to use' guidance is provided, leaving the agent to infer context from sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_clear_incremental_cacheClear Samsung Health Incremental Import CacheA
DestructiveIdempotent

Manually clear the incremental import cache at ~/.samsung-health-mcp/incremental-cache.json. The cache tracks the latest parsed timestamp per Samsung Health record category so subsequent samsung_health_list_records calls (with incremental_cache: true) skip already-seen records. Use this when you want to force a full re-parse without changing the export file. The cache also auto-invalidates when the export file mtime changes. Gated by explicit_user_intent: true (requires explicit user intent to wipe local cache).

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it destructive and idempotent, but the description adds context by specifying the exact file path, what the cache tracks, and the requirement for explicit user intent. It clarifies that this only affects local cache, not source data, going beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, each serving a distinct purpose: action, background, usage, and gating. It is efficiently written and front-loads the primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple cache-clearing utility, the description fully explains the tool's behavior, use case, and caveats (auto-invalidation, explicit intent). No output schema is needed, and the parameter is trivial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, response_format, is self-explanatory from the schema enum and default, but schema description coverage is 0% and the description does not mention it. For such a trivial parameter this is acceptable, but the description could have explicitly stated the default format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action (clear) and the specific resource (~/.samsung-health-mcp/incremental-cache.json), explaining the cache's role and differentiating it from simply deleting a file. The 'Use this when' clause further clarifies its specific purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit guidance on when to use the tool: 'Use this when you want to force a full re-parse without changing the export file.' It also notes auto-invalidation on mtime change, which signals when manual clearing is unnecessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_connection_statusSamsung Health Connection StatusA
Read-onlyIdempotent

Check local Samsung Health export path, Node version, privacy mode and Hermes client posture without reading full export data.

ParametersJSON Schema
NameRequiredDescriptionDefault
clientNogeneric
response_formatNomarkdown

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive. The description adds that it does not read full data, aligning with annotations and providing specific context. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-front-loaded sentence that is efficient and contains no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Missing output schema; description fails to describe the return format or structure. Parameters are not explained. The tool's output behavior is unclear for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must compensate. The description does not mention the two parameters (client, response_format) at all, leaving their roles and defaults unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks specific items (export path, Node version, privacy mode, Hermes client posture) without reading full data, distinguishing it from siblings that may read full data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when needing these specific status checks without full data overhead, but does not explicitly state when to use vs. alternatives or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_daily_summarySamsung Health Daily SummaryA
Read-onlyIdempotent

Build a daily wellness summary from local Samsung Health export data. Individual workout records follow privacy_mode (default summary: aggregates only). It is not live Samsung Health and not medical advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD local date. Defaults to today in the configured timezone.
timezoneNoIANA timezone, e.g. America/Fortaleza. Defaults to SAMSUNG_HEALTH_TIMEZONE or UTC.
privacy_modeNo
response_formatNomarkdown

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds valuable behavioral context: it clarifies that data is local, not live, not medical advice, and that privacy_mode defaults to 'summary' which aggregates individual records. This goes beyond the annotation safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The primary purpose is front-loaded, and the caveats are placed efficiently. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main purpose and privacy behavior but does not specify the output format or what 'structured' and 'raw' privacy modes produce. Since there is no output schema, the agent might be uncertain about return shapes. This is a notable gap for a tool with multiple enums.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (date and timezone have descriptions; privacy_mode and response_format do not). The description explains privacy_mode's effect ('aggregates only') but does not elaborate on response_format or the 'structured'/'raw' options. It partially compensates for the schema gap but leaves some parameters under-explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Build a daily wellness summary') and a clear resource ('from local Samsung Health export data'). It also distinguishes itself from live Samsung Health and from sibling tools like weekly_summary, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for daily summaries but does not explicitly contrast with weekly_summary or other tools. It doesn't state when not to use it or mention alternatives. The context is implied rather than explicit, which is adequate but not fully guiding.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_data_inventorySamsung Health Data InventoryA
Read-onlyIdempotent

Scan the local Samsung Health export once and report available record types, workouts, date coverage, freshness and safe next calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOptional ISO date/time upper bound.
startNoOptional ISO date/time lower bound.
timezoneNoIANA timezone, e.g. America/Fortaleza. Defaults to SAMSUNG_HEALTH_TIMEZONE or UTC.
privacy_modeNo
response_formatNomarkdown

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, providing strong safety and idempotency guarantees. The description adds that it scans once and reports various aspects, but does not significantly extend beyond the annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single sentence of 18 words, front-loaded with the verb 'Scan' and the resource 'local Samsung Health export.' Every word is necessary, and there is no redundancy or filler. Excellent conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters (2 with enums) and no output schema. The description fails to explain the output structure, parameter usage, or how the various reported items are presented. It omits important details like what 'freshness' means or how 'safe next calls' are determined, leaving the agent with an incomplete understanding of the tool's behavior and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description does not mention any of the 5 parameters (start, end, timezone, privacy_mode, response_format). Schema description coverage is 60%, meaning some parameters are documented in the schema, but the description adds no additional meaning or usage context for the parameters. This leaves the agent with insufficient guidance on how to use optional filters or format options.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool scans the local Samsung Health export and reports record types, workouts, date coverage, freshness, and safe next calls. It uses specific verbs and resources, and distinguishes itself from siblings like samsung_health_list_records and samsung_health_daily_summary by focusing on an inventory overview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as a first step before other tools by mentioning 'safe next calls,' but lacks explicit when-not or alternative guidance. Context from sibling tool names helps, but the description does not directly state when to use this over other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_demoSamsung Health DemoA
Read-onlyIdempotent

Returns realistic example payloads of samsung_health_daily_summary, samsung_health_weekly_summary, and samsung_health_wellness_context with Galaxy-Watch-style values, so agents see the contract before parsing a real export.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds that it returns 'realistic example payloads' which implies no side effects. No additional behavioral traits beyond annotations are needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the key action and purpose. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the main purpose and outcome (example payloads for three data types), but does not mention the optional parameter or provide a complete picture of the output structure. Adequate for a demo tool but has gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one optional parameter (response_format) with an enum, but the description completely ignores it. With 0% schema description coverage, the description should have explained the parameter's purpose or options.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies exactly what the tool returns (example payloads for three specific Samsung Health data types) and the value (seeing the contract before real export). It clearly distinguishes from sibling tools like samsung_health_daily_summary which return real data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose statement implies it should be used for previewing data formats before parsing real exports. It doesn't explicitly state when not to use it or mention alternatives, but the context of sibling tools makes the use case clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_export_freshnessSamsung Health Export FreshnessA
Read-onlyIdempotent

Check how recently the local Samsung Health export directory/CSVs were written. Returns mtime, days_since_export, an is_stale flag, and a recommendation. Considered stale if the export is older than 30 days, or older than 7 days with no recent records (the inventory's latest-record date is also older than 7 days). Use before relying on samsung_health_daily_summary or samsung_health_wellness_context to confirm the export is fresh.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavioral details beyond annotations: it returns mtime, days_since_export, is_stale flag based on defined conditions. Annotations already indicate readOnly and idempotent, so description complements well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is efficient, front-loading purpose and return values. Could be slightly more concise, but no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Describes return values adequately for a read-only tool, but omits explanation of the response_format parameter. Without output schema, the description covers main aspects but misses the parameter detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter (response_format) is not mentioned in the description. Schema description coverage is 0%, and the description provides no help on how to use the parameter or its effect on output. The parameter is simple but description fails to add value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it checks the freshness of the Samsung Health export directory/CSVs, lists specific return values (mtime, days_since_export, is_stale flag, recommendation), and distinguishes itself from sibling tools by advising use before relying on other tools like samsung_health_daily_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear guidance: 'Use before relying on samsung_health_daily_summary or samsung_health_wellness_context' and defines stale conditions. Lacks explicit when-not-to-use or alternatives, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_list_recordsList Samsung Health RecordsB
Read-onlyIdempotent

List bounded records from local Samsung Health CSV/ZIP export data. Use type/start/end filters to keep output small.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOptional ISO date/time upper bound.
typeNoSamsung Health record type, e.g. samsung_health_steps.
limitNo
startNoOptional ISO date/time lower bound.
privacy_modeNo
response_formatNomarkdown
incremental_cacheNoWhen true and `type` is set, skip records already seen in a previous call (per-category cache at ~/.samsung-health-mcp/incremental-cache.json). Cache auto-invalidates when the export file mtime changes.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. Description adds context of operating on local CSV/ZIP data, which is valuable but not rich in behavioral traits like caching details or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two brief sentences, no fluff, but could benefit from more structure (e.g., bullet points) for readability. Still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters and no output schema, the description is too short. Lacks details on return values, caching semantics, and what 'bounded records' means. Incomplete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 57%, and description only mentions 'type/start/end filters' without elaborating on purpose, format, or constraints for parameters like privacy_mode, response_format, or incremental_cache. Does not compensate for uncovered schema properties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists bounded records from local Samsung Health export data, with filtering options. Distinguishes from siblings like 'samsung_health_list_workouts' and 'samsung_health_daily_summary' by specifying local export data and bounded records.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Advises using type/start/end filters to keep output small, but does not explicitly compare to sibling tools or state when not to use this tool. Implies usage for filtered record listing, but lacks exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_list_workoutsList Samsung Health WorkoutsB
Read-onlyIdempotent

List bounded workout records from local Samsung Health CSV/ZIP export data.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOptional ISO date/time upper bound.
limitNo
startNoOptional ISO date/time lower bound.
privacy_modeNo
response_formatNomarkdown

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, fully covering safety and idempotency. The description adds only the source ('local CSV/ZIP export') and the 'bounded' scope, which is minimal. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 11 words, front-loaded with the action 'List' and the resource 'workout records'. Every word is essential and there is no redundancy, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters (including enums for privacy_mode and response_format), no output schema, and no explanation of 'bounded' behavior or effects of parameters like limit or privacy_mode, the description is far too sparse to enable confident invocation by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 40% schema coverage (descriptions for 'start' and 'end' only), the description provides zero additional parameter meaning. It does not mention any of the five parameters, their roles, or how they affect results, leaving agents with incomplete understanding for effective usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb 'list', the resource 'workout records', and the source 'local Samsung Health CSV/ZIP export data', which distinctly sets it apart from sibling tools like 'list_records' (generic records) and 'daily_summary' (summary) and 'data_inventory' (inventory).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives like 'samsung_health_list_records' or 'samsung_health_daily_summary'. It only mentions 'bounded workout records' vaguely but fails to explain that it is for bounded date ranges or that siblings exist for other record types or unbounded access.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_onboardingDelx Wellness Onboarding FlowA
Read-onlyIdempotent

Return the 11-question onboarding flow plus the current profile state and missing fields. Read-only — does NOT persist anything. Pair with samsung_health_profile_update once the user answers. Cross-connector: the same profile is shared by every Delx Wellness MCP (whoop, garmin, oura, fitbit, strava, polar, withings, apple-health, samsung-health, google-health, nourish, cycle-coach, cgm, air).

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoOnboarding locale. Defaults to en.
response_formatNomarkdown

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description reinforces read-only behavior, adds specifics about the output (11 questions, profile state, missing fields), and mentions cross-connector sharing, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first declares purpose and output, second adds usage guidance and cross-connector context. No wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two optional parameters, the description covers purpose, output content, pairing suggestion, and cross-connector context. Annotations handle safety. No missing critical information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (one of two parameters described). The description does not add details about parameters beyond the schema; it mentions the onboarding flow but not how locale or response_format affect it. Baseline 3 is appropriate given moderate coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action: 'Return the 11-question onboarding flow plus the current profile state and missing fields.' It distinguishes from siblings (e.g., profile_get, profile_update) by specifying the onboarding flow and cross-connector sharing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states it is read-only and does not persist, and advises pairing with samsung_health_profile_update for actual updates. Mentions cross-connector sharing to set context for multi-source profiles.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_privacy_auditSamsung Health Privacy AuditB
Read-onlyIdempotent

Return the local privacy and export-file posture without revealing health data.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds a behavioral guarantee about not revealing health data, which is useful but limited. It does not elaborate on what 'posture' encompasses or any other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no wasted words, front-loaded with the core purpose. Highly concise and structured appropriately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and annotations, the description is minimally adequate. However, it lacks detail on what fields or structure the return value has, which could leave the agent uncertain about the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not mention the single parameter (response_format) at all. The description adds no meaning beyond the schema, failing to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool returns local privacy and export-file posture, explicitly noting it does not reveal health data. This differentiates it from sibling tools like list_records or list_workouts which return health data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for privacy auditing but provides no explicit guidance on when to use this tool versus alternatives such as data_inventory or wellness_context. No exclusions or comparisons are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_profile_getGet Delx Wellness ProfileA
Read-onlyIdempotent

Read the shared Delx Wellness profile from ~/.delx-wellness/profile.json. Returns preferred name, goals, devices, training/nutrition/exercise/agent preferences and safety flags. NEVER contains OAuth tokens or API secrets — this connector is local-export and has no cloud auth, but the profile contract is the same across every Delx Wellness MCP. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond annotations by specifying the exact file path, that it never contains tokens, the local-export connector nature, and that the profile contract is standard across Delx Wellness MCP. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently written with no filler. It front-loads the core purpose and returns a list of contents, then adds security and contract context in later sentences. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with one optional parameter and no output schema, the description covers the key aspects: what it reads, what it returns, and security properties. However, it could be more precise about the return format or fields, though the listed items provide adequate guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter (response_format) has an enum and default in the schema, but the description adds no extra meaning or guidance about it. With 0% schema description coverage, the description should compensate but does not, though the parameter is trivial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'read' and the resource 'Delx Wellness profile' from a specific file path. It lists the returned fields and distinguishes itself from sibling tools by emphasizing it is a read-only local export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the read-only nature and that it contains no OAuth tokens or API secrets because it's a local-export with no cloud auth, which guides usage context. However, it does not explicitly compare to sibling tools or state when to use vs. alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_profile_updateUpdate Delx Wellness ProfileA

Persist a partial patch to ~/.delx-wellness/profile.json. Requires explicit_user_intent=true (otherwise returns USER_ACTION_REQUIRED). Rejects secret-like fields (oauth, token, secret, password, cookie, refresh, api_key, session) at write time. Use to record preferred name, goals, devices, training context, nutrition context, exercise preferences, agent preferences, and safety flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
patchYesPartial WellnessProfileDocument patch. Top-level keys: profile, goals, devices, training, nutrition, preferences, safety, notes.
response_formatNomarkdown
explicit_user_intentNoMust be true to persist. Prevents accidental writes from agent inference.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes partial patch semantics, required flag, and field restrictions, adding value beyond annotations which only show non-readonly nature. Lacks return value or error details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Multiple sentences front-load the core action, but could be more structured (e.g., bullet points). No superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key aspects: purpose, constraints, typical uses. Missing output description, but acceptable given no output schema and moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds structure for the patch object by listing top-level keys, and schema already documents response_format enum and explicit_user_intent constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool persists a partial patch to a specific file, lists updateable content categories, and distinguishes from sibling 'get' tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly requires explicit_user_intent flag and rejects secret fields, but could mention when to avoid using (e.g., if no user intent) or alternatives like profile_get for reading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_quickstartSamsung Health QuickstartA
Read-onlyIdempotent

Personalized 3-step setup walkthrough for the human user. Adapts to current state (is SAMSUNG_HEALTH_EXPORT_PATH set? does the export folder/CSV/zip exist and parse?). Call this first when the user asks 'how do I connect Samsung Health?'. This connector is local-first and never touches Samsung, Health Connect, or any cloud API.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint, idempotentHint, and not destructive. The description adds valuable context: it adapts to current state (checking env variables and file existence) and is local-first, never touching external APIs. This goes beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, each earning its place: first defines tool purpose, second adds usage guidance and behavioral context. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description covers purpose, usage, and behavioral traits adequately. Minor gap: the output format (markdown vs json) is implied via the parameter but not described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not explain the only parameter (response_format enum). The parameter is optional with a default, but its role in controlling output format is not mentioned, leaving the agent without needed context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'personalized 3-step setup walkthrough' and identifies the specific use case: 'Call this first when the user asks how do I connect Samsung Health?' It distinguishes itself from sibling tools by being the initial onboarding step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use it ('when the user asks how do I connect Samsung Health?') and implies it's the first step. However, it does not provide explicit when-not-to-use guidance or mention alternative sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_reimportReimport Samsung Health Export from Watch FolderA
Idempotent

Re-scan the configured watch folder (SAMSUNG_HEALTH_WATCH_PATH or setup --watch-path <dir>) for a newer Samsung Health export. If a newer SamsungHealth folder / .csv / samsunghealth.zip is found, it is promoted to the active export, the in-memory snapshot cache and incremental cache are cleared, and subsequent summaries reflect the new data. With check_only=true, only report what would happen without promoting. This is the cross-platform recurring-refresh path — the native Android Health Connect bridge needs an Android device and is separate. Requires explicit user intent when promoting a new export (force or non-check_only); check_only is read-only inspection.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoWhen true, re-promote the newest export in the folder even if it already matches the active export (forces a cache refresh).
check_onlyNoWhen true, report the watch-folder status without promoting a new export.
response_formatNomarkdown

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond annotations by disclosing that caches are cleared on promotion, that check_only is read-only, and that promotion requires explicit user intent. It also specifies what file types are considered newer (SamsungHealth folder, *.csv, *samsung*health*.zip), adding concrete behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences with the main action front-loaded, followed by mode-specific behavior and comparison to the Android bridge. Dense but every sentence adds critical information; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description covers the full workflow: what gets scanned, what qualifies as newer, what happens on promotion, cache clearing, check_only behavior, and the alternative Android path. All three optional parameters are accounted for contextually, making the tool's behavior predictable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers force and check_only descriptions, and the description adds meaning by explaining check_only's effect ('only report what would happen without promoting') and tying force to the explicit-intent requirement. response_format is not explained but has an enum and default, so the baseline is 3 with slight improvement to 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool re-scans a watch folder for newer Samsung Health exports and promotes them to the active export, clearing caches. It distinguishes itself from siblings by explicitly naming it as the cross-platform recurring-refresh path and separating it from the Android Health Connect bridge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains when to use the tool (recurring refresh via watch folder) and provides an exclusion: the native Android Health Connect bridge is separate and needs an Android device. It also clarifies the role of check_only as read-only inspection and the explicit-user-intent requirement for promotion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_weekly_summarySamsung Health Weekly SummaryA
Read-onlyIdempotent

Build a weekly wellness summary from local Samsung Health export data. It is not live Samsung Health and not medical advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
end_dateNoYYYY-MM-DD local end date. Defaults to today in the configured timezone.
timezoneNoIANA timezone, e.g. America/Fortaleza. Defaults to SAMSUNG_HEALTH_TIMEZONE or UTC.
privacy_modeNo
response_formatNomarkdown

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, openWorldHint, idempotentHint, destructiveHint. The description adds value by clarifying it's non-medical advice and not live data, which aligns with the read-only nature. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences; first states purpose, second clarifies limitations. No redundant phrases, front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderate-complexity tool with rich annotations but no output schema, the description covers source, non-medical, non-live. Missing output format details, but sufficient for basic understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 40% schema coverage, the description should compensate but does not explain any parameter beyond what the schema provides. Privacy_mode and response_format enums are left without context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it builds a weekly wellness summary from local Samsung Health export data, distinguishing it from siblings like daily_summary by specifying weekly. It also clarifies it's not live or medical advice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like daily_summary or list_records. It implies it requires export data but does not state prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

samsung_health_wellness_contextSamsung Health Wellness ContextA
Read-onlyIdempotent

Normalize local Samsung Health export sleep, workout and activity data into the shared wellness_context shape for recommendation engines.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD local date. Defaults to today in the configured timezone.
notesNo
sorenessNo
timezoneNoIANA timezone, e.g. America/Fortaleza. Defaults to SAMSUNG_HEALTH_TIMEZONE or UTC.
injury_flagsNo
response_formatNomarkdown

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds context that data is normalized into a shape for recommendation engines, which is valuable beyond the annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence (18 words) that front-loads the action and purpose. Every word earns its place with no redundancy or verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the high-level purpose but lacks details on how normalization works, the exact shape of wellness_context, or what the output looks like. With 6 parameters and no output schema, the description is too brief for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, and the description provides no additional meaning for the parameters (notes, soreness, injury_flags, response_format). The description fails to compensate for the low coverage, leaving parameter semantics unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool normalizes local Samsung Health export data into the shared wellness_context shape for recommendation engines. It uses a specific verb (normalize) and identifies the resource and outcome, distinguishing it from sibling tools that handle raw data or summaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when raw data needs normalization for recommendations, but it does not explicitly state when to use this tool vs alternatives or when not to use it. No exclusions or context about prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.7.4
    • Changedsamsung_health_daily_summary1 field changed
      • addedInput schema / properties / privacy_mode
        Added value: +{
        +  "enum": [
        +    "summary",
        +    "structured",
        +    "raw"
        +  ],
        +  "type": "string"
        +}
  2. 18 tool updatesv0.5.0
    • First observedsamsung_health_agent_manifest
    • First observedsamsung_health_capabilities
    • First observedsamsung_health_clear_incremental_cache
    • First observedsamsung_health_connection_status
    • First observedsamsung_health_daily_summary
    • First observedsamsung_health_data_inventory
    • First observedsamsung_health_demo
    • First observedsamsung_health_export_freshness
    • First observedsamsung_health_list_records
    • First observedsamsung_health_list_workouts
    • First observedsamsung_health_onboarding
    • First observedsamsung_health_privacy_audit
    • First observedsamsung_health_profile_get
    • First observedsamsung_health_profile_update
    • First observedsamsung_health_quickstart
    • First observedsamsung_health_reimport
    • First observedsamsung_health_weekly_summary
    • First observedsamsung_health_wellness_context

TDQS

A3.5/5.0

Scored across 18 tools

Disambiguation3/5

Several setup/discovery tools overlap: connection_status, privacy_audit, export_freshness, and data_inventory all report export/privacy posture, and list_records vs list_workouts has fuzzy boundaries. Core data tools are distinct and descriptions are detailed, but an agent could still select the wrong meta tool.

Naming Consistency3/5

All tools use the samsung_health_ prefix with snake_case, but suffix styles are mixed: verb_noun names like list_records and profile_get coexist with bare nouns like capabilities, demo, quickstart, and onboarding. The shared prefix helps, but there is no consistent verb_noun pattern.

Tool Count3/5

18 tools is on the heavy side, and several serve similar meta purposes such as manifest, capabilities, connection_status, privacy_audit, quickstart, and onboarding. Most tools have a role, but consolidation would make the set feel tighter.

Completeness4/5

The toolset covers local export reading, record listing, summaries, profile persistence, reimport, cache management, and onboarding. Minor gaps like no explicit export-path configuration tool and no single-record detail view are workable via existing setup guidance and filters.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    A local-first MCP server that enables AI agents to read user-authorized Google Health API v4 data from Fitbit, Pixel Watch, and partners via OAuth, with tokens never leaving the machine.
    26
    1,097
    53
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server that provides local caching, sync, and tools for Zepp Life health data including steps, sleep, heart rate, workouts, and body measurements, supporting both file exports and cloud session access.
    10
    10
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Local-first MCP server that reads Apple Health export files (export.xml/zip) and exposes activity, sleep, HRV, and workout data to AI agents, keeping all data on your machine.
    18
    221
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server to read daily activity, sleep, heart rate, and body metrics from Google Health API, allowing AI assistants like Claude to access your health data. Optionally syncs health metrics to an Obsidian vault.
    5
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidmosiah/samsung-health-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server