Fair Random

Fair, reproducible randomness for agents: dice, coins, integers, list picks, shuffles, with seeds.

Should I use this

Quality & Safety

B
Description quality
78%
Schema completeness
83%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'roll_dice' description lacks action verbin roll_dice
  • LOWTool 'flip_coin' description lacks action verbin flip_coin
  • LOWTool 'shuffle_list' description lacks action verbin shuffle_list

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~910Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (0.71% of 128k context)

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": {
    "fair-random": {
      "url": "https://tools.intoperson.com/mcp/random"
    }
  }
}

Remote endpoints

https://tools.intoperson.com/mcp/randomstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢roll_dice(sides, count, seed)

Roll 1 to 100 dice with 2 to 1000 sides each (default one six-sided die).

Input Schema

{
  "type": "object",
  "properties": {
    "sides": {
      "type": "integer",
      "minimum": 2,
      "maximum": 1000,
      "default": 6
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 1
    },
    "seed": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{64}$",
      "description": "Optional. 64 hex characters. Give the seed of an earlier answer to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    }
  },
  "additionalProperties": false
}
🟢flip_coin(count, seed)

Flip a fair coin 1 to 100 times.

Input Schema

{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 1
    },
    "seed": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{64}$",
      "description": "Optional. 64 hex characters. Give the seed of an earlier answer to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    }
  },
  "additionalProperties": false
}
🟢random_integer(min, max, count, unique, seed)

Integers from min to max inclusive, 1 to 1000 of them, with or without repeats. The range may hold at most 2^32 values.

Input Schema

{
  "type": "object",
  "properties": {
    "min": {
      "type": "integer"
    },
    "max": {
      "type": "integer"
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "default": 1
    },
    "unique": {
      "type": "boolean",
      "default": false
    },
    "seed": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{64}$",
      "description": "Optional. 64 hex characters. Give the seed of an earlier answer to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    }
  },
  "required": [
    "min",
    "max"
  ],
  "additionalProperties": false
}
🟢pick_from_list(items, count, unique, seed)

Pick 1 or more items from a list of up to 1000, each equally likely. Without repeats by default.

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      },
      "minItems": 1,
      "maxItems": 1000
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "default": 1
    },
    "unique": {
      "type": "boolean",
      "default": true
    },
    "seed": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{64}$",
      "description": "Optional. 64 hex characters. Give the seed of an earlier answer to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
🟢shuffle_list(items, seed)

Put up to 1000 items in a random order; every order is equally likely.

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      },
      "minItems": 1,
      "maxItems": 1000
    },
    "seed": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{64}$",
      "description": "Optional. 64 hex characters. Give the seed of an earlier answer to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools