Drand

Community Archived Other

An MCP server for fetching verifiable random numbers from the drand network.

What can you do with Drand?

  • repeatable, random sampling of input data
  • interaction with other MCP servers in a verifiable manner (e.g. paying out rewards based on a prompt)
  • verifying the output of another random process using historical drand beacons

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. drand-mcp-server 🎲
  2. Use Cases
  3. Prerequisites
  4. Installation
  5. Tools
  6. Building from source
  7. Roadmap

drand-mcp-server 🎲

Use verifiable randomness in your AI application. This Model Context Protocol (MCP) server enables you to get a random value from the drand network, verify its validity and use it as an input seed to your model-driven flows!

Use Cases

  • repeatable, random sampling of input data
  • interaction with other MCP servers in a verifiable manner (e.g. paying out rewards based on a prompt)
  • verifying the output of another random process using historical drand beacons

Prerequisites

  • a relatively recent version of node (v21+ - fetch is required)

Installation

You can run the MCP server either using npx or after building locally.

Usage with VS Code

Create a file called .vscode/mcp.json in your workspace (or in your home directory) and add the following code:

{
  "servers": {
    "drand": {
      "command": "npx",
      "args": [
        "drand-mcp-server"
      ]
    }
  }
}

For additional info, see the VS Code docs on MCP

Usage with Claude

You can run the drand-mcp-server alongside claude desktop by adding the following to your config:

{
  "mcpServers": {
    "drand": {
      "command": "npx",
      "args": [
        "drand-mcp-server"
      ]
    }
  }
}

Tools

The following tools are available from the MCP server

NameParamsDescription
get-randomness-latestnonefetches the latest available beacon from drand quicknet
get-randomness-by-timetime in millisecondsfetches the randomness beacon emitted at or just before the time
provided
get-randomness-by-roundroundfetches the randomness beacon emitted with a given round number

Building from source

  • install dependencies with npm install
  • build the application with npm run build
  • run the application with either npm start or node ./dist/index.mjs

You can also configure VS Code and Claude as above, replacing the command/args with the following:

  "command": "node",
  "args": ["/path/to/my/project/drand-mcp-server/dist/index.mjs"]

Roadmap

  • [x] fetch latest randomness
  • [x] fetch randomness by round
  • [x] fetch randomness by time
  • [ ] select items from a list

Frequently asked questions

What is Drand?

An MCP server for fetching verifiable random numbers from the drand network.

How do I install Drand?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is Drand open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Drand?

It is published by randa-mu. AI.tn lists it but does not maintain or endorse it.

From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.