Skip to main content
Glama

Fair Random

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct random operation, but pick_from_list and shuffle_list both operate on lists, and roll_dice overlaps semantically with random_integer (dice rolls are bounded integers). Descriptions clarify the boundaries well enough that misselection is unlikely.

Naming Consistency4/5

Four of five names follow a clean verb_noun pattern (flip_coin, pick_from_list, roll_dice, shuffle_list), but random_integer is noun-first without a verb, a minor deviation from the otherwise consistent scheme.

Tool Count5/5

Five tools is a tight, well-scoped set for a randomness utility, with each tool covering a genuine and distinct use case (coin, list subset, integer, dice, shuffle).

Completeness4/5

Core randomness primitives are well covered, but there are minor gaps such as random floats, weighted picks, or random strings/UUIDs. Agents can work around these using the existing tools, so the surface is largely complete.

Available Tools

5 tools
flip_coinFlip a coinB
Read-only
Inspect

Flip a fair coin 1 to 100 times.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoOptional. 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.
countNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only the 'fair' uniformity claim; it says nothing about reproducibility via seed or the return format, though the idempotentHint=false annotation and the schema's seed text together imply the quirky seed-replay behavior the description omits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Nothing to trim and the essential scope (count bound) is stated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should ideally state what a flip returns (heads/tails vs boolean) and how multiple flips are represented. For a simple two-parameter tool the omission is survivable, but it leaves a real gap for an agent composing a response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: seed is well documented in the schema, while count relies on its min/max/default constraints. The description's '1 to 100 times' reinforces the count range, but adds nothing about the seed parameter's verification purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Flip a fair coin') plus the count range, so the core action is unambiguous. It stops short of distinguishing itself from siblings like roll_dice or random_integer, which occupy nearly the same conceptual space.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to prefer this over roll_dice, random_integer, or pick_from_list, and no mention of the seed-reuse workflow for verifying or reproducing a draw. The agent is left to infer selection entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pick_from_listPick from a listA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoOptional. 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.
countNo
itemsYes
uniqueNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, non-destructive, non-idempotent and closed-world, so the safety profile is covered. The description adds genuinely new behavioral context: uniform probability per item, an explicit cap of 1000, and the default no-repeat behavior — the latter also explaining why the operation is not idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler, front-loading the core action and following immediately with the probability and uniqueness semantics. Nothing could be cut without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with no output schema, the description covers the selection semantics but omits edge cases an agent would want: what happens when count exceeds the number of usable unique items, and whether duplicate values in the input are tolerated. Adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only 'seed' is documented), so the description must compensate. It does partially: '1 or more' maps to count's minimum, 'up to 1000' maps to the maximum, and 'without repeats by default' explains unique's default of true. However it says nothing about seeding/reproducibility (left to the schema) or the per-item length limit, so gaps remain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Pick 1 or more items from a list') plus scope ('up to 1000') and the selection guarantee ('each equally likely'). It is distinguishable from roll_dice/flip_coin/random_integer, but never contrasts itself with the closest sibling, shuffle_list, which also operates on a list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not guidance and no alternative is named. The reader must infer that this is the tool for sampling a subset, whereas shuffle_list reorders the whole list. Usage is only implied by the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

random_integerRandom integersA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
maxYes
minYes
seedNoOptional. 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.
countNo
uniqueNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered; the description adds the hard range ceiling of 2^32 values and the inclusive bound semantics, which are not derivable from the schema. It still omits what happens on impossible requests (e.g. unique=true with a count exceeding the range size).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler and the interval definition front-loaded. The phrasing '1 to 1000 of them' is slightly compressed at the cost of a little readability, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no output schema, the description should say what comes back (a single integer vs an array when count > 1) and how errors are surfaced when unique cannot be satisfied. Annotations cover safety, but the return shape remains unstated, leaving a real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 20% schema description coverage, the description carries most of the load: it explains min/max as an inclusive interval, count as 1-1000 items, and unique as 'with or without repeats' — covering four of five parameters. The seed parameter's 64-hex replay semantics are left to the schema, which does document them well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the concrete resource (integers drawn from a min/max interval) plus its scope controls (count 1-1000, repeats optional), which is clearly distinct from siblings like pick_from_list or shuffle_list that operate on supplied collections. It never explicitly contrasts itself with those siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to choose random_integer over roll_dice, pick_from_list, or shuffle_list, and no prerequisites or exclusions. Only an incidental hint about replaying a draw via the seed, which is really a parameter behavior rather than usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roll_diceRoll diceB
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoOptional. 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.
countNo
sidesNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description. The description adds only the dice/sides ranges and default, which largely duplicate the schema's minimum/maximum/default values, so it earns a baseline 3 rather than more.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. Every clause (count range, sides range, default) carries information an agent needs, and nothing is repeated or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and the annotations cover safety, but there is no output schema and the description never says what a roll returns (e.g., a list of values) or how the seed maps to a reproducible result. For a tool with no output schema, the return shape is left for the agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (only seed is documented in-schema), but the description compensates by conveying the meaningful ranges and default for count and sides: '1 to 100 dice with 2 to 1000 sides each (default one six-sided die).' Seed semantics are already well handled in the schema, so the combination leaves no parameter ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (roll) and resource (dice) with concrete bounds: 1-100 dice, 2-1000 sides, default one six-sided die. That is enough to distinguish it from flip_coin, pick_from_list, and shuffle_list, though it never explicitly contrasts itself with the overlapping random_integer sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description contains no when-to-use or when-not-to-use guidance and never names an alternative. An agent must infer from the name alone whether to reach for this tool versus random_integer or flip_coin; the seed reproducibility workflow is described only in the schema, not here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

shuffle_listShuffle a listA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoOptional. 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.
itemsYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, non-destructive, openWorld false), so the bar is lower, and the description still adds a real behavioral guarantee: 'every order is equally likely' (uniform permutation). The 1000-item ceiling is also surfaced. It omits that repeated calls with the same items produce different results unless seeded, which is only implied via idempotentHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clause pair with zero filler, and the key constraint (1000 items) and the core guarantee are both front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, side-effect-free permutation tool with annotations covering safety and the schema covering the seed, the description is nearly sufficient. The only minor gap is that it never says the shuffled list is what gets returned, which the absent output schema would otherwise need to clarify.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the seed parameter is well documented in the schema (64 hex chars, replay semantics), while items has no schema description. The description corroborates the item limit ('up to 1000 items') but adds nothing about the seed beyond what the schema already states, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (put in a random order) and the resource (a list of items), so an agent immediately understands this permutes the whole input rather than selecting a single element. It doesn't explicitly name sibling pick_from_list, which is the closest adjacent operation, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Use is implied by the operation itself—shuffle the list rather than pick one item or roll dice—but there is no explicit when-to-use or when-not-to-use statement, and no mention of the seed-replay scenario for verification. The schema's seed description carries that usage context instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedflip_coin
    • First observedpick_from_list
    • First observedrandom_integer
    • First observedroll_dice
    • First observedshuffle_list

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides true random generation tools for AI agents, including coin flip, dice roller, random numbers, and wheel of fortune, enabling decisions and TTRPG sessions.
    2 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables random selection tools including lottery drawing from option lists, dice rolling with customizable sides and counts, and coin flipping. Supports both single and multiple draws with duplicate control options.
    3
    2
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources