Skip to main content
Glama

Present Picker

Pick a gift

pick_gift
Read-onlyIdempotent

Returns up to 5 gift ideas from a fixed bank of 255 checked gift ideas, matched to who the gift is for, a budget band, interests, and an optional gift style. Each pick has a one-line description, a why-line explaining the fit, one buying note, its budget band, a link that opens that exact idea on thepresentpicker.com, and a photo link to the picture on that idea's page. Some picks carry a good_to_know line: a plain handling fact the bank states for that idea, such as the weight of a cast iron skillet, present only where the bank states one. The result also carries lead_pick — the top pick at full bank depth, with its buying notes (what to look for and what to avoid) and a care-and-pairing tip — more_ideas with the remaining picks under the heading 'More ideas if that one misses', and answer_text, that focused answer formatted as text: it opens by naming who the gift is for, in the caller's words, and how the top pick fits them. Recipient and budget band are hard filters. A style, when given, is a hard filter too: every pick carries the style, and the result reports total_matches and, on a style call, style_matches. Interests narrow the pool, and picks matching more interests rank first. keyword names a specific item the buyer asked for: picks matching every keyword word rank first inside the same filtered pool, carry their full bank detail, and the result reports keyword_matches (a miss is stated in the note, and a miss carries no lead_pick). exclude names an item the person already has: matching picks are dropped before ranking, and the result notes the drop. A recipient-only call (no budget, interest, style, or keyword) returns a spread across all budget bands, led by a mid-band pick and never by the $100+ band — a starting sampler, not a tailored list. A 'teen' recipient maps to the kid pool and carries a recipient_note explaining how teen picks are drawn from that pool. A 'coworker' recipient draws on the bank's coworker shelf — picks tagged for coworkers, ranked ahead of the general pool — and when a mix returns none of them, recipient_note says so plainly. A relation the bank has no shelf for (a sister, an aunt, an in-law, a cousin) is filed under the closest shelf, and recipient_note states the filing plainly. Ideas are generic product types: the bank names no brands, no stores, and no exact prices. When fewer than 5 ideas fit the exact mix, the result says so.

Input Schema

NameRequiredDescriptionDefault
styleNoOptional gift style: 'practical', 'fun', 'sentimental', or 'experience'. When given, every pick carries this style.
budgetNoOptional budget band: 'under $25', '$25-$50', '$50-$100', or '$100+'. Omit to search every band.
excludeNoOptional: an item the user says the person already has, in plain words, e.g. 'cast iron skillet'. Picks matching it are dropped and the drop is disclosed in the note.
keywordNoOptional: the specific item the buyer named, in plain words, e.g. 'plant pot', 'bookmark', 'board game', 'star map'. When the bank holds that item for this recipient and budget, it ranks first.
interestsNoOptional: what they are into. Bank interests: cooking, outdoors, tech, books, fitness, cozy, music, games, gardening, travel, science.
recipientYesWho the gift is for: 'mom', 'dad', 'partner', 'grandparent', 'friend', 'kid', 'coworker', or 'other'. Plain words work too, e.g. 'my wife', 'grandma', 'my son', 'my colleague'. 'teen' and 'teenager' map to 'kid' and carry a note explaining how teen picks are drawn from the kid pool. Relations the bank has no shelf for, like 'my sister' or 'my aunt', are filed under the closest shelf and the result notes the filing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the read-only, closed-world, idempotent annotations, the description discloses extensive behavior: the 255-idea bank, max 5 results, ranking rules, hard-filter semantics, recipient shelf mapping, keyword-miss behavior, and what the result includes. This is unusually transparent for an agent deciding how the tool will behave.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with what the tool returns, which is good, but it is a very long dense paragraph. Many details are useful, yet the single-block structure and repeated filter/result explanations make it harder to scan than it needs to be.

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?

With no output schema, the description carries the burden of explaining the return shape and does so thoroughly: picks, one-line descriptions, why-lines, buying notes, lead_pick, more_ideas, answer_text, and metadata fields. It also covers recipient mapping, hard filters, misses, and fewer-than-five-result cases, so an agent has enough context to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema has 100% description coverage, the description adds substantial cross-parameter meaning: style and budget act as hard filters, interests affect ranking, keyword matching ranks first and changes lead_pick behavior, exclude drops matching picks, and recipient values like 'teen' and 'coworker' trigger special mapping. These are semantic interactions the schema alone does not capture.

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?

The description states a specific verb and resource: it returns up to 5 gift ideas from a fixed bank, matched to recipient, budget, interests, and optional style. It is clear what the tool does, but it never names or distinguishes the sibling tools get_gift and search_gifts.

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?

It gives clear invocation context by explaining hard filters, ranking behavior, recipient-only sampler behavior, and edge cases like keyword misses and excluded items. It does not explicitly say when to use pick_gift instead of get_gift or search_gifts, so it stops short of full alternative routing.

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.