Skip to main content
Glama

discover_venues

Read-onlyIdempotent

Search for places to stay, eat and do from a natural-language question. Returns ranked places, recommended areas, and — when you pass stay (or the question states dates and party) — live availability whose offer ids go straight to book_venue. Use match_venues instead when the user names a specific place. Structured JSON, not a rendered UI.

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": {
      "query": "<query>"
    },
    "name": "discover_venues"
  }
}

Input Schema

NameRequiredDescriptionDefault
stayNoOptional. When given, results are grounded in live availability and offers for these dates and party. When absent, dates and party written in the question still apply.
partyNoWho is travelling, when known without dates (children change what suits). Ignored when `stay` carries its own party.
queryYes
renderNoAsk for layout hints alongside the results. Delivery (one body or a stream) is chosen by the Accept header, not here.
pageSizeNoMaximum number of results to return.
assumePartyNoOptional. The party to check live availability for when the question names dates but nobody is counted ("next weekend"). The question's own party, `party` or `stay` always wins; `meta.queryValues.guests` stays empty, so the answer can say the party was assumed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the description is not burdened with safety disclosure, yet it still adds real behavioral context: results are grounded in live availability, offer ids chain directly into book_venue, and output is structured JSON rather than a rendered UI. It stops short of covering pagination behavior or what happens when no results match, so it is not fully complete.

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 sentences, front-loaded with the core purpose, then the availability/booking payoff, then the sibling redirect and output-format note. No filler and no repetition of annotation or schema content.

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?

For a six-parameter nested search tool with no output schema, the description gives the essential shape of the return (ranked places, areas, availability offers) and the booking hand-off. Missing pieces are minor: result pagination and the meaning of `render`/A2UI hints are left entirely to the schema.

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 high (83%), so the schema already explains `stay`, `party`, `assumeParty` and `pageSize`. The description adds a little meaning by explaining the fallback precedence (question-stated dates and party still apply) and that offers from `stay` feed book_venue, but it does not clarify `filter`, `render`, or `pageSize` behavior 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?

Opens with a specific verb and resource ("Search for places to stay, eat and do") and immediately states the output shape: ranked places, recommended areas, and live availability. It also names the sibling it is not (match_venues) and the downstream tool it feeds (book_venue), so an agent can place it in the workflow without opening a 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?

Explicitly routes: use match_venues instead when the user names a specific place, and use this tool when there is a natural-language question. It also states the condition that unlocks live availability (passing `stay`, or dates and party in the question), which is the main branch point for choosing arguments.

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.

Resources