Skip to main content
Glama

Get feedback statistics

feedback_stats
Read-onlyIdempotent

Aggregate feedback statistics across many assets in ONE call - counts per asset and per version (v1, v2, ...), split by type (text/recording), tag, and author, with first/last feedback timestamps. Scope to a folder (folder_id), one asset (asset_id - an asset id or any of its version ids; the whole asset is reported, version by version), or the whole team; narrow the time window with from/to. Items are sorted by feedback count, most first; assets with no feedback in the window are left out unless include_empty is true. Paged: limit (default 50, max 200) and offset; total is the number of items, next_offset is set while more remain. Each item carries asset_id (the asset) and versions[], each with its version_id. Use this for trend questions like 'are v1 notes going down across this client's recent videos' or 'what tags dominate this folder' instead of calling feedback_list per asset. For reading the feedback text itself across assets, use recent_activity.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoOnly count feedback created at/before this ISO timestamp
fromNoOnly count feedback created at/after this ISO timestamp
limitNoItems per page (default 50, max 200)
offsetNoItems to skip (use next_offset from the previous response)
team_idNoTeam to act in: the team.id an earlier result named. Omit for the team selected in the Flask app (which the user can switch at any time).
asset_idNoScope to one asset or version stack (mutually exclusive with folder_id)
folder_idNoScope to this folder's subtree (mutually exclusive with asset_id)
include_emptyNoAlso list assets with no feedback in the window (default false)

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description is free to add behavioral detail — and it does: sort order (by feedback count, most first), silent omission of zero-feedback assets unless include_empty, pagination semantics with next_offset, and the per-item shape (asset_id plus versions[].version_id). That is substantive disclosure beyond what annotations provide.

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?

The scoping options and routing guidance are front-loaded and every sentence carries information, but the single dense paragraph is long, and a few clauses (limit defaults, offset) restate the schema. Slightly tighter structure would help, though nothing is egregiously wasted.

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?

With no output schema, the description carries the return-shape burden and does so: it specifies the item structure, sorting, pagination fields, and empty-asset behavior. An agent can form the expected response and call it correctly without further context.

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 coverage is 100%, so the baseline is 3, but the description adds genuine nuance the schema lacks: asset_id accepts an asset id or any of its version ids and the whole asset is reported version by version, and folder_id scopes to the subtree. Most other parameter details (defaults, mutual exclusivity, include_empty) are restatements of the schema, so it lands just above baseline.

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 verb and resource ('Aggregate feedback statistics across many assets in ONE call') and immediately enumerates the aggregate dimensions (counts per asset/version, split by type, tag, author, timestamps). It is clearly differentiated from siblings feedback_list and recent_activity, which it names explicitly.

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 gives concrete routing rules: use this for trend questions like 'are v1 notes going down across this client's recent videos' instead of calling feedback_list per asset, and 'For reading the feedback text itself across assets, use recent_activity.' Both when-to-use and the alternative tool are named with the condition that selects them.

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.