Skip to main content
Glama

Shuffleroo

Prepare a gift exchange

prepare_gift_exchange

Prepare a draft gift exchange (Secret Santa, Kris Kringle, or any name draw) on Shuffleroo, a free web app with no ads and no accounts. Returns a private link. The person opens the link, checks the details, adds their own email, and taps Start to create the group. This tool does not create the group, send email, or contact anyone. It stores only the names and details given here, never email addresses. The draft link works once and expires after 24 hours. Shuffleroo never shows anyone who got whom: not the host, not the group, and not the assistant.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
peopleNoEveryone else taking part, by first name. Leave out the host. No email addresses. People can also join later from the group link.
currencyNoA 3-letter currency code, like USD, GBP, EUR, CAD, or AUD.
gift_dayNoThe day gifts are exchanged, as YYYY-MM-DD.
host_nameNoFirst name of the person setting it up. The host takes part in the draw too.
time_zoneNoAn IANA time zone, like America/Chicago or Europe/London. Gift day and nudge emails use this time zone.
gift_limitNoThe gift limit per person, as a plain number in the currency below. For example 50.
group_nameYesA name for the exchange, like "Family Christmas" or "Office party 2026".
keep_apartNoPairs who should not get each other, like couples. Each name must be host_name or a name in people.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
linkYesThe private draft link for the person to open.
expires_atYesWhen the draft link expires (ISO 8601).
people_countYesPeople in the draft, including the host when given.
keep_apart_countYesPairs who should not get each other.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only carry the generic safety flags (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false); the description adds substantial behavior beyond them: the draft link works once and expires after 24 hours, email addresses are never stored, and pairings are never revealed to anyone including the host. These are exactly the operational and privacy traits an agent needs before calling.

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-loaded with the tool's purpose and return value, then carefully ordered caveats (what it does not do, what it stores, link lifetime, privacy). Seven sentences, but every one carries load-bearing information with no filler.

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?

An output schema exists, yet the description still usefully states it 'Returns a private link.' For an 8-parameter, single-required-field creation tool with a draft/confirmation workflow, the definition covers lifecycle, privacy, and boundaries completely.

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 the schema already documents all 8 parameters with examples and constraints. The description only adds a generic note that it 'stores only the names and details given here,' which adds little parameter-level meaning beyond the structured fields. Baseline 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+resource ('Prepare a draft gift exchange') and clarifies the domain variants (Secret Santa, Kris Kringle, name draw). It also sharply bounds scope by naming what the tool is NOT (does not create the group, send email, or contact anyone), which separates it from the sibling help tool and from the eventual group-creation step.

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?

The description lays out the full usage flow ('the person opens the link, checks the details, adds their own email, and taps Start') and the functional exclusions, giving clear context for when this preparatory tool is appropriate. It stops short of explicitly naming gift_exchange_help as the alternative for questions, so it is clear but not fully routed.

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