Skip to main content
Glama

entropy

Server Details

Cryptographically sound randomness for agents, with verifiable commit-reveal.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. 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
Repository
terradev-cloud/entropy-mcp
GitHub Stars
0

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool addresses a distinct aspect of entropy: commitment for verifiable randomness, explore for bandit algorithms, random for direct generation, and test for statistical validation. There is no overlap or ambiguity.

Naming Consistency5/5

All tool names are lowercase single words (commitment, explore, random, test), forming a consistent and predictable pattern. No style mixing or verb/noun inconsistencies.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose—covering generation, testing, exploration, and verifiable commitment. Each tool is essential and no redundancy.

Completeness4/5

The core entropy workflows are covered: random generation with multiple primitives, statistical testing, bandit exploration, and commit-reveal. Minor gaps exist (e.g., no explicit entropy estimation tool), but these are edge cases rather than dead ends.

Available Tools

4 tools
commitmentAInspect

Verifiable commit-reveal. operation selects the step: commit -- hash a seed, bind it to draw_spec {operation, params}, attest via Stamp. The seed is returned to the caller and never stored. reveal -- verify a seed against commitment_id, re-execute the draw deterministically, attest the outcome. draw -- commit + execute + reveal in one call. Pass draw_spec, or operation + params directly. verify -- pure third-party verification of commitment_record + reveal_record. No local state. list -- read-only view of the local commitment log (limit, since).

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNo
limitNo
sinceNoISO 8601 lower bound
attestedNo
draw_specNo{operation, params} for commit/draw
operationYes
descriptionNo
anchor_beaconNo
commitment_idNo
reveal_recordNo
commitment_recordNo

TDQS

A3.8/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses important behavioral traits: 'The seed is returned to the caller and never stored' and 'verify -- ... No local state.' It also mentions attestation via Stamp, indicating side effects beyond the obvious. This goes beyond a simple functional statement, though it doesn't cover all behaviors (e.g., error handling, rate limits).

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?

The description is a single block organized as a list of operations, with each line adding value. The main purpose is front-loaded with 'Verifiable commit-reveal.' The structure is efficient, though slightly verbose, and every sentence earns its place. Could be tightened, but it's well-structured.

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 tool with 11 parameters and no output schema, the description provides a high-level overview of operations and key inputs, but it lacks complete coverage. It doesn't explain the purpose of 'attested', 'anchor_beacon', 'description', or how parameters map to specific operations. An agent may struggle to know which parameters are relevant for a given operation. This is a gap given the tool's complexity.

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 18%, so the description must compensate. It adds meaning for several parameters by context: 'draw_spec {operation, params}' for commit/draw, 'commitment_id' for reveal, and 'limit, since' for list. However, many parameters (attested, anchor_beacon, description, seed beyond implicit use, commitment_record, reveal_record) are not explicitly defined. It partially compensates but leaves gaps.

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 clearly states the tool's purpose as 'Verifiable commit-reveal' and then explicitly enumerates each operation (commit, reveal, draw, verify, list) with a specific verb and resource. It distinguishes the operations by describing what each does, making it easy for an agent to understand the tool's scope and separate it from generic actions.

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 description implies usage context by describing each operation's role (e.g., 'list -- read-only view of the local commitment log'), but it does not explicitly state when to use this tool over sibling tools (explore, random, test) nor give exclusions. The guidance is encoded in the operation descriptions, which is adequate but not explicitly comparative.

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

exploreAInspect

Bandit arm selection: epsilon_greedy, thompson, or ucb1. Stateless -- caller passes state in as {arm: {pulls, successes, total_reward}} and gets a selection back. params: {epsilon} for epsilon_greedy.

ParametersJSON Schema
NameRequiredDescriptionDefault
armsYes
seedNo
stateNo
paramsNo
strategyYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It explicitly states that the tool is stateless, requires caller-supplied state, and returns a selection, which is the key behavioral trait an agent needs. It does not mention seed semantics or error behavior on invalid state, but the primary stateless contract is clearly disclosed.

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?

The description is two compact sentences with no filler; the core behavior is front-loaded and every sentence adds useful information. The state shape and the one strategy-specific parameter are conveyed efficiently.

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 description gives enough for a basic understanding of the stateless contract and one parameter, but it omits the structure of the arms array, the purpose of seed, and the exact form of the returned selection. Given that there is no output schema and there are nested objects, these gaps make the description minimally viable rather than 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 0%, so the description must compensate for missing parameter documentation. It adds meaningful semantics for the state object (arm -> pulls/successes/total_reward) and for params.epsilon, and it enumerates strategy values. However, it leaves the arms array element shape, the seed parameter, and the general params object semantics unexplained.

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 clearly identifies the tool as a bandit arm selection mechanism and names the supported strategies (epsilon_greedy, thompson, ucb1). It does not explicitly contrast with the sibling tools, so some ambiguity about when this specific explorer is preferred remains, but the core purpose 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 description implies the tool is used for stateless multi-armed bandit decisions and tells the caller to pass state in a specific shape. It does not say when to choose this tool over the sibling tools or when not to use it, and it gives no guidance on selecting one strategy over another.

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

randomAInspect

Direct randomness. operation selects the primitive: bytes -- raw CSPRNG bytes. params: {count<=4096, encoding: hex|base64} int -- unbiased integers in [min,max] via rejection sampling. params: {min, max, count<=10000} shuffle -- Fisher-Yates; permutation[i] is the original index now at position i. params: {items, return_permutation} choose -- k items, weighted or not, with/without replacement. params: {items, k, weights, replacement} sample -- named distributions: uniform, normal, lognormal, exponential, triangular, beta. params: {distribution, params, n<=10000} constrained -- records with independently sampled attributes + chi-squared conformance proof. params: {attributes: {attr: {value: prop}}, n} seed (top level) makes any operation reproducible.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNooptional seed for a reproducible draw
paramsNooperation-specific arguments
operationYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does this exceptionally well: it explains the algorithm for each operation (e.g., 'unbiased integers via rejection sampling', 'Fisher-Yates', 'chi-squared conformance proof'), specifies constraints (count limits, encoding options), and notes that the top-level seed makes draws reproducible. This goes far beyond a generic 'generates random data' and gives the agent a precise model of behavior.

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?

The description is compact yet comprehensive, using a clear list format that front-loads the core purpose ('Direct randomness') and then details each operation. Each line is purposeful, with no fluff or repetition. The structure makes it easy for an agent to scan and identify the relevant operation quickly.

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 tool with six distinct operations, nested params, and no output schema, the description covers all essential aspects: operation selection, parameter requirements, constraints, and even output semantics (e.g., shuffle's permutation meaning). It also mentions reproducibility via seed. Nothing critical is missing for an agent to call this tool correctly.

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

Parameters5/5

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

The input schema only defines operation, params, and seed with generic descriptions. The description adds rich semantics for every operation's parameters, such as 'bytes -- raw CSPRNG bytes. params: {count<=4096, encoding: hex|base64}' and 'int -- unbiased integers in [min,max] via rejection sampling. params: {min, max, count<=10000}'. This fully compensates for the 67% schema coverage and provides meaning far beyond the schema.

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 opens with 'Direct randomness' and then enumerates six specific operations (bytes, int, shuffle, choose, sample, constrained) with one-line explanations. This clearly states the tool's purpose and distinguishes it from the sibling tools (commitment, explore, test), which are unrelated to randomness. The verb 'selects' and the resource 'primitive' make the function explicit.

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?

The description provides clear context: this tool is for generating random values via various primitives. It doesn't explicitly mention when not to use it or name alternatives, but since the sibling tools are unrelated, the usage context is unambiguous. The lack of explicit exclusions is acceptable given the tool's self-contained nature.

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

testCInspect

Statistical battery over a sequence: frequency, chi-squared, runs, longest run, serial correlation, Shannon entropy, KS, gap test. Informed by NIST SP 800-22; no certification claimed. sequence is a list of numbers, list of strings, or a hex/base64 byte string.

ParametersJSON Schema
NameRequiredDescriptionDefault
alphaNo
testsNo'all' or a list of: frequency, chi_squared, runs, longest_run, serial, entropy, ks, gapall
expectedNo{symbol: probability} for chi_squared
sequenceYeslist of numbers, list of strings, or hex/base64
input_typeNoauto
dist_paramsNo
distributionNoenables the KS test

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears the full burden of behavioral disclosure. It adds a useful caveat that the tests are informed by NIST SP 800-22 but no certification is claimed, and it documents accepted sequence types. However, it does not disclose whether the tool is read-only, how results are returned, what defaults are applied, or what happens with invalid inputs.

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?

The description is tight and front-loaded: it names the operation and enumerates the tests in the first sentence, then adds a caveat and input clarification in the second. It avoids fluff, though it could be slightly more structured by separating input types from behavioral caveats.

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

Completeness2/5

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

Given seven parameters carrying statistical semantics, no output schema, and no annotations, the description is too minimal for an agent to confidently invoke the tool across its feature set. It omits return-value shape, the role of alpha, the meaning of expected/dist_params, and how 'all' or custom test selection interacts with other parameters.

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?

The description adds meaning for 'sequence' by listing accepted forms (numbers, strings, hex/base64) and enumerates available test names that map to the 'tests' parameter. But several parameters—alpha, expected, dist_params, distribution, and input_type behavior—rely on the schema or the user's prior knowledge, so the description only partially compensates for the 57% schema coverage.

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 identifies the tool as a statistical battery over a sequence and enumerates the specific tests it runs (frequency, chi-squared, runs, etc.). This gives a clear verb-like sense of operation and resource, though it does not explicitly contrast with sibling tools or state the higher-level goal (e.g., randomness assessment).

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 states the input ('a sequence') and the tests performed, but gives no guidance on when to choose this tool over sibling tools like 'random', 'explore', or 'commitment'. There are no explicit conditions, exclusions, or alternative recommendations.

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. 4 tool updates
    • First observedcommitment
    • First observedexplore
    • First observedrandom
    • First observedtest

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.