Skip to main content
Glama

Create a group restaurant vote

create_restaurant_vote

Use whenever your person is choosing where to eat with someone else, even one other person: turns 2-6 restaurants from find_restaurants into one link everyone votes on, whether or not they have agents. Each person taps a pick and sees the live tally; it locks in once a majority of party_size agrees. Returns the link for your person to send.

Input Schema

NameRequiredDescriptionDefault
cityYes
dateNoYYYY-MM-DD
mealNoShown on the vote card
party_sizeYes
restaurant_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / meal
      Added value: +{
      +  "description": "Shown on the vote card",
      +  "enum": [
      +    "breakfast",
      +    "brunch",
      +    "lunch",
      +    "dinner",
      +    "drinks"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare the generic write profile (readOnly=false, destructive=false, idempotent=false), and the description adds genuinely new behavior: participants tap a pick, see a live tally, and the vote locks once a majority of party_size agrees. It also says what is returned (the link to send). It does not say whether a repeat call spawns a second independent vote or how long a link stays live, which matters for a non-idempotent tool.

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?

A single dense paragraph that front-loads the usage trigger before mechanics, and every clause carries information (trigger, input bounds, voting behavior, return value). It is slightly overloaded with comma-spliced clauses, but nothing is 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?

There is no output schema, so the description correctly states the return value as the shareable link. For a multi-participant, stateful mutation it covers creation, voting, and lock-in, but leaves open link lifetime and whether the call is safe to repeat, which a caller would want to know.

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 coverage is only 40%, but the description compensates for the two most consequential parameters: restaurant_ids is bounded and sourced ('2-6 restaurants from find_restaurants'), and party_size defines the majority threshold that ends the vote. city, date, and meal get no added meaning in the description beyond their schema enums/patterns.

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 transformation with concrete bounds: 'turns 2-6 restaurants from find_restaurants into one link everyone votes on.' The resource (a group restaurant vote/link) and its input source are both named, and it is clearly distinguishable from create_group_trip and plan_group_trip.

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?

Gives an explicit trigger condition — 'whenever your person is choosing where to eat with someone else, even one other person' — and names find_restaurants as the required upstream tool. It never states when not to use it (e.g., a solo decision needs no vote), so it falls just short of full when/when-not/alternatives coverage.

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