Skip to main content
Glama

zomato_search

Read-only

Zomato (India) restaurant search in a city, optionally filtered by a keyword: url, name, cuisines, cost for two, rating, distance, delivery time, serviceability, promoted/sponsored flag, and offer badges. The city-wide listing pages through an opaque cursor and accepts Zomato's own sort and Pure Veg filters.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "city": "<city>"
    },
    "name": "zomato_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
cityYesZomato public city slug, e.g. "mumbai" or "ncr" (the first path segment of a zomato.com city URL).
sortNoOptional sort order for the city-wide listing (used only when query is omitted). One of popularity_desc (Zomato's own default), rating_desc, cost_asc, or cost_desc.
queryNoOptional keyword to search restaurant names, dishes, or cuisines by within the city. Omit for a plain city-wide delivery listing. Keyword search returns a single unpaginated result set -- cursor, sort, and pure_veg apply to the city-wide listing only.
cursorNoOpaque pagination cursor from a previous city-wide listing response's next_cursor. Carries the sort/pure_veg selection of the call that produced it, so pass it on its own to fetch the next page.
pure_vegNoOptional. When true, restricts the city-wide listing to restaurants Zomato itself marks Pure Veg (used only when query is omitted).

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds useful behavioral context beyond that: the city-wide listing paginates via an opaque cursor, and sort/Pure Veg apply only to the non-keyword listing. No auth/rate-limit disclosure, but the pagination semantics are genuinely valuable.

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?

Two sentences, front-loaded with the core purpose before the pagination note. The embedded field list is efficient but slightly confusing placement-wise; overall it is tight with no filler.

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?

An output schema exists, so return values need not be described. Combined with the annotations and the description's pagination/conditional-parameter notes, an agent has enough to invoke it correctly. The one gap is the absence of explicit sibling routing, but completeness for calling the tool is solid.

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 the schema already documents city, sort, query, cursor, and pure_veg in detail (including enum values and cursor behavior). The description only restates the sort/pure_veg/cursor applicability, adding little beyond the structured definitions. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Zomato (India) restaurant search in a city") with the optional keyword filter, so an agent can tell it apart from sibling detail tools like zomato_restaurant or zomato_collections. Minor ambiguity: the trailing colon list (url, name, cuisines, cost for two...) reads like filters but is actually a result-field roster, which slightly muddies the purpose statement.

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?

Provides conditional guidance: keyword search returns a single unpaginated result set, while cursor/sort/pure_veg apply only to the city-wide listing (query omitted). This tells the agent when certain parameters are meaningful. It does not, however, name a sibling alternative or state when-not to use this tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.