DrawKind Secret Santa

Draw names for Secret Santa without sign-ups or email addresses.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
98%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,059Tokens (Tool-Definitionen)
~10.1 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.61% von 128k Kontext)

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-http

Was es kann

Tool-Inventar

Tools (2)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet2 Tools