DrawKind Secret Santa

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
98%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,059토큰 (도구 정의)
~10.1 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.61%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "gift-exchange": {
      "url": "https://gift-exchange.zovo.one/mcp"
    }
  }
}

원격 엔드포인트

https://gift-exchange.zovo.one/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

{
  "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#"
}

출력 스키마

{
  "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).

입력 스키마

{
  "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#"
}

출력 스키마

{
  "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
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 2개