Skip to main content
Glama

Get statistics

get_stats
Read-onlyIdempotent

Get compact flat usage stats for a grinder, machine, or bean.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe entity ID
scopeYesThe stats scope

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
brewsYes
last_beanNo
last_usedNo
grams_groundNo
effective_ageNo
beans_consumedNo
grams_consumedNo
grams_remainingNo
last_grind_settingNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already cover the safety profile with readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the 'compact flat' output-shape hint, which is useful, but it does not describe aggregation behavior, data source, or other operational side effects. No contradiction with annotations exists.

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 with no redundant words. It states the result shape (‘compact flat usage stats’) and the scope values without restating the title or schema.

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 two-parameter read operation with comprehensive annotations and an output schema present, the description is nearly complete. It could more explicitly clarify that the ID is scoped by the chosen type, but the schema's enum and 'entity ID' description already handle that detail.

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 description coverage is 100%, so both 'scope' and 'id' are already documented with descriptions and an enum. The description only restates the scope values ('grinder, machine, or bean') and adds no additional parameter-level meaning beyond what the schema provides.

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 uses a specific verb and resource: 'Get compact flat usage stats', and explicitly enumerates the valid scopes: 'grinder, machine, or bean'. This clearly distinguishes get_stats from sibling tools like list_shots, get_dial_state, or diagnose_shot, none of which provide statistical usage aggregates.

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 when to use the tool — when compact usage stats are needed for a grinder, machine, or bean — but it does not explicitly contrast it with alternatives or state when not to use it. No sibling routing or exclusion guidance is provided.

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.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools target a clearly distinct resource and action, and the list/register/update/set tool families are easy to tell apart. The closest pair is diagnose_preview and diagnose_shot, which are well-described but similar enough in name that an agent could select the wrong one.

Naming Consistency4/5

The overwhelming majority of tools follow a consistent verb_noun pattern (list_beans, register_grinder, update_shot, set_active). Minor exceptions like grinder_math and kb_changelog lack the imperative verb prefix, but they are readable and do not create real confusion.

Tool Count2/5

34 tools is above the 25+ threshold and feels heavy even though the domain is fairly rich. The many parallel list_* and register_* tools for beans, grinders, machines, scales, waters, programs, and recipes could plausibly be consolidated or trimmed without losing core capability.

Completeness3/5

The core shot lifecycle is well covered: log, update, delete, diagnose, and list shots, plus bean registration and maintenance tracking. However, most registered entities lack update/delete tools, and get_rule has no corresponding list_rules tool, leaving some obvious workflow gaps that agents must work around.

Resources