Random Tables について
Random Tablesは、テーブルトークRPGや物語制作向けのオリジナル乱数表を提供するMCPサーバーです。入れ子の表参照、ユーザー提供の表、シードによる再現可能な抽選に対応し、ホスト環境では組み込み表のセッション内重複を避けられます。
主な機能
- 01ファンタジー・SF・現代の表
- 02入れ子参照の再帰的な展開
- 03重み付きカスタム表
- 04シードによる結果の再現
- 05ホスト環境の重複なしセッション
活用シーン
- 01遭遇やプロットフックの生成
- 02NPCの特徴や秘密の作成
- 03プレイ中の戦利品や天候の抽選
MCP 対応
組み込み表の抽選・参照・一覧表示と、ユーザー提供項目の抽選ツールを公開します。Pipeworxゲートウェイ経由、またはローカルのstdio MCPサーバーとして利用でき、セッション内の重複回避はホスト環境限定です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/random-tables/mcpclaude mcp add --transport http pipeworx-io-random-tables https://gateway.pipeworx.io/random-tables/mcp{"mcpServers":{"pipeworx-io-random-tables":{"type":"http","url":"https://gateway.pipeworx.io/random-tables/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-random-tables":{"type":"http","url":"https://gateway.pipeworx.io/random-tables/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-random-tables":{"type":"http","url":"https://gateway.pipeworx.io/random-tables/mcp"}}}{"mcpServers":{"pipeworx-io-random-tables":{"serverUrl":"https://gateway.pipeworx.io/random-tables/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/random-tables
卓上ゲームや物語づくりで使える、Pipeworx オリジナルの組み合わせ可能なランダムテーブルです。遭遇、戦利品、天候、困難、NPC の特徴、プロットフック、酒場の情景、噂、集落の変わった風習などを扱います。ネストされた {{table:<id>}} 参照を再帰的に解決し、呼び出し元が指定するカスタムテーブルにも対応します。API キー不要、上流サービスなし、COGS なし。
Pipeworx の一部です。AI エージェントを 1872 以上の稼働中のデータソースにつなぐ MCP ゲートウェイです。これは独立した非公式の統合であり、上流プロバイダーとの提携、推奨、または同社による公開はありません。
ツール
roll_table(table, count?, seed?, session_id?)— 組み込みテーブルから 1〜20 件をロールします。元のエントリテキストと、完全に解決されたテキスト(ネストされた{{table:<id>}}参照を展開したもの)の両方を返します。seedによって結果を再現できます。roll_custom_table(entries, count?, seed?)— 呼び出し元が指定するテーブル([{text, weight?}])からロールします。エントリからは、同じ方法で組み込みテーブルを参照できます。list_random_tables(genre?)— すべての組み込みテーブルの ID、タイトル、ジャンル、エントリ数を返します。fantasy|scifi|modernで絞り込むこともできます。get_random_table(table)— 組み込みテーブルを 1 つ、未解決の状態で完全に返します(元のエントリテキストなので、{{table:<id>}}参照は記載どおりに表示されます)。
組み込みテーブル
encounters_fantasy、encounters_scifi、encounters_modern、loot、
weather、complication、npc_personality、npc_secret、npc_occupation、
plot_hook、tavern、rumour、settlement_quirk、npc_full(1 回のロールで
npc_personality + npc_occupation + npc_secret をネストした文章を組み立てるテーブル。ネスト参照の使用例です)。
ジャンルタグ付きのテーブル(encounters_*、loot、tavern)はファンタジー/SF/現代風です。それ以外はジャンルに依存せず、list_random_tables のどのジャンルフィルターにも適用されます。
ネストされた参照
エントリのテキストには {{table:<id>}} を埋め込めます。参照先テーブルから重み付きエントリを 1 つロールして置き換え、最大 6 階層まで再帰的に解決します。不明なテーブル ID への参照や、別の参照をたどって最終的に自分自身を参照する循環がある場合は、問題の ID または参照の完全な連鎖を示すエラーが明確に返されます。暗黙に切り詰められたり、空の値に置き換えられたりすることはありません。roll_custom_table で呼び出し元が指定するエントリからも、同じ方法で組み込みテーブルを参照できますが、同じカスタムテーブル内の別のエントリは参照できません(カスタムテーブルには参照用の ID がありません)。
ランダム性と再現性
すべてのロール用ツールでは seed を省略できます。指定の有無にかかわらず、実際に使われたシードは必ず meta.seed で返されます。同じシードと引数を使えば、同じ結果を再現できます。これらはコンテンツ生成ツールであり、占いではありません。解釈とは別に切り離すべき「意味」の層はなく、テーブルのテキストそのものが結果です。卓上ゲームでの使い方は自由です。
セッション
roll_table の session_id を指定すると、呼び出しをまたいで重複なしで抽選します。セッション中に同じ戦利品アイテムや噂を繰り返したくない場合に便利です。これはホスト環境限定で、ゲートウェイの共有 KV(injectCacheKv: true)を利用します。npm のスタンドアロンパッケージには KV がないため、そこで session_id を渡した呼び出しは session_supported: false を返し、通常のシード付きロールとして実行されます(環境に関係なく、session_id を指定しなくてもすべてのツールを利用できます)。
「セッションを開始する」ための別のツールはありません。テーブルに対する最初の呼び出しで、任意の文字列を session_id として渡してください。レスポンスには、既存のセッションを継続したのか、新しいセッションを開始したのかが明確に示され、次回の呼び出しで再利用する実際の session_id が返されます。通常の独立した重み付きロールを行う場合(一般的なケースで、KV は不要です)は、session_id を省略してください。roll_custom_table はセッションに対応していません。セッションで追跡できるのは、安定した ID とサイズを持つ組み込みテーブルのみです。
認証
API キー不要。
データソース
Pipeworx オリジナルのコンテンツです。上流 API やサードパーティのデータはありません。すべてのテーブルと各項目はこのパック向けに作成されており、市販のテーブルトーク RPG 製品、ソースブック、サプリメントからコピー、言い換え、翻案したものはありません。
その他の注意事項
- 0 件の結果は、静かに空のリストを返すのではなく、明示的なエラーになります。不明なテーブル ID、不明なジャンルフィルター、不明または循環するネスト参照、あるいは
roll_custom_tableの空または無効なentries配列は、[]や{}を返す代わりに、有効な選択肢を示す具体的なエラーをスローします。 roll_tableのデフォルトのcountは 1 です。どちらのロールツールも上限は 20 です。roll_custom_tableでは、呼び出し元が指定するエントリーを最大 500 件まで受け付けます。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。
{
"mcpServers": {
"random-tables": {
"url": "https://gateway.pipeworx.io/random-tables/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/random-tables/mcp の tools/list は、上の表にあるツールに加えて、Pipeworx 共通のメタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール群)を返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、パック固有のツールに加えて共通ツールが約 30 個表示されます。接続の initialize レスポンスには、正確な対象範囲が記載されており、その日の状況を確認する際の正式な情報源となります。
これは意図的なもので、偶然の多重化ではありません。メタツールを使うと、このパックでは扱えない質問にも、カタログ全体を対象にルーティングする ask_pipeworx を通じて回答できるため、MCP サーバーを追加する必要がありません。現在、メタツールなしでパックのエンドポイントを接続する方法はありません。追加のスキーマがルーティングの利点を上回るほどコンテキストを消費する場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL からも、同じゲートウェイと同じ 1872 件以上のデータソースにアクセスできます。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらから接続しても、ask_pipeworx を通じてすべてのツールにアクセスできます。
MCP クライアントがない場合は、HTTP 経由で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/roll_table \
-H 'Content-Type: application/json' \
-d '{"table":"npc_full","count":2,"seed":"pw-smoke-1"}'
最初の呼び出しにアカウントは必要ありません。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/roll_table を使用します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を使用します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントは不要で、ゲートウェイへの往復通信もありません。
{
"mcpServers": {
"random-tables": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-random-tables"]
}
}
}
または、起動を確認するために直接実行します。
npx -y @pipeworx/mcp-random-tables
stdin/stdout 経由で MCP を使用し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共通メタツールはありません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。上記のパックエンドポイントでも、フルゲートウェイでも利用できます。
ask_pipeworx({ question: "your question about Random Tables data" })
ゲートウェイが適切なツールを選び、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。