Skip to main content
Glama

Feedback reasons

get_feedback_reasons
Read-only

Reasons a person can pick after rating the agent. Call it once when the widget opens and cache it; re-read when the platform says the dictionary changed, or lazily by the rev value. Two lists: reasons are the live ones to draw in the window, retired are switched off and are only there so old feedback stays readable. 🔴 label is the best text WE have for the asked language and may fall back (lang says to what). source_label is what the admin actually WROTE and source_lang is the language they wrote it in — translate from THAT, never from label: translating our fallback would make a translation of a translation, losing a little at every step. When a card is shown untranslated, send reason_shown_lang with the rating so a reason picked blindly can be told from one picked on purpose. If this door is silent, show the free-text field anyway and still count the thumb — never drop a rating.

Input Schema

NameRequiredDescriptionDefault
localeNoLanguage of the person, e.g. ru / uk / de-AT. Falls back exact → base → English, never Russian.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare it read-only and closed-world, so the description focuses on data semantics instead: two separate lists (`reasons` live, `retired` kept only for reading old feedback) and the label-vs-source_label distinction with the 'never translate from label' warning. It does not state caching lifetime or whether retired entries can appear in the live list, leaving minor gaps.

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 is front-loaded in one short sentence, followed by ordered operational guidance. It is dense and includes downstream UI instructions (send `reason_shown_lang` with the rating) that belong to a different call, which is scope creep but each sentence still carries real information.

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?

There is no output schema, so the description must describe the return shape — and it does: the `reasons`/`retired` split, plus `label`, `lang`, `source_label`, `source_lang`, and `rev`. Given a single optional parameter and read-only annotations, nothing needed to call it correctly is missing.

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?

Only one parameter, `locale`, and the schema already documents the exact → base → English fallback chain at 100% coverage. The description never discusses the input parameter, instead explaining response-side fields (`lang`, `source_lang`), so it adds no meaning beyond the schema here.

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?

Opens with a specific verb+resource: returns the reason options a person can pick after rating the agent. It immediately distinguishes itself from sibling write tools like rate_agent_result or add_feedback_message by framing itself as a read-only dictionary lookup.

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?

Explicit invocation guidance: call once when the widget opens, cache the result, re-read only when the platform signals a dictionary change or lazily via `rev`. It also prescribes the degraded path — if the call returns nothing, still show the free-text field and count the rating.

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.

Resources