Fair random picks with the wheel in your chat: pick names, split teams, run certified draws.
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.
Run a TrueSpin certified draw on NameWheel: the winner is sealed by NameWheel's server before it is revealed, randomness from this connection is added, and the result is published on a permanent public proof page (namewheel.org/v/CODE) that anyone can check, with a button that recomputes the draw. Use it when the result must be provable to other people: a class prize, a team decision, a draw announced to a group. IMPORTANT: the title, every entry and the winner become public on the proof page, so only use names the person is happy to publish, and tell them so. Needs a connected NameWheel account (free). To draw against a list locked earlier with freeze_list, pass frozen_code instead of entries.
The draw's public title, such as 'Year 9 reading prize' or 'Who presents first'.
The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website.
Optional words or a number from the person, mixed into the draw's randomness.
Code or link of a list frozen earlier with freeze_list (namewheel.org/f/CODE). The draw uses exactly that list.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Run a TrueSpin certified draw on NameWheel: the winner is sealed by NameWheel's server before it is revealed, randomness from this connection is added, and the result is published on a permanent public proof page (namewheel.org/v/CODE) that anyone can check, with a button that recomputes the draw. Use it when the result must be provable to other people: a class prize, a team decision, a draw announced to a group. IMPORTANT: the title, every entry and the winner become public on the proof page, so only use names the person is happy to publish, and tell them so. Needs a connected NameWheel account (free). To draw against a list locked earlier with freeze_list, pass frozen_code instead of entries.
| Argument | Type | Description |
|---|---|---|
| title* | string | The draw's public title, such as 'Year 9 reading prize' or 'Who presents first'. |
| entries | array | The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website. |
| entropy | string | Optional words or a number from the person, mixed into the draw's randomness. |
| frozen_code | string | Code or link of a list frozen earlier with freeze_list (namewheel.org/f/CODE). The draw uses exactly that list. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title"
],
"properties": {
"title": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "The draw's public title, such as 'Year 9 reading prize' or 'Who presents first'."
},
"entries": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 2,
"description": "The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website."
},
"entropy": {
"type": "string",
"maxLength": 200,
"description": "Optional words or a number from the person, mixed into the draw's randomness."
},
"frozen_code": {
"type": "string",
"maxLength": 40,
"description": "Code or link of a list frozen earlier with freeze_list (namewheel.org/f/CODE). The draw uses exactly that list."
}
},
"additionalProperties": false
}Say what this NameWheel connection can do: without an account (spins, teams, wheel links, checking draws) or with a connected account (certified draws, frozen lists, the account's draws), and how many certified draws are left today. Use it when the person asks about limits, their account, or why a request was refused.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Lock a list of entries in public before a draw, at namewheel.org/f/CODE, with a fingerprint and the exact time. Nobody can add or remove a name after that, and when certified_draw later uses this list (frozen_code), the frozen page links to the result. Use it when entries close before the draw happens. The title and every entry are public. Needs a connected NameWheel account (free).
| Argument | Type | Description |
|---|---|---|
| title* | string | The list's public title. |
| entries* | array | The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"entries"
],
"properties": {
"title": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "The list's public title."
},
"entries": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 2,
"description": "The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website."
}
},
"additionalProperties": false
}Split a list of names into random teams or groups of even size, and show them as cards in the chat. Use it for class groups, project teams, game sides, rotations. Give either how many teams or how many people per team. Works without an account.
| Argument | Type | Description |
|---|---|---|
| teams | integer | How many teams. Default 2 when team_size is not given. |
| title | string | A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'. |
| entries* | array | The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website. |
| team_size | integer | How many people per team, instead of a number of teams. |
| team_names | array | Names for the teams, in order. Default Team 1, Team 2... |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"entries"
],
"properties": {
"teams": {
"type": "integer",
"maximum": 50,
"minimum": 2,
"description": "How many teams. Default 2 when team_size is not given."
},
"title": {
"type": "string",
"maxLength": 80,
"description": "A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'."
},
"entries": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 2,
"description": "The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website."
},
"team_size": {
"type": "integer",
"maximum": 250,
"minimum": 1,
"description": "How many people per team, instead of a number of teams."
},
"team_names": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 50,
"description": "Names for the teams, in order. Default Team 1, Team 2..."
}
},
"additionalProperties": false
}List this account's recent NameWheel certified draws (or frozen lists) with their winners and proof links, newest first. Needs a connected NameWheel account.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many to list. Default 10. |
| frozen_lists | boolean | List frozen entry lists instead of draws. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "How many to list. Default 10."
},
"frozen_lists": {
"type": "boolean",
"description": "List frozen entry lists instead of draws."
}
},
"additionalProperties": false
}Make a namewheel.org link that opens the full NameWheel wheel with these names already loaded, for spinning on a projector, a stream or a shared screen with sound, modes and themes. Works without an account. Commas inside a name become spaces in the link.
| Argument | Type | Description |
|---|---|---|
| title | string | A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'. |
| entries* | array | The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"entries"
],
"properties": {
"title": {
"type": "string",
"maxLength": 80,
"description": "A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'."
},
"entries": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 2,
"description": "The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website."
}
},
"additionalProperties": false
}Pick one or more winners at random from a list of names or options, and show the wheel spinning to the result in the chat. Use it whenever the person wants something chosen at random: a student to answer, who goes first, where to eat, a raffle winner among friends. Works without an account. The pick is fair (a cryptographic random number generator), but it is not a certified record; when other people need to be able to check the result later, use certified_draw instead.
| Argument | Type | Description |
|---|---|---|
| title | string | A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'. |
| entries* | array | The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website. |
| winners | integer | How many winners to pick. Default 1. |
| allow_repeat_winners | boolean | With more than one winner, may the same entry win twice? Default false: each winner leaves the wheel. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"entries"
],
"properties": {
"title": {
"type": "string",
"maxLength": 80,
"description": "A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'."
},
"entries": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 2,
"description": "The names or options, one per item, exactly as the person gave them. Repeating a name gives it another slot (another chance), as on the NameWheel website."
},
"winners": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "How many winners to pick. Default 1."
},
"allow_repeat_winners": {
"type": "boolean",
"description": "With more than one winner, may the same entry win twice? Default false: each winner leaves the wheel."
}
},
"additionalProperties": false
}Check whether a NameWheel certified draw is genuine, from its code or its namewheel.org/v/ link: recomputes the winner from the published secret, the added randomness and the entries, checks the commitment made before the spin, and checks NameWheel's Ed25519 signature on the record. Also says how many draws the host ran on this exact list. Use it when someone asks whether a draw or a giveaway result was real. Works without an account.
| Argument | Type | Description |
|---|---|---|
| code* | string | The draw code (8 letters and digits) or its link, such as namewheel.org/v/DG5J6VD7. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 200,
"minLength": 4,
"description": "The draw code (8 letters and digits) or its link, such as namewheel.org/v/DG5J6VD7."
}
},
"additionalProperties": false
}