Fair Random
Fair, reproducible randomness for agents: dice, coins, integers, list picks, shuffles, with seeds.
Should I use this
Quality & Safety
Findings (3)
- LOWin roll_dice
- LOWin flip_coin
- LOWin shuffle_list
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": {
"fair-random": {
"url": "https://tools.intoperson.com/mcp/random"
}
}
}Remote endpoints
https://tools.intoperson.com/mcp/randomstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢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
Evidence