# NameWheel [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/namewheel/mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/namewheel

## Description
Fair random picks with the wheel in your chat: pick names, split teams, run certified draws.

## Tools
Capabilities this server exposes over MCP:

- **spin_wheel** — 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.
- **make_teams** — 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.
- **open_wheel_link** — 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.
- **certified_draw** — 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.
- **freeze_list** — 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).
- **verify_draw** — 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.
- **my_draws** — List this account's recent NameWheel certified draws (or frozen lists) with their winners and proof links, newest first. Needs a connected NameWheel account.
- **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.

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What the NameWheel MCP server does

NameWheel MCP server connects an MCP-compatible client to NameWheel’s random selection and TrueSpin verification features. It can choose one or more winners from a supplied list, divide names into random teams, and create a public NameWheel link with the entries preloaded. These operations are useful for classroom participation, project assignments, games, raffles, and informal group decisions.

For decisions that need an auditable result, the server can create a certified draw. NameWheel publishes the title, entries, winner, and verification data on a permanent proof page. It can also freeze an entry list before the draw, list the connected account’s recent draws, and verify an existing draw without requiring an account.

## How it works

The server supports two deployment styles. A local Node.js process communicates with clients over stdio; Docker can run the same process. The hosted endpoint uses Streamable HTTP at `https://mcp.namewheel.org/mcp`, so supported clients can connect without a local installation.

Local winner selection uses Node’s cryptographic random number generator. Team assignment and wheel-link generation happen locally as well. Verification fetches the public draw record and NameWheel public key, then checks the SHA-256 commitment, HMAC-SHA256 result, and Ed25519 signature locally.

Certified operations call the NameWheel API. The service commits to a secret before revealing it, combines connection randomness with the entry-list fingerprint, and publishes the resulting record after the draw. The proof page also exposes other certified draws run by the same account against the same list, making repeated attempts visible.

The server includes an in-chat wheel view for clients that support MCP Apps. Clients without that interface still receive the result as text.

## Setup and configuration

For local use, clone the repository, install dependencies, build the project, and start `dist/stdio.js` with Node.js 20 or later. Docker users can build the supplied image and run it interactively. No environment variable is needed for local spins, team assignments, wheel links, verification, or basic plan checks.

Set `NAMEWHEEL_API_KEY` to a free API key when using `certified_draw`, `freeze_list`, or `my_draws`. The key can be created through NameWheel’s MCP page. Certified draw entries and frozen lists are public, so do not submit names that should remain private.

The hosted service can be added through the MCP connection settings of clients such as Claude, Cursor, ChatGPT, VS Code, Windsurf, Gemini CLI, Claude Code, or Codex CLI. Hosted connections without an account have rate limits of 30 calls per minute and 500 calls per day per connection. Account-required tools use the client’s connection flow or an API key supplied as a bearer token or API-key header.

## Tools and capabilities

- `spin_wheel`: Selects one or more random winners and can display the wheel animation.
- `make_teams`: Creates random teams or groups using a team count or group-size instruction.
- `open_wheel_link`: Builds a NameWheel URL with the supplied entries loaded.
- `certified_draw`: Runs a public TrueSpin draw using an authenticated account.
- `freeze_list`: Publishes and locks an entry list before a later certified draw.
- `verify_draw`: Checks a draw code or link, including its commitment and signature.
- `my_draws`: Lists the account’s recent certified draws and frozen lists.
- `check_plan`: Reports available capabilities and the remaining daily certified-draw allowance.

The server also provides five prompts and two resources covering TrueSpin and usage limits.

## Limitations and notes

Unauthenticated spins, team assignments, and wheel links do not store submitted names. Certified draws and frozen lists are stored by NameWheel and expose their entries publicly. Verification needs network access to retrieve the public record, while certified operations need the NameWheel API. A connected key is limited to certified draws, frozen lists, plan information, and that account’s draw history; it cannot modify account, payment, or other account data.

The local HTTP deployment has additional settings such as `PUBLIC_URL`, `MCP_JWT_SECRET`, `NAMEWHEEL_API_URL`, `PORT`, `HOST`, and `STATE_DIR`. These apply when self-hosting the HTTP server rather than using the default local stdio process. The project is released under the MIT license.

_Full upstream README: https://allmcps.com/mcp/namewheel/readme_

