NameWheel
Fair random picks with the wheel in your chat: pick names, split teams, run certified draws.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.namewheel.org/mcp"
}
}
}Remote endpoints
https://mcp.namewheel.org/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢spin_wheel(entries, title, winners, allow_repeat_winners)
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.
Input Schema
{
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 500,
"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."
},
"title": {
"type": "string",
"maxLength": 80,
"description": "A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'."
},
"winners": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"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."
}
},
"required": [
"entries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢make_teams(entries, teams, team_size, team_names, title)
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.
Input Schema
{
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 500,
"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."
},
"teams": {
"type": "integer",
"minimum": 2,
"maximum": 50,
"description": "How many teams. Default 2 when team_size is not given."
},
"team_size": {
"type": "integer",
"minimum": 1,
"maximum": 250,
"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..."
},
"title": {
"type": "string",
"maxLength": 80,
"description": "A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'."
}
},
"required": [
"entries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢open_wheel_link(entries, title)
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.
Input Schema
{
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 500,
"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."
},
"title": {
"type": "string",
"maxLength": 80,
"description": "A short title for the wheel, such as 'Period 3 cold call' or 'Who presents first'."
}
},
"required": [
"entries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢certified_draw(title, entries, frozen_code, entropy)
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.
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "The draw's public title, such as 'Year 9 reading prize' or 'Who presents first'."
},
"entries": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 500,
"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."
},
"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."
},
"entropy": {
"type": "string",
"maxLength": 200,
"description": "Optional words or a number from the person, mixed into the draw's randomness."
}
},
"required": [
"title"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴freeze_list(title, entries)
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).
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "The list's public title."
},
"entries": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 500,
"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."
}
},
"required": [
"title",
"entries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_draw(code)
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.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 4,
"maxLength": 200,
"description": "The draw code (8 letters and digits) or its link, such as namewheel.org/v/DG5J6VD7."
}
},
"required": [
"code"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢my_draws(limit, frozen_lists)
List this account's recent NameWheel certified draws (or frozen lists) with their winners and proof links, newest first. Needs a connected NameWheel account.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "How many to list. Default 10."
},
"frozen_lists": {
"type": "boolean",
"description": "List frozen entry lists instead of draws."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_plan
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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence