TrueRandomness
Server Details
Verified random integers via free MCP tools, plus Tempo-paid signed random certificates.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
random_int and random_int_signed share a purpose but are clearly differentiated by the payment/receipt distinction, and each description explicitly tells the agent when to use which. status is obviously a health-check tool with no overlap.
Two tools follow a clean snake_case verb_noun-ish pattern (random_int, random_int_signed), and the suffixed variant is a readable, predictable extension. The bare 'status' noun deviates slightly from the pattern but is unambiguous.
Three tools is well-scoped for a randomness-as-a-service endpoint: a free draw, a paid draw, and a health check. Each earns its place with no redundancy.
The core draw (free and paid) plus health reporting covers the essential lifecycle, and provenance metadata is returned inline. Minor gaps exist—no batch generation, no random bytes/float variant, and no explicit verification tool despite verifiable commitments.
Available Tools
3 toolsrandom_intRandom integerARead-onlyInspect
Return a uniformly distributed random integer in [min, max], derived from a signature-verified drand quicknet beacon mixed with a server secret and, when a public KiwiSDR receiver delivers one, a hash of live HF atmospheric noise. The response carries the drand round, the beacon signature, a per-request nonce, a commitment hash binding them to the value, a URL where the round can be re-verified, and a physical block stating whether noise went in and from where. Free and rate-limited.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Inclusive upper bound. Integer. Defaults to 100. | |
| min | No | Inclusive lower bound. Integer. Defaults to 1. |
Output Schema
| Name | Required | Description |
|---|---|---|
| max | No | |
| min | No | |
| error | No | |
| value | No | |
| status | Yes | |
| provenance | No | |
| retryAfterSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint and openWorldHint; the description goes well beyond by disclosing the randomness provenance (drand quicknet beacon, server secret, optional HF noise), rate limiting, and verifiability of the round. It does not state failure modes when the beacon or receiver is unavailable, which is the one meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then provenance, then constraints in one dense but coherent sentence. The enumeration of response fields (round, signature, nonce, commitment, URL, physical block) is partly redundant given an output schema exists, which is the only bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is not required, and the description still supplies the provenance, verification path, and rate-limit context an agent needs. Only the absence of sibling differentiation keeps it short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both min and max as inclusive integer bounds with defaults, so the description's '[min, max]' phrasing adds nothing new. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with precise scope: 'Return a uniformly distributed random integer in [min, max]'. It also explains the entropy source, which distinguishes it substantively from a plain RNG. However, it never names or contrasts with its sibling random_int_signed, so the agent must infer which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Free and rate-limited' gives an implied usage constraint (cost and throttling), which is more than nothing. But there is no explicit when-to-use, when-not-to-use, or routing to random_int_signed/status, so the agent is left to guess between the two integer tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
random_int_signedRandom integer (paid)AIdempotentInspect
Return a uniformly distributed random integer in [min, max] with the same drand quicknet provenance as random_int, plus a payment receipt. Costs $0.01 per call in stablecoin over the Machine Payments Protocol. New unpaid challenge requests are safety-limited. An unpaid call answers with a payment challenge (JSON-RPC -32042); a client that cannot pay should use random_int instead.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Inclusive upper bound. Integer. Defaults to 100. | |
| min | No | Inclusive lower bound. Integer. Defaults to 1. | |
| requestId | No | Required UUID generated once by the client and reused to recover this paid draw. |
Output Schema
| Name | Required | Description |
|---|---|---|
| max | No | |
| min | No | |
| error | No | |
| value | No | |
| status | Yes | |
| provenance | No | |
| certificate | No | |
| retryAfterSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare safety hints (idempotentHint=true, readOnlyHint=false, openWorldHint=true); the description supplies the substantive behavioral facts they don't: $0.01 per-call cost, stablecoin/Machine Payments Protocol settlement, safety-limited unpaid challenges, and the specific payment-challenge response code. It also implicitly justifies idempotentHint via requestId reuse for recovery. No contradiction with the non-read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and provenance, then payment cost, then fallback guidance — a sensible ordering. It is dense but nearly every clause carries information; the payment-protocol and response-code details are slightly compressed into one long stretch.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be explained, and the description covers the unusual aspects an agent needs: cost, settlement mechanism, unpaid-call behavior, and the fallback tool. Nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so min, max, and requestId are already fully documented in the schema (including inclusive bounds, integer defaults, and requestId's UUID-reuse purpose). The description adds no parameter-level syntax or format detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Return a uniformly distributed random integer in [min, max]'), names the provenance (drand quicknet) and the differentiator (paid, includes a payment receipt). This cleanly separates it from the sibling random_int, which the description explicitly identifies as the unpaid counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit routing rule: 'a client that cannot pay should use random_int instead,' and describes what happens to an unpaid caller (payment challenge, JSON-RPC -32042). The condition that selects this tool over its sibling is stated, not implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
statusService statusARead-onlyInspect
Report service and beacon health: the current drand quicknet round, which relay answered, the rate-limiter mode, and whether the last draw obtained live atmospheric noise. Free, and does not consume rate limit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| beacon | No | |
| status | Yes | |
| physical | Yes | |
| rateLimiter | Yes | |
| entropySource | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=true), so the bar is lower, yet the description adds genuinely non-structured context: the call is free and does not consume rate limit. That is a real behavioral fact an agent would otherwise have to guess, though it does not describe latency, caching, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, purpose front-loaded and the cost/rate-limit caveat placed last as a secondary qualifier. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description is not obligated to explain return values, and the read-only annotations cover safety. For a zero-parameter diagnostic tool this is essentially complete; only the absence of any usage routing keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate and it correctly does not invent parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Report) and resource (service and beacon health) and enumerates the concrete data points returned: drand quicknet round, relay, rate-limiter mode, noise status. It is clearly distinguishable in kind from the sibling tools random_int/random_int_signed, though it never names them or explicitly contrasts itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is a pre-flight/diagnostic check, but the description gives no explicit when-to-use trigger, no when-not-to-use, and does not point to the siblings as alternatives for actually obtaining randomness.
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.
3 tool updates
- First observed
random_int - First observed
random_int_signed - First observed
status
Related MCP Connectors
Free: ed25519 hash timestamps, randomness tests, lottery data. Open falsification challenge.
Verifiable physical randomness from cosmic-ray detections. Free beacon, paid signed decisions.
Cryptographically sound randomness for agents, with verifiable commit-reveal.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn encrypted and secure random number generation server that complies with the MCP protocol, suitable for AI applications, LLMS, and other systems that require high-quality random numbers.72Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server enabling provably-fair random selection and winner picking using drand randomness, with tools for instant picks, scheduled draws, and verification.MIT
- FlicenseBqualityDmaintenanceGenerates random integers within a specified range and random alphanumeric strings of specified length through MCP protocol integration.2-
- FlicenseAqualityDmaintenanceRandomWeb3MCP is a random element generation service based on EVM block hash. The service provides various random element generation tools that can be used in games, finance, testing, and other fields.102-
Glama MCP Gateway
Add one secure layer between your agents and this server.