Secret Santa Raffle
Organise a Secret Santa from Claude or ChatGPT. Matchings never appear in the chat.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.secretsantaraffle.net/claude/mcp"
}
}
}원격 엔드포인트
https://mcp.secretsantaraffle.net/claude/mcpstreamable-http할 수 있는 일
도구 목록
도구 (3)
🟡create_draw(date, participants, drawName, price, message, ...)
Creates a Secret Santa / Amigo Invisible / Amigo Secreto / gift exchange draw and pairs the participants randomly, honouring exclusion rules (e.g. couple-couple, sibling-sibling). The first participant in the list is the organizer. The required inputs are the date and at least 3 participants; the budget, the exclusions, a personal invitation message and the locale are optional. The draw is created immediately and cannot be modified from this server afterwards. The result returns the draw id and its share code, and lists two ways to invite the participants: send_invitations_email (an email to each participant) or get_group_share_message (a message to paste into a group chat).
입력 스키마
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "Date of the draw, in YYYY-MM-DD format."
},
"participants": {
"type": "array",
"minItems": 3,
"description": "Minimum 3 participants. The first is the organizer.",
"items": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"email": {
"type": "string",
"format": "email"
},
"exclusions": {
"type": "array",
"items": {
"type": "string",
"format": "email"
},
"description": "Optional. Emails of the participants this participant is not paired with (e.g. their partner)."
}
}
}
},
"drawName": {
"type": "string",
"maxLength": 255,
"description": "Optional. If omitted, a localized default is generated (e.g. \"Amigo Invisible 2026\", \"Amigo Secreto 2026\", \"Intercambio de regalos 2026\", or \"Secret Santa 2026\")."
},
"price": {
"type": "string",
"description": "Optional gift budget, free text. Examples: \"20€\", \"$25\"."
},
"message": {
"type": "string",
"description": "Optional invitation email body. If omitted, a localized default is used. The placeholder \"ParticipanteX\" is replaced with each recipient name."
},
"locale": {
"type": "string",
"description": "Optional BCP 47 language tag for the user (e.g. \"es-ES\", \"es-MX\", \"es-AR\", \"en-GB\"). It determines the Secret Santa Raffle brand (website) and the language of the message templates and emails: arguments.locale takes precedence, then the Accept-Language header, then Secret Santa (English) when neither is present or supported. Brands: Amigo Invisible (Spain/Argentina/Uruguay), Amigo Secreto (most of Latin America), Intercambio de regalos (Mexico), Secret Santa (English and global fallback)."
}
},
"required": [
"date",
"participants"
]
}출력 스키마
{
"type": "object",
"properties": {
"drawId": {
"type": "integer"
},
"shareCode": {
"type": "string"
},
"drawName": {
"type": "string"
},
"participantCount": {
"type": "integer",
"minimum": 0
},
"organizerName": {
"type": "string"
},
"brand": {
"type": "string",
"enum": [
"AI",
"AS",
"MX",
"SS"
]
},
"date": {
"type": "string",
"format": "date"
},
"price": {
"type": "string"
},
"widgetLabels": {
"type": "object"
}
},
"required": [
"drawId",
"shareCode",
"drawName",
"participantCount",
"organizerName",
"brand",
"date"
]
}🟡send_invitations_email(drawId, shareCode, locale)
Sends the email invitation to all participants of a draw created in this same conversation. Each participant receives a personal email invitation. The send is immediate and cannot be recalled; a draw admits one bulk send. Takes the drawId and shareCode returned by create_draw.
입력 스키마
{
"type": "object",
"properties": {
"drawId": {
"type": "integer",
"minimum": 1
},
"shareCode": {
"type": "string",
"minLength": 1,
"description": "Access credential of the draw, returned by create_draw (structuredContent.shareCode). Whoever holds it can send the invitations of that draw."
},
"locale": {
"type": "string",
"description": "Optional BCP 47 language tag for the user (e.g. \"es-ES\", \"es-MX\", \"es-AR\", \"en-GB\"). It determines the Secret Santa Raffle brand (website) and the language of the message templates and emails: arguments.locale takes precedence, then the Accept-Language header, then Secret Santa (English) when neither is present or supported. Brands: Amigo Invisible (Spain/Argentina/Uruguay), Amigo Secreto (most of Latin America), Intercambio de regalos (Mexico), Secret Santa (English and global fallback)."
}
},
"required": [
"drawId",
"shareCode"
]
}출력 스키마
{
"type": "object",
"properties": {
"drawId": {
"type": "integer"
},
"invitationsSent": {
"type": "boolean"
},
"brand": {
"type": "string",
"enum": [
"AI",
"AS",
"MX",
"SS"
]
}
},
"required": [
"drawId",
"invitationsSent",
"brand"
]
}🟢get_group_share_message(drawName, organizerName, locale)
Generates a ready-to-paste WhatsApp/Telegram message announcing a freshly created draw, which the user copies into the relevant chat. Localized in Spanish (Spain), Spanish (Latin America), Spanish (Mexico) or English according to the brand. It is the alternative to send_invitations_email for sharing without emails: nothing is sent.
입력 스키마
{
"type": "object",
"properties": {
"drawName": {
"type": "string",
"minLength": 1
},
"organizerName": {
"type": "string",
"minLength": 1,
"description": "Usually the first participant of the draw (the organizer)."
},
"locale": {
"type": "string",
"description": "Optional BCP 47 language tag for the user (e.g. \"es-ES\", \"es-MX\", \"es-AR\", \"en-GB\"). It determines the Secret Santa Raffle brand (website) and the language of the message templates and emails: arguments.locale takes precedence, then the Accept-Language header, then Secret Santa (English) when neither is present or supported. Brands: Amigo Invisible (Spain/Argentina/Uruguay), Amigo Secreto (most of Latin America), Intercambio de regalos (Mexico), Secret Santa (English and global fallback)."
}
},
"required": [
"drawName",
"organizerName"
]
}출력 스키마
{
"type": "object",
"properties": {
"messageText": {
"type": "string"
},
"brand": {
"type": "string",
"enum": [
"AI",
"AS",
"MX",
"SS"
]
},
"locale": {
"type": "string"
}
},
"required": [
"messageText",
"brand"
]
}커뮤니티
증거