Random Tables
liveWeatherrandom-tables — Pipeworx original composable random tables for tabletop and narrative play (encounters, loot, weather, complications, NPCs, plot hooks, tavern scenes, rumours, settlement quirks), plus caller-supplied custom tables.
Tools
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
No parameters required.
Try it
roll_custom_tablePipeworx original random tables: roll one or more entries from a table YOU supply — bring your own weighted list of { text, weight? } and get back a reproducible weighted draw.
No parameters required.
Try it
list_random_tablesPipeworx original random tables: list every built-in table id, title, genre and entry count, optionally filtered to one genre ("fantasy", "scifi" or "modern").
No parameters required.
Try it
get_random_tablePipeworx original random tables: fetch one built-in table in full — its title, genre, description, and every raw entry (text + weight) — without rolling.
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/random-tables/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/random-tables/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"roll_table","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("roll_table", {});// Or ask in plain English:
const answer = await px.ask("random-tables — pipeworx original composable random tables for tabletop and narrative play (encounters, loot, weather, complications, npcs, plot hooks, tavern scenes, rumours, settlement quirks), plus caller-supplied custom tables");