Roll Table
roll_tablePipeworx original random tables: roll one or more entries from a built-in table — encounters_fantasy, encounters_scifi, encounters_modern, loot, weather, complication, npc_personality, npc_secret, npc_occupation, plot_hook, tavern, rumour, settlement_quirk, npc_full. Entries may contain {{table:}} references to OTHER built-in tables, resolved recursively (up to 6 levels deep) — the response gives both the raw entry text and the fully resolved text. Optional seed makes the roll reproducible (same seed + arguments = same result; the seed used is always returned). Optional session_id draws without replacement across repeated calls (hosted only, via the gateway's shared KV) — pass none to get an ordinary independent weighted roll every time, or pass any string to start tracking a no-repeat session (the response returns the real session_id to reuse). No text from any commercial RPG product — every table and entry is written for Pipeworx.
Example tool call
This call uses example arguments supplied in the tool’s input schema.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"seed": "pw-smoke-1",
"count": 2,
"table": "npc_full"
},
"name": "roll_table"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Optional seed for a reproducible roll. Omit for fresh randomness; the seed actually used is always returned. | |
| count | No | How many entries to roll, 1-20 (default 1). | |
| table | Yes | Built-in table id, e.g. "loot", "npc_full", "encounters_fantasy". Call list_random_tables to see every id. | |
| session_id | No | Optional. Omit for an ordinary independent weighted roll. Pass a session_id (your own first time, or one returned by a previous call) to draw without replacement across calls — hosted only. |