Cryptographically sound randomness for agents, with verifiable commit-reveal.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Entropy gives agents randomness they cannot produce themselves, and proof they did not manipulate it.
Language models cannot generate statistically sound randomness. This is measured, not speculative:
Agents operate in exactly the regime where models fail hardest: independent, stateless calls with no memory of prior draws. Every "pick a random number" an agent answers from its own weights is a draw from a biased, predictable source. Entropy moves the draw out of the model and into the OS CSPRNG — and the commit-reveal chain proves the draw that happened is the draw that was reported.
One call returns the shuffled list plus a commitment record, a reveal record, and a verification block — the full chain a third party can check with commitment operation:"verify".
Four tools. operation selects the primitive; params carries its arguments; seed makes any draw reproducible.
| Tool | Operations |
|---|---|
random | bytes (CSPRNG, hex/base64) · int (unbiased [min,max] via rejection sampling) · shuffle (Fisher-Yates + permutation) · choose (weighted/unweighted, with/without replacement) · sample (uniform, normal, lognormal, exponential, triangular, beta) · constrained (independent per-attribute sampling + chi² conformance proof) |
commitment | commit (hash seed, bind draw spec, attest) · reveal (verify seed, re-execute, attest outcome) · draw (commit + execute + reveal in one call) · verify (pure third-party verification, no local state) · list (local commitment log) |
test | Statistical battery: frequency, chi², runs, longest run, serial, Shannon, KS, gap |
explore | Bandit selection: epsilon_greedy, thompson, ucb1 (stateless) |
Every seeded command is deterministic given its inputs and seed — byte-identical across processes, machines, and Python versions. Only the raw OS-entropy paths are non-deterministic, and they say so.
sha256(seed), binds it to your draw spec via canonical hash, timestamps it via Stamp's NTP, optionally anchors it to a drand round, and attests the whole record. The seed goes to you. It is never stored server-side.seed_hash, re-executes the draw deterministically, and attests the outcome.| Check | Proves |
|---|---|
seed_produces_commitment_hash | the revealed seed is the one committed to |
commitment_attestation_valid | the commitment record is intact and attested |
reveal_attestation_valid | the reveal record is intact and attested |
commitment_precedes_reveal | the commit happened before the reveal |
outcome_reproducible | the reported outcome is what the seed actually produces |
params_hash_matches | the draw spec wasn't altered after commitment |
beacon_anchor_valid | the commitment predates the drand round's publication (when anchored) |
| Env var | Default | Purpose |
|---|---|---|
ENTROPY_COMMITMENT_LOG | ~/.entropy/commitments.jsonl | commitment log path (0600, capped at 10k records) |
ENTROPY_STAMP_URL | https://stamp-mcp.terradev.cloud | remote Stamp endpoint (local stamp_mcp import preferred) |
ENTROPY_BEACON_URL | https://api.drand.sh | drand API base |
ENTROPY_HOST / ENTROPY_PORT | 127.0.0.1 / 8001 | HTTP transport bind |
See THREAT_MODEL.md. The honest summary: Entropy proves a draw was not manipulated; it cannot prove a draw was not discarded.
Apache 2.0.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/entropy)<a href="https://allmcps.com/mcp/entropy"><img src="https://allmcps.com/api/badge/entropy?style=directory" alt="Entropy on AllMCPs" /></a>