MCP server for D20DAO verifiable randomness on Arc: dice, draws and shuffles with on-chain proofs, 0.05 USDC per call from a Circle Agent Wallet.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
claude mcp add mcp -- npx -y @d20dao/mcp{
"mcpServers": {
"mcp": {
"command": "npx",
"args": ["-y", "@d20dao/mcp"]
}
}
}MCP Servers overview
# D20DAO MCP server
Verifiable randomness for AI agents: dice, coin flips, ranges, winners and shuffles, each one a VRF request on Arc with a proof anyone can replay. 0.05 USDC per draw, paid from your Circle Agent Wallet.
## Setup
1. **Wallet.** Have your agent follow [Circle's setup guide](https://agents.circle.com/skills/setup.md). It installs the Circle CLI, logs you in with an emailed code and creates an agent wallet. You accept Circle's terms yourself.
2. **Funds.** Fund the wallet with USDC and deposit some into Circle Gateway, for example on Arc:
```bash
circle gateway deposit --chain ARC --method direct --amount 1 --address <wallet>
```
Arc, Polygon, Avalanche, Base, Arbitrum, Optimism, Unichain and Ethereum balances all work.
3. **Server.** Add it to your client.
Claude Code:
```bash
claude mcp add d20dao -- npx -y @d20dao/mcp@0.1.0
```
Claude Desktop, Cursor and others (`mcpServers` in the client's MCP config):
```json
{ "mcpServers": { "d20dao": { "command": "npx", "args": ["-y", "@d20dao/mcp@0.1.0"] } } }
```
On Windows, use `"command": "cmd"` with `"args": ["/c", "npx", "-y", "@d20dao/mcp@0.1.0"]` if the client cannot start `npx` directly. Pin the version, since the server runs with your Circle session.
Ask your agent to call `setup_status`; it names the next step until everything is ready.
## Tools
| Tool | Cost | Does |
| --- | --- | --- |
| `draw` | 0.05 USDC | `raw`, `coinFlip`, `dice` (up to 128), `range`, `chooseOne`, `chooseMany`, `shuffle` (up to 256 items). Returns the result with request, fulfillment and proof links. |
| `get_result` | free | Reads a draw by `paymentId` or a request by `requestId`. |
| `setup_status` | free | Checks the CLI, login, wallet, Gateway balance and today's spending. |
An optional `seed` (up to 64 bytes) is bound on chain to the draw, so a raffle can name its round before the result exists. Give each separate draw its own seed: an identical draw within five minutes returns the earlier one without paying.
A draw usually answers in about ten seconds, but it can take longer. If your client's tool timeout is short (60 seconds is a common default), raise it; a retry after a timeout returns the same draw rather than paying twice.
## Settings
| Variable | Default | |
| --- | --- | --- |
| `D20_DAILY_LIMIT_USDC` | `1` | Spending cap per UTC day, shared by every server process of the user. `0` turns paid draws off. |
| `D20_NETWORK` | `mainnet` | `testnet` uses the Arc Testnet API and a testnet CLI login (`circle wallet login <email> --testnet`). |
| `D20_PAY_CHAIN` | first funded | Circle CLI chain code to pay from, such as `ARC` or `BASE`. |
| `D20_WALLET_ADDRESS` | first agent wallet | Agent wallet to pay from. |
| `D20_CIRCLE_CLI` | `circle` on PATH | Path to the CLI's `dist/index.js`. |
| `D20_MCP_HOME` | `~/.d20dao-mcp` | Where the spending record is kept. |
## Safety
- The server holds no keys. The Circle CLI signs, and your Circle wallet limits apply. It never accepts Circle's terms for you: `CIRCLE_ACCEPT_TERMS` is kept out of the CLI it runs, and `DO_NOT_TRACK` is set so your item labels stay out of the CLI's telemetry.
- It pays only `api.d20dao.org` (or `api-testnet.d20dao.org`) and never more than 0.05 USDC per draw. If the CLI ever reports another seller, that draw comes back with a warning and paid draws stop until you delete `halt.json` from the server's home folder.
- Each draw reserves its price in the daily record before paying; if the record cannot be written, it does not pay.
- A draw that is still pending is finished for free with `get_result`. If the answer is lost after payment, the server resends the payment the CLI signed, which the API honours at most once.
- A result says `charged: false` only when that is known. When it says `unknown`, do not draw again; check with `get_result` or the wallet.
- `draw` is marked as a tool with side effects, so clients ask before running it unless you allow it.
## Verify
Every result links its request and fulfillment transactions and a proof page. Replay the proof yourself with [`@d20dao/vrf-sdk`](https://www.npmjs.com/package/@d20dao/vrf-sdk); see [verification](https://d20dao.org/docs/verification) and the [agent API guide](https://d20dao.org/docs/agents).
## License
MIT
What people ask about mcp
What is d20dao/mcp?
+
d20dao/mcp is mcp servers for the Claude AI ecosystem. MCP server for D20DAO verifiable randomness on Arc: dice, draws and shuffles with on-chain proofs, 0.05 USDC per call from a Circle Agent Wallet. It has 0 GitHub stars and its last recorded update is dated 2026-09-19.
How do I install mcp?
+
You can install mcp by cloning the repository (https://github.com/d20dao/mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is d20dao/mcp safe to use?
+
Our security agent has analyzed d20dao/mcp and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains d20dao/mcp?
+
d20dao/mcp is maintained by d20dao. The last recorded GitHub activity is dated 2026-09-19, with 0 open issues.
Are there alternatives to mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ
The fastest path to AI-powered full stack observability, even for lean teams.