DrawKind Secret Santa
Draw names for Secret Santa without sign-ups or email addresses.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"gift-exchange": {
"url": "https://gift-exchange.zovo.one/mcp"
}
}
}Remote-Endpunkte
https://gift-exchange.zovo.one/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (2)
🟢plan_gift_exchange(participants, households, exclusions, no_two_person_loops, budget, ...)
Use this when the user wants to draw names for a Secret Santa or gift exchange (secret santa generator, name draw, no email needed), including exclusions such as couples, households, "Ana can't draw Bo", or last year's pairs, an optional no 2-person loops rule, a budget, an exchange date, wish lists, and an organizer note. Returns one private reveal link per participant plus copy-ready messages; each pairing is encrypted inside the link, so the result never shows who drew whom. Explains exactly why when no valid draw exists. Handles 3 to 60 people. Does not send emails or texts and does not store anything. Do not use for White Elephant or Yankee Swap games (use plan_white_elephant) or for picking one random winner.
Eingabe-Schema
{
"type": "object",
"properties": {
"participants": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"description": "Everyone taking part (3 to 60 people), e.g. [\"Ana\",\"Bo\",\"Cy\",\"Dee\",\"Eli\",\"Fay\"]. Names must be unique; add a last initial to tell two people with the same name apart. Any language or script works."
},
"households": {
"description": "Couples or households whose members must not draw each other (both directions), e.g. [[\"Ana\",\"Bo\"],[\"Cy\",\"Dee\",\"Eli\"]].",
"maxItems": 30,
"type": "array",
"items": {
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"description": "A participant's name exactly as listed in participants, e.g. Ana."
}
}
},
"exclusions": {
"description": "One-way rules such as \"Ana can't draw Cy\" or last year's pairs, e.g. [{\"giver\":\"Ana\",\"cannot_draw\":\"Cy\"}]. Cy may still draw Ana unless a second rule says otherwise.",
"maxItems": 400,
"type": "array",
"items": {
"type": "object",
"properties": {
"giver": {
"type": "string",
"maxLength": 120,
"description": "Who must not draw the other person, e.g. Ana."
},
"cannot_draw": {
"type": "string",
"maxLength": 120,
"description": "Whom the giver must not draw, e.g. Cy."
}
},
"required": [
"giver",
"cannot_draw"
]
}
},
"no_two_person_loops": {
"description": "true = never let two people draw each other (no A gives to B while B gives to A). Default false.",
"type": "boolean"
},
"budget": {
"description": "Gift budget as the group says it, e.g. $30, 25 EUR, or £20-£25.",
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "number"
}
]
},
"exchange_date": {
"description": "Gift exchange date as YYYY-MM-DD, e.g. 2026-12-18.",
"type": "string",
"maxLength": 40
},
"event_name": {
"description": "Name of the exchange shown on every link, e.g. Office Holiday Party 2026.",
"type": "string",
"maxLength": 120
},
"wish_lists": {
"description": "Optional wish lists. Each one is shown only to the person who draws that participant.",
"maxItems": 60,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"description": "A participant's name exactly as listed in participants, e.g. Ana."
},
"wishes": {
"type": "string",
"maxLength": 400,
"description": "Gift ideas shown to whoever draws this person, e.g. Board games, dark chocolate, no candles."
}
},
"required": [
"name",
"wishes"
]
}
},
"organizer_note": {
"description": "Optional note shown on every reveal page, e.g. Wrap gifts and bring them to the kitchen by 3 pm.",
"type": "string",
"maxLength": 400
},
"language": {
"description": "Language of the reveal pages and share messages: en, es, fr, de, pl, pt, or ja (e.g. pl). Default en.",
"type": "string",
"maxLength": 20
},
"include_organizer_list": {
"description": "true only when the organizer explicitly asks to see every pairing; adds a link to the full list, which spoils the surprise for them. Default false.",
"type": "boolean"
}
},
"required": [
"participants"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"event_name": {
"type": [
"string",
"null"
]
},
"draw_code": {
"type": "string"
},
"participants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"link": {
"type": "string"
},
"has_wish_list": {
"type": "boolean"
}
},
"required": [
"name",
"link",
"has_wish_list"
],
"additionalProperties": false
}
},
"households": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"exclusions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"giver": {
"type": "string"
},
"cannot_draw": {
"type": "string"
}
},
"required": [
"giver",
"cannot_draw"
],
"additionalProperties": false
}
},
"rules": {
"type": "array",
"items": {
"type": "string"
}
},
"budget": {
"type": [
"string",
"null"
]
},
"exchange_date": {
"type": [
"string",
"null"
]
},
"exchange_date_label": {
"type": [
"string",
"null"
]
},
"language": {
"type": "string"
},
"valid_arrangements": {
"type": "object",
"properties": {
"exact": {
"type": "boolean"
},
"count": {
"type": [
"number",
"null"
]
},
"label": {
"type": "string"
}
},
"required": [
"exact",
"count",
"label"
],
"additionalProperties": false
},
"sampling": {
"type": "string"
},
"message_template": {
"type": "string"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"downloads": {
"type": "object",
"properties": {
"organizer_list": {
"type": "string"
}
},
"additionalProperties": false
}
},
"required": [
"mode",
"event_name",
"draw_code",
"participants",
"households",
"exclusions",
"rules",
"budget",
"exchange_date",
"exchange_date_label",
"language",
"valid_arrangements",
"sampling",
"message_template",
"warnings",
"downloads"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢plan_white_elephant(participants, steal_limit, max_steals_per_turn, first_player_final_swap, no_immediate_steal_back, ...)
Use this when the user wants to run a White Elephant, Yankee Swap, or Dirty Santa gift game: shuffles a fair random turn order for 3 to 60 players and writes the rules (steal limit per gift, optional cap on steals per turn, no immediate steal-backs, player 1's final swap), with a printable PDF (Letter or A4) that includes a gift tracker and a printable web page. Does not run the game live or track steals. Do not use for Secret Santa name draws (use plan_gift_exchange).
Eingabe-Schema
{
"type": "object",
"properties": {
"participants": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"description": "Everyone playing (3 to 60 people), e.g. [\"Ana\",\"Bo\",\"Cy\",\"Dee\",\"Eli\",\"Fay\",\"Gus\",\"Hal\"]. Names must be unique."
},
"steal_limit": {
"description": "How many times one gift can be stolen before it is frozen, e.g. 3 (default). 0 turns stealing off.",
"type": "integer",
"minimum": 0,
"maximum": 5
},
"max_steals_per_turn": {
"description": "Optional cap on steals in one turn's chain, e.g. 2. Omit for no cap.",
"type": "integer",
"minimum": 1,
"maximum": 10
},
"first_player_final_swap": {
"description": "true (default) = player 1 gets a final turn to swap with any unfrozen gift, since they never had a chance to steal.",
"type": "boolean"
},
"no_immediate_steal_back": {
"description": "true (default) = you cannot steal back the gift that was just taken from you.",
"type": "boolean"
},
"budget": {
"description": "Gift budget, e.g. $25.",
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "number"
}
]
},
"party_date": {
"description": "Party date as YYYY-MM-DD, e.g. 2026-12-12.",
"type": "string",
"maxLength": 40
},
"event_name": {
"description": "Name printed on the rules sheet, e.g. Team White Elephant 2026.",
"type": "string",
"maxLength": 120
},
"paper": {
"description": "PDF paper size: letter (default) or a4, e.g. a4.",
"type": "string",
"maxLength": 10
}
},
"required": [
"participants"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"event_name": {
"type": [
"string",
"null"
]
},
"turn_order": {
"type": "array",
"items": {
"type": "string"
}
},
"rules": {
"type": "array",
"items": {
"type": "string"
}
},
"steal_limit": {
"type": "number"
},
"max_steals_per_turn": {
"type": [
"number",
"null"
]
},
"first_player_final_swap": {
"type": "boolean"
},
"no_immediate_steal_back": {
"type": "boolean"
},
"budget": {
"type": [
"string",
"null"
]
},
"party_date": {
"type": [
"string",
"null"
]
},
"party_date_label": {
"type": [
"string",
"null"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"downloads": {
"type": "object",
"properties": {
"pdf": {
"type": "string"
},
"page": {
"type": "string"
}
},
"required": [
"pdf",
"page"
],
"additionalProperties": false
}
},
"required": [
"mode",
"event_name",
"turn_order",
"rules",
"steal_limit",
"max_steals_per_turn",
"first_player_final_swap",
"no_immediate_steal_back",
"budget",
"party_date",
"party_date_label",
"warnings",
"downloads"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Nachweis