Skip to main content
Glama

Fair Random

Server Details

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

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation4/5

Most tools target clearly different randomness primitives: coin, dice, integers, list selection, list ordering, and a lucky-number flow. The only mild overlap is pick_from_list vs shuffle_list, which both operate on lists, though the descriptions (select k items vs reorder all items) distinguish them adequately. prismtect_number is unusual but clearly non-overlapping with the rest.

Naming Consistency4/5

Five of six names follow a clean verb_noun pattern (flip_coin, pick_from_list, roll_dice, shuffle_list) or near enough in snake_case. random_integer is adjective_noun rather than a verb, and prismtect_number is a branded term, but the suite is still predictable and readable.

Tool Count5/5

Six tools is a tight, well-scoped set for a randomness utility, each covering a distinct generator type. Nothing feels redundant or padded.

Completeness4/5

Core randomness needs are covered: coins, dice, integers, sampling, shuffling, and a human-driven lucky number. Minor gaps exist around weighted/probability-parameterized selection and non-numeric generation (e.g. random strings/UUIDs), but agents can work around these by composing existing tools.

Available Tools

6 tools
flip_coinFlip a coinB
Read-only
Inspect

Flip a fair coin 1 to 100 times.

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.

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.

prismtect_numberPrismtect number (human touch only)A
Read-onlyIdempotent
Inspect

A personal two-digit number from the Prismtect glass prism, for a user who asks for a lucky number, a number of their own or a number for today. Only a human touch can draw it, so this tool gives no number: it gives the link your user taps themselves. Pass the link on.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description adds the one behavior an agent could not guess: the tool returns no number, only a link the human must tap, and the agent must pass it on. It does not address whether repeated calls yield the same link, which matters given idempotentHint=true.

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?

Three tight sentences: identity first, then the surprising mechanism, then the required agent action. No padding, and the link-not-number fact is front-loaded where it counts.

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

Completeness5/5

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

For a no-parameter, no-output-schema tool, the description supplies everything needed to call it and hand off correctly, including what comes back and what to do with it.

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?

Zero parameters, so there is nothing to disambiguate; baseline 4 applies. The description correctly adds no parameter detail because none exists.

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 concrete verb+resource: it draws a 'personal two-digit number' from the Prismtect prism, and makes clear it returns a link rather than the number. That implicitly separates it from siblings like random_integer and flip_coin, which hand back values directly, but no sibling is named.

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

Usage Guidelines4/5

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

Gives explicit user-intent triggers ('a lucky number, a number of their own or a number for today'), which is strong context for picking this over random_integer. It stops short of stating when NOT to use it or naming the plain-random alternative for users who just want any number.

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.

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).

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.

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. 6 tool updates
    • First observedflip_coin
    • First observedpick_from_list
    • First observedprismtect_number
    • 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to roll dice in NdM notation, flip coins, and pick random integers, with optional seeds for reproducible outcomes and detailed roll results.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLMs and MCP clients to generate cryptographically secure random integers, floats, coins, picks, samples, shuffles, weighted choices, dice rolls, and UUIDs. Supports optional seeding for reproducible results and signed receipts for verification.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to roll tabletop dice in standard notation (including keep/drop and exploding modifiers), flip up to 1,000 coins, and compute exact probability distributions or target-threshold odds for any roll. Every result is seeded and reproducible, so the same arguments plus seed return identical outcomes.
    286 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources