Skip to main content
Glama

Secret Santa draw

secret_santa_draw
Read-only

Draw Secret Santa gift-exchange pairs while preventing self-assignments and blocked pairs; the tool verifies a valid draw exists and explains any exclusion to remove.

Instructions

Draw Secret Santa (gift exchange) pairs: everyone gives to exactly one other person and receives from one, never themselves. Exclusions (couples, housemates…) block a pair both ways. Checks exactly whether a draw is possible and explains why not (and which exclusion to drop). Crypto random and uniform; optional seed. Up to 200 people. Nothing is emailed: hand each giver only their own line. Optional budget, date and message are echoed for slips. Web version: https://s3eidat.github.io/secret-santa/

Input Schema

NameRequiredDescriptionDefault
dateNoOptional exchange date, YYYY-MM-DD.
seedNoOptional seed for a reproducible result (same seed + same input = same output). Omit for true crypto randomness.
namesYesParticipants (an item may also hold several names separated by commas or new lines).
budgetNoOptional gift budget, e.g. "20 JD".
messageNoOptional note for everyone.
exclusionsNoPairs of names who must not draw each other, e.g. [["Omar","Sara"]].

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint/idempotentHint annotations, the description discloses that randomness is crypto-uniform, that a seed makes the result deterministic, that exclusions block both directions, that feasibility is checked with an explanation of which exclusion to drop, and that optional budget/date/message are merely echoed. This is exactly the kind of behavior an agent needs and the annotations do not supply.

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?

It is dense and front-loaded, leading with the core draw semantics before constraints and caveats. Some clauses (the trailing web URL, the slip echo detail) are secondary but still earn their place for an agent reasoning about side effects.

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?

With no output schema, the description still conveys what an agent needs: the pairing result, the echoed optional fields, and the failure/explanation path when no valid draw exists. It stops short of describing the exact response shape (e.g. how pairs are keyed), which is the only remaining gap.

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 100%, so the baseline is 3, but the description genuinely adds semantics: exclusions are bidirectional constraints, seed yields identical output for identical input, and budget/date/message are pass-through echoed values rather than inputs to the draw. Only the comma/newline multi-name item behavior is left to the schema.

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 first sentence states a specific verb and resource ('Draw Secret Santa (gift exchange) pairs') and immediately defines the invariants (one give, one receive, never self). It is clearly distinguishable from close siblings like random_teams or random_pick by the exclusion-pair semantics alone.

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 operating context: the 200-person cap, the seed option for reproducibility, and the explicit operational note 'Nothing is emailed: hand each giver only their own line.' It does not name alternatives (e.g. random_teams) or state when-not to use it, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools