Cryptographically sound randomness for agents, with verifiable commit-reveal.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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).
ISO 8601 lower bound
{operation, params} for commit/draw
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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).
| Argument | Type | Description |
|---|---|---|
| seed | string | |
| limit | integer | |
| since | string | ISO 8601 lower bound |
| attested | boolean | |
| draw_spec | object | {operation, params} for commit/draw |
| operation* | string | |
| description | string | |
| anchor_beacon | boolean | |
| commitment_id | string | |
| reveal_record | object | |
| commitment_record | object |
{
"type": "object",
"required": [
"operation"
],
"properties": {
"seed": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 1000,
"minimum": 1
},
"since": {
"type": "string",
"description": "ISO 8601 lower bound"
},
"attested": {
"type": "boolean",
"default": true
},
"draw_spec": {
"type": "object",
"description": "{operation, params} for commit/draw"
},
"operation": {
"enum": [
"commit",
"reveal",
"draw",
"verify",
"list"
],
"type": "string"
},
"description": {
"type": "string",
"default": ""
},
"anchor_beacon": {
"type": "boolean",
"default": false
},
"commitment_id": {
"type": "string"
},
"reveal_record": {
"type": "object"
},
"commitment_record": {
"type": "object"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| arms* | array | |
| seed | string | |
| state | object | |
| params | object | |
| strategy* | string |
{
"type": "object",
"required": [
"arms",
"strategy"
],
"properties": {
"arms": {
"type": "array"
},
"seed": {
"type": "string"
},
"state": {
"type": "object"
},
"params": {
"type": "object"
},
"strategy": {
"enum": [
"epsilon_greedy",
"thompson",
"ucb1"
],
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| seed | string | optional seed for a reproducible draw |
| params | object | operation-specific arguments |
| operation* | string |
{
"type": "object",
"required": [
"operation"
],
"properties": {
"seed": {
"type": "string",
"description": "optional seed for a reproducible draw"
},
"params": {
"type": "object",
"description": "operation-specific arguments"
},
"operation": {
"enum": [
"bytes",
"int",
"shuffle",
"choose",
"sample",
"constrained"
],
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| alpha | number | |
| tests | any | 'all' or a list of: frequency, chi_squared, runs, longest_run, serial, entropy, ks, gap |
| expected | object | {symbol: probability} for chi_squared |
| sequence* | any | list of numbers, list of strings, or hex/base64 |
| input_type | string | |
| dist_params | object | |
| distribution | string | enables the KS test |
{
"type": "object",
"required": [
"sequence"
],
"properties": {
"alpha": {
"type": "number",
"default": 0.05
},
"tests": {
"default": "all",
"description": "'all' or a list of: frequency, chi_squared, runs, longest_run, serial, entropy, ks, gap"
},
"expected": {
"type": "object",
"description": "{symbol: probability} for chi_squared"
},
"sequence": {
"description": "list of numbers, list of strings, or hex/base64"
},
"input_type": {
"enum": [
"auto",
"numeric",
"categorical",
"bytes"
],
"type": "string",
"default": "auto"
},
"dist_params": {
"type": "object"
},
"distribution": {
"type": "string",
"description": "enables the KS test"
}
}
}