{"name":"io.github.theluckystrike/gift-exchange","slug":"theluckystrike-gift-exchange","title":"DrawKind Secret Santa","description":"Draw names for Secret Santa without sign-ups or email addresses.","url":"https://mcp.market/server/theluckystrike-gift-exchange","rating":null,"grade":"C","score":67,"certified":false,"status":"active","category":"email","tags":["email","security"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T07:31:10.339Z","last_ok_at":"2026-11-04T07:31:10.339Z","latency_ms":280},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://gift-exchange.zovo.one/","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://gift-exchange.zovo.one/mcp"}],"packages":[],"tools":[{"name":"plan_gift_exchange","description":"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.","write_action":false,"price_micros":0,"input_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#"}},{"name":"plan_white_elephant","description":"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).","write_action":false,"price_micros":0,"input_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#"}}],"scan":{"score":67,"grade":"C","scanned_at":"2026-10-25T09:25:39.551Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-25T09:25:39.532Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 955ms"]},"poisoning":{"score":15,"max":15,"notes":["2 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://gift-exchange.zovo.one/mcp","reachable":true,"authRequired":false,"latencyMs":955,"serverInfo":{"name":"gift-exchange","version":"1.0.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://gift-exchange.zovo.one/icon.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}