Model Context Protocol
Let your agent run the draw. It still won't know who got whom.
This is the live MCP server for Secret Santa Raffle. Connect an AI agent to create a draw, email the invitations and manage wishlists — while the pairings stay inside the server and reach people only by email or in the app.
https://mcp.secretsantaraffle.net/mcp
Tools
That is the whole list — seven tools, and none of them returns a pairing. get_my_draws answers with metadata only; get_wishlist never reaches another person's list. Matches travel by one route: the personal link in each invitation email, and the mobile app. The agent runs the draw and never learns its result, so the surprise is a property of the system rather than a promise the model has to keep.
Connect it
{ "mcpServers": { "secret-santa": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.secretsantaraffle.net/mcp"] } } }
The server also exposes UI resources (ui://widgets/…), so clients that render MCP Apps show the draw, the invitations and your wishlists as cards instead of plain text. Clients with native remote MCP support — ChatGPT connectors, Claude web and mobile, Smithery — only need the URL above. The server picks the brand from the Accept-Language header or the locale argument every tool accepts, so invitations go out under Secret Santa, Amigo Invisible or Amigo Secreto in the right language.
Signing in
- Ask the agent for anything private — your draws, your wishlists. The tool answers
authentication_required, and the client starts the device flow to get a short user code. - Enter that code at mcp.secretsantaraffle.net/connect and confirm your email with a one-time password — the same passwordless login the app uses, so no password is ever stored. Standard OAuth 2.0 Device Authorization Grant, RFC 8628.
- From then on the server issues RS256 JWTs, verifiable against
/.well-known/jwks.json. Premium tools stay gated: without an ad-free plan they returnpremium_required, never a silent bypass.
Full documentation, by market