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.9/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct random operation: coin flip, dice roll, integer generation, list selection, list shuffling, and a branded personal-number draw. There is some conceptual overlap because random_integer could emulate coin flips or dice rolls, but the descriptions make the intended boundaries clear.

Naming Consistency3/5

Most names use snake_case and several follow a verb_noun pattern, such as flip_coin, roll_dice, and shuffle_list. However, random_integer is adjective_noun and prismtect_number is a branded noun phrase, so the naming convention is mixed but still readable.

Tool Count5/5

Six tools is well-scoped for a random-generation utility server, with each tool covering a recognizable random primitive. There is no obvious redundancy that bloats the surface.

Completeness4/5

The server covers the main fair-random operations: coin flips, dice, integers, list picking, and shuffling. Minor gaps exist for weighted selection, random floats, or random strings, but agents can work around most of these or they fall outside the apparent core scope.

Available Tools

6 tools
flip_coinFlip a coinA
Read-only
Inspect

Flip a fair coin 1 to 100 times. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.

NameRequiredDescriptionDefault
seedNoOptional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw.
countNo

TDQS

A3.6/5.0
Behavior4/5

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

Discloses a non-obvious behavioral trait beyond the annotations: the response is a link to drawstoday.com and contains no result payload itself, so the agent must follow the URL. Annotations already cover read-only/safety, so this is a genuine value-add; it stops short of explaining link lifetime or what a multi-flip page shows.

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 short sentences, front-loaded with the action and range. Slightly redundant phrasing ("the answer is ... the answer itself carries no result") but no wasted content.

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 correctly carries the return-value burden by explaining the link-based result. It leaves open how a count greater than 1 is represented (one link with all flips vs. multiple) and whether the link is stable or expires.

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%: seed is fully documented in the schema while count has no schema description, and the description compensates by stating "1 to 100 times." It adds nothing about seeding, so it only partially fills the gap.

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 a batch range, which cleanly separates it from roll_dice, random_integer, and shuffle_list. It doesn't explicitly name a sibling, but the coin-specific scope is unambiguous.

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?

The 1-to-100 range implies batch use, and the schema covers seed reuse for verification, but the description never says when to choose this over roll_dice or random_integer. Usage is only implied.

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. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.

NameRequiredDescriptionDefault
seedNoOptional. 64 hex characters. Give the seed shown on an earlier result page 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.8/5.0
Behavior4/5

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

Annotations already cover read-only, non-destructive, non-open-world, non-idempotent behavior. The description adds genuinely non-structured context: draws are uniform ('each equally likely'), repeats are excluded by default, and crucially the response is a drawstoday.com link that displays the result rather than containing it. That last point is essential and is not derivable from annotations or schema.

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?

Three tight sentences with the core action front-loaded and the surprising return-format caveat placed before it can mislead. The phrasing 'the answer is a link... the answer itself carries no result' is slightly awkward and redundant, but it earns its place by warning the agent not to expect the drawn values inline.

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?

With no output schema, the description correctly takes on the burden of explaining the return value (a result-page link, not the result). Combined with annotations and the seed documentation, an agent has nearly everything needed to call it. The remaining gap is guidance on distinguishing this from shuffle_list and on what to do with the returned link.

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 description coverage is only 25% (only `seed` is documented), so the description must compensate. It does: 'list of up to 1000' bounds `items`, 'Pick 1 or more' bounds `count`, and 'Without repeats by default' explains the `unique` default of true. It still never names parameters and omits the 200-character item limit and any interaction between count and list length.

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 with scope: pick 1+ items from a list of up to 1000, equally likely, no repeats by default. An agent immediately knows this is a random subset selection. It does not explicitly differentiate itself from the closest sibling, shuffle_list, which an agent could plausibly confuse with picking multiple items.

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?

Usage is implied by the description (use it to draw a random sample of items), but there is no explicit when-to-use or when-not guidance, and no mention of when to choose shuffle_list, random_integer, or roll_dice instead. The seed sentence in the schema hints at verification use, but the description itself gives no routing guidance.

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. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.

NameRequiredDescriptionDefault
maxYes
minYes
seedNoOptional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw.
countNo
uniqueNo

TDQS

A4.2/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, non-idempotent), so the description's real contribution is the crucial disclosure that the response is a drawstoday.com link and 'carries no result' — without this an agent would wrongly try to parse numbers. It also notes the 2^32 range cap. It could still say more about what the link page contains, but the highest-risk surprise is disclosed.

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?

Three tight sentences, front-loaded with what is generated before the output caveat. No filler, though the phrasing 'The answer is a drawstoday.com link ... the answer itself carries no result' is slightly redundant in its repetition of 'answer'.

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 5-parameter generator with no output schema, the description supplies the two things an agent most needs: the shape of the result (a link, not values) and the verification/seed story. Combined with the well-documented seed param, nothing essential to correct invocation is missing.

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 description coverage is only 20% (only seed is documented), so the description must compensate, and it does: it defines count bounds ('1 to 1000 of them'), unique ('with or without repeats'), and the valid range size for min/max. Only the seed parameter's meaning is left to the schema, which handles it well.

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

Purpose5/5

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

The description states a specific verb+resource ('Integers from min to max inclusive, 1 to 1000 of them, with or without repeats') and immediately distinguishes itself from siblings like roll_dice or flip_coin by describing a bounded integer range with count and uniqueness controls.

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?

Usage is only implied — an agent can infer this is the tool for arbitrary integer ranges rather than dice/coin/list operations, but the description never names an alternative or states when not to use it. The seed-replay sentence does indicate one legitimate use case (verifying a draw), which lifts it above a bare 2.

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

roll_diceRoll diceA
Read-only
Inspect

Roll 1 to 100 dice with 2 to 1000 sides each (default one six-sided die). The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.

NameRequiredDescriptionDefault
seedNoOptional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw.
countNo
sidesNo

TDQS

A4.2/5.0
Behavior5/5

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

The annotations cover the safety profile (readOnly, non-destructive, non-idempotent, closed-world), and the description adds the non-obvious part structured metadata cannot: the return value is a drawstoday.com link and the answer text contains no result. That is exactly the kind of surprise an agent needs disclosed before calling.

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 sentences, front-loaded with the core operation and constraints, then the return-format caveat. No filler; every clause carries information.

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?

There is no output schema, and the description supplies the missing return semantics (a link, no inline result) along with all parameter bounds an agent needs. Nothing essential to a correct call is absent.

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%, but the description compensates for the two undocumented parameters by stating count and sides ranges and the default six-sided die. Only seed has a schema description; the description doesn't restate it, which is fine.

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 gives a specific verb and resource (roll dice) and states the exact domain: 1-100 dice, 2-1000 sides, default one d6. This clearly separates it from flip_coin and random_integer in practice, but it doesn't name any sibling or draw an explicit boundary.

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?

Usage is implied by the rolling semantics, and the seed sentence explains that reproducing an earlier draw is how a draw is verified. However, that guidance duplicates the schema's seed description, and there is no explicit statement of when to prefer this tool over random_integer or flip_coin.

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. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.

NameRequiredDescriptionDefault
seedNoOptional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw.
itemsYes

TDQS

A3.6/5.0
Behavior4/5

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

Adds behavior an agent cannot get from the annotations: the result is a drawstoday.com redirect link and the response text itself carries no shuffled result, which materially changes how the caller must handle the return value. The uniformity guarantee ('every order is equally likely') also adds substance. It is consistent with readOnlyHint=true and idempotentHint=false, but does not cover rate limits or link lifetime.

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 sentences, front-loaded with the operation and guarantee, followed by the critical return-value caveat. No filler.

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?

With no output schema, the description correctly fills the biggest gap by explaining that the response is a link rather than a result. Minor gaps remain around how the draw link is used later and what the items strings represent, but an agent can call the tool correctly from what is given.

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 thoroughly documented in-schema, while items has no description at all. The description reiterates the 1000-item limit already encoded as maxItems and adds no meaning about what items should contain or the per-item 200-character limit, so it only partially compensates.

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+resource ('put items in a random order') plus a strong guarantee ('every order is equally likely') and a capacity bound. It does not distinguish itself from siblings like pick_from_list or random_integer, so an agent must infer the difference from the name alone.

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 statement of when to choose this over randomized siblings such as pick_from_list or random_integer, and no prerequisites or exclusions. The only implied usage guidance is the 1000-item cap.

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
    • Changedflip_coin1 field changed
      • changedInput schema / properties / seed / description
        Previous value: -"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."New value: +"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    • Changedpick_from_list1 field changed
      • changedInput schema / properties / seed / description
        Previous value: -"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."New value: +"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    • Changedrandom_integer1 field changed
      • changedInput schema / properties / seed / description
        Previous value: -"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."New value: +"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    • Changedroll_dice1 field changed
      • changedInput schema / properties / seed / description
        Previous value: -"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."New value: +"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
    • Changedshuffle_list1 field changed
      • changedInput schema / properties / seed / description
        Previous value: -"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."New value: +"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."
  2. 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