Skip to main content
Glama

Search vendors

tf_search_vendors
Read-onlyIdempotent

Find restaurants and stores by name or cuisine near a delivery point to get open vendor codes. Use for vendor lookup, not dish prices.

Instructions

Search restaurants and stores by name or cuisine near a delivery point.

Use to find a vendor code by name. No dish prices: use tf_menu or tf_search_dishes. Tapsi's search lists only restaurants open now (total 0 at night, as on the site); tf_restaurants also lists closed ones.

Input Schema

NameRequiredDescriptionDefault
latYesDelivery point latitude, e.g. 35.7577.
longYesDelivery point longitude, e.g. 51.4095.
pageNoPage number, from 1.
limitNoMax vendors.
queryYesDish or restaurant word, e.g. 'پیتزا'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld, idempotent and non-destructive, so safety is covered. The description adds real behavioral context beyond that: results are limited to restaurants open now (total 0 at night, matching the site), whereas tf_restaurants includes closed ones. It does not cover pagination behavior or result ordering/size, hence not 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?

Three short sentences, zero filler, front-loaded with what the tool does before the routing advice and the behavioral caveat. Every sentence carries information an agent needs to choose and call this tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description implies the return is vendor entries keyed by vendor code, which is enough to call it correctly. Combined with complete schema coverage and annotations, the definition is essentially complete; only return shape details are left implicit.

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 lat/long/page/limit/query are all documented in the schema, and the baseline here is 3. The description only lightly gestures at the query parameter ('by name or cuisine'), and its phrasing slightly diverges from the schema's 'Dish or restaurant word', adding little beyond the structured fields.

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 ('Search restaurants and stores') plus the scope constraint ('by name or cuisine near a delivery point'), and explicitly distinguishes itself from tf_restaurants and the dish-oriented siblings. An agent can identify this as the vendor-name lookup 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?

Gives an explicit use case ('Use to find a vendor code by name') and names the alternatives with the condition that selects each: tf_menu/tf_search_dishes for dish prices, tf_restaurants when closed vendors matter. This is full when-to-use/when-not routing.

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