Organize a prize draw that everyone can check.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the organizer wants to add entrant names to a draw made with create_prize_draw, before the winners are drawn. Takes the private organizer link and a list of up to 100 names per call (send more in further calls). Duplicate names (ignoring case) are skipped and reported. Does not draw; does not remove names.
Entrant display names to add, up to 100 per call (send more in further calls), each up to 40 characters, one person per item, e.g. ["Ana", "Ben K.", "Chloe"]. First names or nicknames only.
The private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http fair-draw https://fair-draw.zovo.one/mcp
Use this when the organizer wants to add entrant names to a draw made with create_prize_draw, before the winners are drawn. Takes the private organizer link and a list of up to 100 names per call (send more in further calls). Duplicate names (ignoring case) are skipped and reported. Does not draw; does not remove names.
| Argument | Type | Description |
|---|---|---|
| names* | array | Entrant display names to add, up to 100 per call (send more in further calls), each up to 40 characters, one person per item, e.g. ["Ana", "Ben K.", "Chloe"]. First names or nicknames only. |
| manage_url* | string | The private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_url",
"names"
],
"properties": {
"names": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 100,
"description": "Entrant display names to add, up to 100 per call (send more in further calls), each up to 40 characters, one person per item, e.g. [\"Ana\", \"Ben K.\", \"Chloe\"]. First names or nicknames only."
},
"manage_url": {
"type": "string",
"maxLength": 400,
"description": "The private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/)."
}
}
}Use this when the user wants a fair random pick of winners from a group: a giveaway, door prize, raffle without tickets, classroom or team pick. Publishes a draw page with a public link where entrants add their names (or only the organizer adds them), and returns a private organizer link. Optionally adds a first list of names. Up to 500 entries, 1 to 20 winners, up to 10 backups. For free draws only: set free_entry to true to confirm nobody pays to enter; it does not handle money. Does not draw yet; use draw_winners for that.
| Argument | Type | Description |
|---|---|---|
| note | string | Optional short note shown on the page, up to 400 characters, e.g. Draw on Friday at the team call. |
| names | array | Entrant display names, up to 500, each up to 40 characters, one person per item, e.g. ["Ana", "Ben K.", "Chloe"]. First names or nicknames only. |
| prize | string | What the winners get, up to 200 characters, e.g. One 50-minute massage voucher. |
| title* | string | Short title of the draw, up to 120 characters, e.g. Team lunch voucher draw. |
| backups | integer | Number of backup winners drawn in order after the winners, 0 to 10 (default 0). Example: 2. |
| winners | integer | Number of winners, 1 to 20 (default 1). Example: 2. |
| free_entry* | boolean |
Use this when the organizer is ready to pick the winners of a draw made with create_prize_draw. Takes the private organizer link. Closes entries, picks the winners and backups with the published method, and reveals the seed on the public page so anyone can verify. The result is final: running it again returns the same winners. Needs at least one entry. Does not add or remove names and does not redraw.
| Argument | Type | Description |
|---|---|---|
| manage_url* | string | The private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_url"
],
"properties": {
"manage_url": {
"type": "string",
"maxLength": 400,
"description": "The private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/)."
}
}
}Use this when the user wants the state of a draw made with create_prize_draw: number of entries, the names, the commitment, and after the draw the winners, backups and proof values. Takes the private organizer link. Does not change the draw.
| Argument | Type | Description |
|---|---|---|
| manage_url* | string | The private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_url"
],
"properties": {
"manage_url": {
"type": "string",
"maxLength": 400,
"description": "The private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/)."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.
| Set true to confirm nobody pays to enter and no money is pooled; this tool does not handle money. |
| public_entry | boolean | true (default) = people add their own name on the public page; false = only the organizer adds names. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"free_entry"
],
"properties": {
"note": {
"type": "string",
"maxLength": 800,
"description": "Optional short note shown on the page, up to 400 characters, e.g. Draw on Friday at the team call."
},
"names": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 500,
"description": "Entrant display names, up to 500, each up to 40 characters, one person per item, e.g. [\"Ana\", \"Ben K.\", \"Chloe\"]. First names or nicknames only."
},
"prize": {
"type": "string",
"maxLength": 400,
"description": "What the winners get, up to 200 characters, e.g. One 50-minute massage voucher."
},
"title": {
"type": "string",
"maxLength": 240,
"description": "Short title of the draw, up to 120 characters, e.g. Team lunch voucher draw."
},
"backups": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Number of backup winners drawn in order after the winners, 0 to 10 (default 0). Example: 2."
},
"winners": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Number of winners, 1 to 20 (default 1). Example: 2."
},
"free_entry": {
"type": "boolean",
"description": "Set true to confirm nobody pays to enter and no money is pooled; this tool does not handle money."
},
"public_entry": {
"type": "boolean",
"description": "true (default) = people add their own name on the public page; false = only the organizer adds names."
}
}
}