entropy

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

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
86%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~904Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (0.71% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "entropy": {
      "url": "https://entropy-mcp.terradev.cloud/mcp"
    }
  }
}

Remote endpoints

https://entropy-mcp.terradev.cloud/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪random(operation, params, seed)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "enum": [
        "bytes",
        "int",
        "shuffle",
        "choose",
        "sample",
        "constrained"
      ]
    },
    "params": {
      "type": "object",
      "description": "operation-specific arguments"
    },
    "seed": {
      "type": "string",
      "description": "optional seed for a reproducible draw"
    }
  },
  "required": [
    "operation"
  ]
}
🟢commitment(operation, draw_spec, commitment_id, seed, description, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "enum": [
        "commit",
        "reveal",
        "draw",
        "verify",
        "list"
      ]
    },
    "draw_spec": {
      "type": "object",
      "description": "{operation, params} for commit/draw"
    },
    "commitment_id": {
      "type": "string"
    },
    "seed": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "default": ""
    },
    "attested": {
      "type": "boolean",
      "default": true
    },
    "anchor_beacon": {
      "type": "boolean",
      "default": false
    },
    "commitment_record": {
      "type": "object"
    },
    "reveal_record": {
      "type": "object"
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "minimum": 1,
      "maximum": 1000
    },
    "since": {
      "type": "string",
      "description": "ISO 8601 lower bound"
    }
  },
  "required": [
    "operation"
  ]
}
🟢test(sequence, tests, alpha, input_type, expected, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "sequence": {
      "description": "list of numbers, list of strings, or hex/base64"
    },
    "tests": {
      "default": "all",
      "description": "'all' or a list of: frequency, chi_squared, runs, longest_run, serial, entropy, ks, gap"
    },
    "alpha": {
      "type": "number",
      "default": 0.05
    },
    "input_type": {
      "type": "string",
      "enum": [
        "auto",
        "numeric",
        "categorical",
        "bytes"
      ],
      "default": "auto"
    },
    "expected": {
      "type": "object",
      "description": "{symbol: probability} for chi_squared"
    },
    "distribution": {
      "type": "string",
      "description": "enables the KS test"
    },
    "dist_params": {
      "type": "object"
    }
  },
  "required": [
    "sequence"
  ]
}
⚪explore(arms, strategy, state, params, seed)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "arms": {
      "type": "array"
    },
    "strategy": {
      "type": "string",
      "enum": [
        "epsilon_greedy",
        "thompson",
        "ucb1"
      ]
    },
    "state": {
      "type": "object"
    },
    "params": {
      "type": "object"
    },
    "seed": {
      "type": "string"
    }
  },
  "required": [
    "arms",
    "strategy"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools