Skip to main content
Glama
sepehr071

baneh-mcp

by sepehr071

Find cheapest product

bn_find_cheapest
Read-onlyIdempotent

Find in-stock products matching every query word, sorted by price in Toman; set min/max price to skip accessories and spare parts.

Instructions

Find the cheapest products whose title contains every word of the query, one list sorted by price (Toman).

Use for the lowest price of X. Words may come in any order. Raise min_price to skip accessories and spare parts. Items without a price are skipped. complete=false means more matches exist than were scanned (2,000 cap). Check bn_product before buying: the same title can be a different model or size.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax products to return.
queryYesProduct name or keyword, Persian or English, e.g. 'تلویزیون ال جی 55' or 'iphone'.
max_priceNoMaximum price in Toman, e.g. 20000000.
min_priceNoMinimum price in Toman, e.g. 5000000.
in_stock_onlyNoOnly items in stock. Out-of-stock items are mostly discontinued, with stale prices.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), but the description adds real behavioral context the annotations cannot: unpriced items are skipped, matching is order-insensitive on title words, results are capped at a 2,000-item scan, and complete=false signals truncated results. That last point is critical for interpreting partial output and is exactly the kind of disclosure that prevents misreads.

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 core behavior is front-loaded in the first sentence, followed by usage, parameter guidance, and result semantics in tight succession. Every sentence carries information, though the density is high enough that it reads as a compact spec rather than prose.

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 carries the return-value burden and does so: it specifies the sort order, currency, truncation flag, and what is excluded from results. Combined with full parameter coverage, an agent has everything needed to call this correctly and interpret the response.

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 100%, so the baseline is 3; the description goes beyond it by explaining the practical intent behind min_price ('skip accessories and spare parts') and by clarifying query matching semantics (words in any order, title-only). It adds usage-level meaning rather than restating field definitions.

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 ('Find the cheapest products'), the matching rule ('whose title contains every word of the query'), and the output ordering ('one list sorted by price (Toman)'). This is clearly distinguishable from sibling bn_search, which returns matches rather than a price-ranked cheapest-first list.

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?

'Use for the lowest price of X' gives an explicit when-to-use trigger, and 'Check bn_product before buying' routes the agent to a sibling for the follow-up step. It also advises raising min_price to skip accessories, which is operational guidance. No explicit when-not-to-use case is stated, so it falls just short of a 5.

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