Skip to main content
Glama

Menu

get_menu
Read-onlyIdempotent

The restaurant's published menu: sections, dishes, prices, dietary labels and allergens exactly as the restaurant lists them. Optional text or dietary filter. Returns item_id values for get_order_link.

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": {
      "restaurant_id": "<restaurant_id>"
    },
    "name": "get_menu"
  }
}

Input Schema

NameRequiredDescriptionDefault
searchNoOnly dishes whose name or description contains this text.
dietaryNoOnly dishes with this dietary label, e.g. "vegan", "vegetarian", "gluten".
restaurant_idYesThe restaurant_id returned by search_restaurants (for example "oak-nosh").

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds two useful behavioral facts beyond that — results are unnormalized ("exactly as the restaurant lists them") and the return includes item_id values for chaining. It says nothing about result size limits, pagination, or behavior when a filter matches nothing, which are the remaining gaps.

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, front-loaded with what the tool returns, then filtering capability, then the cross-tool handoff. No filler, no restatement of the title, and each sentence contributes new information.

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 three-parameter read tool with no output schema, the description is nearly sufficient: it names the return contents and flags the item_id field an agent needs for the follow-up call. A brief note on empty-result or pagination behavior would make it fully self-contained.

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 all three parameters are already documented with patterns, max lengths and examples. The description only restates that the text and dietary filters are optional, adding no matching semantics (case sensitivity, partial-match behavior, multi-label handling) beyond what the schema provides. Baseline 3 is appropriate.

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 restaurant's published menu: sections, dishes, prices, dietary labels and allergens exactly as the restaurant lists them" gives a concrete resource plus the exact payload contents, which cleanly separates it from get_restaurant (metadata) and get_order_link (ordering). The closing clause adds the secondary output (item_id) that distinguishes its return shape from a plain restaurant lookup.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the description positions the tool as a browse-and-filter step and notes it "Returns item_id values for get_order_link," which sketches a two-tool workflow. However, it never says when to prefer this over get_restaurant or list_events, and there are no exclusions or preconditions beyond the restaurant_id requirement stated in the schema.

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