# util_seeded_weighted_choice

Seeded Weighted Choice selects one item using non-negative caller weights from bounded caller-supplied values without an external provider. Call Seeded Weighted Choice when an agent needs a reproducible decision that another run can independently replay. Returns the deterministic selection plus seed provenance, population bounds, and the operation-specific outcome for Seeded Weighted Choice as versioned deterministic JSON. Limitation: Uses Python pseudorandomness for reproducibility, not cryptography, lotteries with value, security tokens, gambling, or custody.

Agent View of the PolicyLayer registry record for `util_seeded_weighted_choice`. HTML page: https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-seeded-weighted-choice

## Facts

- Tool: `util_seeded_weighted_choice`
- Server: Delx Mcp A2a (`https://api.delx.ai/v1/mcp`) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Homepage: https://github.com/davidmosiah/delx-platform
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: yes
- Parameters: 3 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `seed` | string | yes | Seed supplied to Seeded Weighted Choice; used only for this bounded calculation and processed in memory without retention. |
| `items` | array | yes | Items supplied to Seeded Weighted Choice; used only for this bounded calculation and processed in memory without retention. |
| `weights` | array | yes | Weights supplied to Seeded Weighted Choice; used only for this bounded calculation and processed in memory without retention. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "util_seeded_weighted_choice",
    "arguments": {
      "seed": "<seed>",
      "items": [],
      "weights": []
    }
  }
}
```

## Why util_seeded_weighted_choice is rated High

util_seeded_weighted_choice triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

## Use case

AI agents invoke util_seeded_weighted_choice to trigger actions in Delx Mcp A2a. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Delx Mcp A2a:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "util_seeded_weighted_choice": {
      "limits": [
        {
          "counter": "util_seeded_weighted_choice_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Delx Mcp A2a (1075)

- `util_arr_compact` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-arr-compact.md
- `util_arr_drop` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-arr-drop.md
- `util_dedent_text` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dedent-text.md
- `util_dedupe_lines` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dedupe-lines.md
- `util_header_map_normalize` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-header-map-normalize.md
- `util_http_request_canonicalize` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-http-request-canonicalize.md
- `util_remove_punctuation` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-remove-punctuation.md
- `util_text_truncate` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-text-truncate.md
- `util_truncate_middle` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-truncate-middle.md
- `crisis_intervention` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/crisis-intervention.md
- `explain_delx_rewards` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/explain-delx-rewards.md
- `grounding_protocol` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/grounding-protocol.md
- `group_therapy_round` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/group-therapy-round.md
- `quick_operational_recovery` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/quick-operational-recovery.md
- `quick_session` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/quick-session.md
- `start_therapy_session` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/start-therapy-session.md
- `util_bool_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-bool-parse.md
- `util_cache_control_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-cache-control-parse.md
- `util_cagr_simple` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-cagr-simple.md
- `util_caip2_build` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-caip2-build.md
- `util_caip2_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-caip2-parse.md
- `util_categorical_distribution` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-categorical-distribution.md
- `util_content_disposition_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-content-disposition-parse.md
- `util_content_range_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-content-range-parse.md
- `util_csp_directive_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-csp-directive-parse.md
- `util_deployment_readiness` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-deployment-readiness.md
- `util_dmarc_policy_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dmarc-policy-parse.md
- `util_dns_dmarc_policy_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dns-dmarc-policy-parse.md
- `util_dns_https_record_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dns-https-record-parse.md
- `util_dns_spf_record_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dns-spf-record-parse.md
- …and 1045 more: https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-davidmosiah-delx-mcp-a2a · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-davidmosiah-delx-mcp-a2a
