Skip to main content
Glama

katto_rate_clip

Record the user's good or bad verdict on a clip, with an optional reason, to improve which moments Katto picks. Only rate when the user voiced an opinion.

Instructions

Record the user's verdict on a clip: rating good or bad, with an optional reason in their words. Same signal as the thumbs up/down on the Katto results page; it is used to improve which moments Katto picks. Only rate when the user expressed an opinion, never on your own. Rating again records the new verdict (the latest one counts). Returns { ok, clip_index, rating }.

Input Schema

NameRequiredDescriptionDefault
idYesJob id.
ratingYesThe user's verdict on the clip.
reasonNoOptional: why, in the user's words (max 2000 characters).
clip_indexYes0-based clip index.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and idempotentHint=false, but the description adds meaningful context the annotations cannot: that re-rating overwrites the prior verdict ('the latest one counts') and that the signal feeds moment selection. It also documents the return shape since no output schema exists. Missing only permission/auth or error behavior, so a 4 rather than a 5.

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?

Front-loads the action, follows with the mapping to a known UI signal, then the usage constraint, overwrite semantics, and return shape. Every sentence earns its place with no filler or redundancy.

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 supplies the return shape ({ ok, clip_index, rating }) plus the upstream effect and re-rating rule. Together with 100% schema coverage and safety annotations, an agent has everything needed to call it correctly.

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 all four parameters are already documented (id, clip_index 0-based, rating enum, reason with 2000-char cap). The description's 'optional reason in their words' adds only a slight nuance over the schema's own wording. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb and resource ('Record the user's verdict on a clip: rating good or bad') and ties it to a concrete product surface ('Same signal as the thumbs up/down on the Katto results page'). An agent can distinguish this from siblings like katto_adjust_clip or katto_rerender_clip without opening any schema.

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 when-to-use and when-not: 'Only rate when the user expressed an opinion, never on your own.' This is exactly the routing/exclusion guidance that prevents an agent from fabricating a rating, and no sibling alternative is left ambiguous.

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