Body fat log
fitbit_body_fat_logBody fat percentage log entries for a date. Fitbit REST: GET /1/user/-/body/log/fat/date/{date}.json.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date, yyyy-MM-dd or 'today' (required). |
fitbit_body_fat_logBody fat percentage log entries for a date. Fitbit REST: GET /1/user/-/body/log/fat/date/{date}.json.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date, yyyy-MM-dd or 'today' (required). |
Changes observed during successful MCP inspections.
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the description carries a lower burden. It adds the REST endpoint, confirming the data source and that it is a non-mutating GET, but says nothing about return shape, empty results, or data availability caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler; the resource scope comes first. The REST path in the second sentence is somewhat redundant metadata but is compact and aids cross-referencing with Fitbit docs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial one-parameter read with a readOnly annotation, the definition is nearly sufficient. However, there is no output schema, and the description does not indicate that the response is a collection of intraday entries with timestamps and values, leaving the return shape to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'date' parameter whose format and 'today' alias are fully documented in the schema pattern. The description adds no syntax or format detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (body fat percentage log entries) scoped to a date, and the REST path confirms it is a read of the body fat endpoint. It is distinguishable from siblings like fitbit_weight_log by resource, but never explicitly routes the agent between the two similar body-metric log tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (e.g., that data only exists when a body-fat-capable scale is synced), and no mention of alternatives such as fitbit_weight_log. Usage is only implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.