Skip to main content
Glama

get_period_summary

Read-only

Read daily calorie and macro totals against your configured targets for up to 31 diary days, flagging days without food entries so you can compare periods.

Instructions

Read daily kcal and Macro totals alongside the User's configured Daily Targets.

Includes both endpoints, at most 31 Diary Days, and marks days without Food Entries. To compare two periods, call once for each period. Returns numbers without evaluation. Past days reuse Food Entries already read during this server session, for up to twelve hours. Missing days use FatSecret's month totals; today is always fresh. Set refresh=true when the User requests fresh data or says they changed these days in the FatSecret app.

Input Schema

NameRequiredDescriptionDefault
to_dayYesLast Diary Day in the period, inclusive, as YYYY-MM-DD.
refreshNo
from_dayYesFirst Diary Day in the period, inclusive, as YYYY-MM-DD.

Output Schema

NameRequiredDescriptionDefault
daysYesEvery Diary Day in the period, in chronological order.
to_dayYes
from_dayYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond readOnlyHint=true: it discloses a 12-hour session cache for past days, that today is always fresh, that missing days fall back to FatSecret month totals, that days without entries are marked, and that results are returned without evaluation. These are exactly the caching/staleness behaviors an agent needs to reason about correctness.

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?

Purpose and scope are front-loaded, followed by caching and freshness notes that each carry real information. A few clauses ('To compare two periods, call once for each period') are slightly redundant, but nothing is padding.

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?

An output schema exists, so return values need no explanation; the description still covers the important behavioral edges (stale data, missing days, marked empty days). For a 3-parameter, read-only aggregation tool this is sufficient to call correctly.

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?

Schema coverage is 67%, but the one undocumented parameter (refresh) is fully explained in the description, including the trigger conditions for setting it. The description also adds constraints the schema lacks, such as the 31-day maximum span and inclusive endpoints.

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?

States a specific verb and resource: read daily kcal and macro totals alongside the user's daily targets, with explicit scope (both endpoints inclusive, max 31 diary days). The distinction from get_diary_day (per-day detail) is implied by 'totals' but no sibling is named, keeping it just short of a 5.

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?

Gives concrete when-to-call guidance for the refresh parameter ('when the User requests fresh data or says they changed these days in the FatSecret app') and explains how to compare two periods. It never states when not to use it (e.g. when a single day's entries are needed, use get_diary_day), so no alternatives are covered.

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