Skip to main content
Glama

Place picks on days

place_picks
DestructiveIdempotent

Places chosen menu items on specific days. Every id is checked against this trip's menu (unknown ids are refused by name), tours against the operator's published schedule, and our packer sets the times. Returns the placed days and anything dropped, with the reason. Writes: replaces earlier picks on the dates sent; optional ratings (love / like / skip ids) are saved on the trip and skipped ids are never placed. Use after get_menu once the traveller has chosen; use build_trip to let our AI choose, add_stop to add one item and keep the rest of the day, edit_day to remove, move or swap placed items.

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": {
      "trip_id": "<trip_id>",
      "days": "<days>"
    },
    "name": "place_picks"
  }
}

Input Schema

NameRequiredDescriptionDefault
daysYesThe days to set, each with its date and the menu ids to place on it.
leg_idNoA stop's id (leg_id) on a multi-city trip, from start_trip's legs or get_trip's stops. Multi-city: place only this stop's days and menu ids.
ratingsNoThe traveller's quick ratings from the menu card, as menu ids: love = must be in the plan, like = included when it fits, skip = never. Saved on the trip, so a later build_trip honours them. Text-only clients: ask which they love, like or want to skip, and pass the ids.
trip_idYesThe trip's id (trip_id), as returned by start_trip or list_trips.
intent_refNoThe reference at the end of a chat line an Adonde card posted, e.g. K7Q2MD from "Code: K7Q2MD." (older cards: "(ref K7Q2MD)"). Pass it on its own: the card's exact arguments load on our side. Add only what the line says is still missing (for a route, the travellers).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior3/5

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

The annotations are high-level only (destructive, idempotent, closed-world). The description still adds real value beyond them: it discloses that earlier picks on the sent dates are replaced, that unknown ids are refused by name, that tours are validated against the published schedule, and that dropped items come back with a reason. That is meaningful behavioral context, though it does not cover return shape or failure modes in depth.

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?

Front-loads the action and the replacement semantics, then the validation guarantees, then the sibling routing, all in tightly packed sentences with no filler. The final sentence is a dense but efficient dispatch table.

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

Completeness5/5

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

No output schema exists, and the description compensates by explaining what comes back ('the placed days and anything dropped, with the reason'). Combined with the full schema coverage and the explicit sibling routing, an agent has everything needed to call it correctly.

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 every parameter is already documented in the schema, including love/like/skip semantics and the leg_id multi-city note. The description restates the ratings behavior ('skipped ids never placed', 'saved on the trip') but adds little that the schema does not already carry, so the baseline of 3 applies.

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 ('Places chosen menu items on specific days') and immediately scopes the operation against this trip's menu. An agent can distinguish it from build_trip or add_stop without opening the 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 names the precondition (after get_menu once the traveller has chosen) and routes to three named alternatives with the condition that selects each: build_trip for AI selection, add_stop for a single item preserving the rest of the day, edit_day for remove/move/swap.

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