get_stores_by_category
Get all cashback stores in a specific category.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 30, max 100) | |
| category_id | Yes | Category ID (use list_categories to find IDs) |
Get all cashback stores in a specific category.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 30, max 100) | |
| category_id | Yes | Category ID (use list_categories to find IDs) |
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 of behavioral disclosure. It does not state that the operation is read-only, does not explain the effect of the limit parameter (and even contradicts it by claiming 'all' stores while a limit is imposed), and does not mention response format or any side effects. This is a significant gap for a simple listing tool.
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?
The description is a single, direct sentence that front-loads the action and resource. It is concise and readable. However, it is so terse that it omits critical details, though this does not penalize conciseness itself. It earns a high score for efficiency, though not perfection.
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?
Given the absence of an output schema and annotations, the description is incomplete for an agent to call correctly. It fails to clarify pagination behavior (the limit parameter), what fields are returned, or any limitations. The claim of returning 'all' stores is misleading given the default limit of 30. The description does not cover enough context for reliable invocation.
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 description coverage is 100%, with both category_id and limit fully described in the input schema. The description adds no extra semantic value beyond the schema, so the baseline of 3 applies. It does not clarify relationships between parameters or provide usage nuances.
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 clearly states the action (get) and resource (cashback stores) filtered by category. It is unambiguous about the core purpose. However, it does not explicitly differentiate from siblings like search_stores or get_deals, though the specific 'by_category' phrasing implies a distinct use case.
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?
The description offers no guidance on when to use this tool versus alternatives such as search_stores or get_deals. It lacks any contextual cues, prerequisites, or exclusions. An agent is left to infer when this tool is the right choice.
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.