Skip to main content
Glama

get_client_daily_metrics

Read-only

Daily steps, water glasses, resting heart rate, active calories and sleep a client logged, over a date range. Also healthKcal/healthProteinG/healthCarbsG/healthFatG: the client's daily nutrition totals read from Apple Health / Health Connect (what MyFitnessPal and similar apps write there; healthNutritionSource says which). Totals only, no foods or times, and only data logged after the client connected. Separate from get_client_diet_logs: never add the two together.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "clientId": "<clientId>",
      "startDate": "<startDate>",
      "endDate": "<endDate>"
    },
    "name": "get_client_daily_metrics"
  }
}

Input Schema

NameRequiredDescriptionDefault
endDateYes
clientIdYesClient's User _id (from list_clients)
startDateYesDate as YYYY-MM-DD

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, but the description adds real behavioral context beyond it: data provenance (written by MyFitnessPal and similar apps into Apple Health / Health Connect, with healthNutritionSource identifying which), a coverage limitation (only data logged after the client connected), and a granularity constraint (totals only, no foods or times). It does not mention units, timezone handling for the daily boundary, or empty-result behavior, which keeps it from a 5.

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?

Front-loaded with the metric list, then the nutrition caveats, then the sibling exclusion — a sensible ordering with no filler sentences. The parenthetical about MyFitnessPal and healthNutritionSource is slightly dense but earns its place by explaining where those numbers come from.

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 three-parameter read with no output schema, the description covers what the response contains (specific activity metrics plus nutrition totals) and, importantly, what it does not contain (individual foods or timestamps). It omits units and return structure, but the former is at least implied by the field names and the latter is partly covered by the metric enumeration.

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 67%; clientId references list_clients and startDate specifies the YYYY-MM-DD pattern, with endDate inheriting via $ref. The description only adds 'over a date range' and does not clarify whether the range is inclusive, whether startDate must precede endDate, or whether there is a maximum span — details that matter for a date-bounded read and are absent from the schema.

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 names the exact resource (daily steps, water glasses, resting heart rate, active calories, sleep) and scopes it to a client over a date range, then separately enumerates the nutrition fields (healthKcal/healthProteinG/healthCarbsG/healthFatG). It explicitly distinguishes itself from the closest sibling, get_client_diet_logs, so an agent can tell which tool returns which data without opening a schema.

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 a concrete routing rule: 'Separate from get_client_diet_logs: never add the two together,' which tells the agent both the alternative and a specific misuse to avoid. It also states the eligibility condition ('only data logged after the client connected'). What it lacks is a positive trigger phrase for when this tool should be chosen over other per-client reads like get_client_progress or get_client_habit_compliance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.