compare_brands
Compare all brands for a specific tier and return ranking by cost
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tier | Yes | Business tier (mei, pequeno, medio, grande) | |
| antecipation | No | Include anticipation fee |
Compare all brands for a specific tier and return ranking by cost
| Name | Required | Description | Default |
|---|---|---|---|
| tier | Yes | Business tier (mei, pequeno, medio, grande) | |
| antecipation | No | Include anticipation fee |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return concept (a ranking by cost). However, it does not state sort direction, whether the ranking is ascending/descending, tie behavior, or how the antecipation option affects ordering. Read-only nature is strongly implied by 'compare' and 'return' but never stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and resource, then scope and output. Nothing redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, the description states the scope and the shape of the result (ranking by cost), which is enough to call it correctly. It could still say whether the ranking includes anticipation fees by default, which is the one open question.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (tier with its enum values, antecipation with its default) are already fully documented in the schema. The description adds no extra semantics such as how antecipation changes the comparison, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (compare), a resource (all brands), a scope (a specific tier), and even the output dimension (ranking by cost). This clearly separates it from get_brands (list raw brands) and calculate_cost (single cost), though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — use this when you want a cost ranking across brands within one tier — but there is no explicit when-to-use statement, no exclusion conditions, and no mention of calculate_cost or get_brands as alternatives. An agent must infer the choice from the verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.