Skip to main content
Glama
gokhancvs

market-fiyati-mcp

by gokhancvs

market_compare_basket

Read-onlyIdempotent

Compare exact product IDs and quantities across depots to find the lowest basket total, respecting budget limits and rejecting over-budget requests.

Instructions

Compare exact product IDs and pack quantities via individual product lookups within market_status limits.basketItems and limits.basketRequestBudget, including retries. Over-budget calls are rejected before fetching. Never split the list or switch tools to bypass the budget; ask the user to narrow the comparison. Reuse sufficient search offers instead of redundant lookups. Present complete groups first and show all groups tied at the lowest total. groupBy=market may span branches; check selected offer depot IDs and requiresMultipleDepots before claiming one physical shop. depot means one physical shop. Present splitBasket as a saving only when complete and strictly cheaper than the stated complete basket baseline; follow market://guide for missing groups and equal totals. Incomplete totals are null. No automatic substitutes or purchases.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
depotsYesSelected branch IDs from nearest; required and never auto-expanded.
groupByNomarket
distanceNoSearch radius in km. 50 is a local safety limit.
latitudeYesExplicit user-selected latitude.
longitudeYesExplicit longitude.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
metaYes
errorNo
warningsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.4

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, but the description adds crucial behavior beyond that: retries are included, over-budget calls are rejected before fetching, incomplete totals are null, and no automatic substitutions or purchases occur. It also clarifies subtle semantics like 'depot means one physical shop' and when splitBasket may be presented as a saving. These are exactly the behavioral details an agent needs beyond the annotation flags.

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 description is a dense paragraph of ~150 words, but every sentence carries operational weight (budget, grouping, splitBasket rules, depot definition). It is front-loaded with the core purpose, then constraints, then edge-case handling. While longer than the typical high-quality one-liner, the tool complexity justifies the length and there is no fluff or repetition.

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?

The tool has an output schema, so return structure does not need to be described. The description covers budget limits, retries, incomplete totals, splitBasket presentation rules, depot semantics, groupBy branch behavior, and explicitly states no substitutions. It even references an external guide (market://guide) for missing groups and equal totals, leaving very few gaps for an agent to call and interpret results correctly.

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 description coverage is 67% (4 of 6 params have descriptions). The description compensates with meaningful context: it ties items to 'exact product IDs and pack quantities', explains the impact of groupBy=market possibly spanning branches, and clarifies that depots are required and never auto-expanded. It does not systematically explain each parameter, but it adds enough to make parameter intent clear beyond the schema.

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 opens with 'Compare exact product IDs and pack quantities via individual product lookups', which clearly states the verb, resource, and scope. It distinguishes this from siblings by referencing basket-level constraints (basketItems, basketRequestBudget) and later conditions on presenting splitBasket, which is unique to basket comparison. An agent can tell it apart from single-offer tools like market_compare_product_offers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-not guidance: 'Never split the list or switch tools to bypass the budget; ask the user to narrow the comparison.' It also sets expectations for result handling ('Present complete groups first...') and fallback rules ('follow market://guide for missing groups'). It does not name an alternative tool explicitly, but the sibling list and the 'switch tools' prohibition make the boundary clear enough.

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