Moddable Games Tools
REMOTE · TOOLS.MODDABLE.GAMES · SCANNED AUG 3
15 tools for chess variant analysis, hex map generation, and board game utilities
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 56 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability84
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 5477 tokens (~91/item across 60 items; 56 tools + 4 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities40
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · tools.moddable.games
claude mcp add --transport http games-moddable-tools-moddable-games-tools https://tools.moddable.games/mcp
[mcp_servers.games-moddable-tools-moddable-games-tools] url = "https://tools.moddable.games/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"games-moddable-tools-moddable-games-tools": {
"type": "remote",
"url": "https://tools.moddable.games/mcp",
"enabled": true
}
}
} openclaw mcp add games-moddable-tools-moddable-games-tools --url https://tools.moddable.games/mcp --transport streamable-http
mcp_servers:
games-moddable-tools-moddable-games-tools:
url: "https://tools.moddable.games/mcp" {
"mcpServers": {
"games-moddable-tools-moddable-games-tools": {
"type": "http",
"url": "https://tools.moddable.games/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 63
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://tools.moddable.games/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=moddable.games | CN=WE1,O=Google Trust Services,C=US | 4 Jul 2026 | 2 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | 8ef545264b14c8e13879035d71fd3a5 |
| SANs: moddable.games, *.moddable.games | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of tools.moddable.games. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| games. | present | 54412 | 8 | Verified |
| moddable.games. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://tools.moddable.games/mcp | Verified | 200 | |
| http (plaintext) | http://tools.moddable.games/mcp | HTTPS enforced | 301 | https://tools.moddable.games/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
chess_analyze_position ~94
Evaluate a chess position using the engine. Returns a score (centipawns from the side to move), best move, and the principal variation.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | number | — | Search depth (1-6). Higher is slower but more accurate. Defaults to 4. |
| fen | string | — | FEN string. Omit for starting position. |
| variant | string | — | Variant key. Defaults to "standard". |
No output schema declared.
No examples provided.
chess_generate_puzzle ~264
Serve a random chess puzzle from a pool of 1,557 pre-generated puzzles across 66 variants (plus standard). Returns position, solution, metadata, and an SVG board image. Use chess_list_puzzle_types to discover available variant:type combinations.
| Name | Type | Req | Description |
|---|---|---|---|
| include_svg | boolean | — | Include an SVG board render of the puzzle position. Defaults to true. |
| rating_max | number | — | Maximum puzzle rating filter. Omit for no maximum. |
| rating_min | number | — | Minimum puzzle rating filter (Lichess rating scale). Omit for no minimum. |
| theme | string | — | Filter by puzzle theme (e.g. "backRankMate", "sacrifice", "endgame"). Only applies to Lichess-sourced puzzles. |
| type | string | — | Puzzle type (e.g. "mate-in-1", "detonate-in-1", "sacrifice-your-king"). Defaults to the first available type for the variant. Use chess_list_puzzle_types to see all types. |
| variant | string | — | Variant key (e.g. "standard", "atomic", "racingKings") or "random" for a surprise variant. Defaults to "standard". Use chess_list_puzzle_types to see all available variants. |
No output schema declared.
No examples provided.
chess_get_legal_moves ~87
Get all legal moves for the current position. Returns moves in algebraic notation with annotations (capture, promotion, castling, etc).
| Name | Type | Req | Description |
|---|---|---|---|
| fen | string | — | FEN string of the position. Omit to use the variant starting position. |
| variant | string | — | Variant key (e.g. "standard", "atomic", "capablanca"). Defaults to "standard". |
No output schema declared.
No examples provided.
chess_get_opening_book ~61
Look up opening book moves for a position. Returns known good continuations from the variant opening book.
| Name | Type | Req | Description |
|---|---|---|---|
| fen | string | — | FEN string. Omit for starting position. |
| variant | string | — | Variant key. Defaults to "standard". |
No output schema declared.
No examples provided.
chess_list_puzzle_types ~79
List all available puzzle types in the pool with counts. Returns variant:type keys, total puzzles per key, and rating ranges. Use this to discover what puzzles are available before calling chess_generate_puzzle.
| Name | Type | Req | Description |
|---|---|---|---|
| variant | string | — | Filter to a specific variant (e.g. "standard", "atomic"). Omit to see all variants. |
No output schema declared.
No examples provided.
chess_list_variants ~57
List all available chess variants with their descriptions, board sizes, and rules.
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | — | Filter by group name (Classic, Tactical, Alternate Rules, Asymmetric, Small Boards, Large Boards). Omit for all. |
No output schema declared.
No examples provided.
chess_make_moves ~95
Play a sequence of moves from a position and return the resulting FEN, game status, and move list.
| Name | Type | Req | Description |
|---|---|---|---|
| fen | string | — | Starting FEN. Omit for variant start position. |
| moves | array | yes | Moves in coordinate notation (e.g. ["e2e4", "e7e5", "g1f3"]). |
| variant | string | — | Variant key. Defaults to "standard". |
No output schema declared.
No examples provided.
chess_render_svg ~149
Render a board position as a self-contained SVG string. No DOM or browser APIs required. Works in Cloudflare Workers.
| Name | Type | Req | Description |
|---|---|---|---|
| fen | string | — | FEN string of the position. Omit to use the variant starting position. |
| highlights | array | — | Squares to highlight (algebraic notation, e.g. ["e2", "e4"] for last move). |
| size | number | — | Board width in pixels. Height is derived from rows. Defaults to 480. |
| theme | string | — | Board colour theme. Defaults to "classic". |
| variant | string | — | Variant key (e.g. "standard", "grand", "capablanca"). Defaults to "standard". |
No output schema declared.
No examples provided.
chess_validate_move ~88
Check whether a specific move is legal in the current position. Returns legal/illegal with explanation.
| Name | Type | Req | Description |
|---|---|---|---|
| fen | string | — | FEN string. Omit for starting position. |
| move | string | yes | Move in coordinate notation (e.g. "e2e4", "e7e8q" for promotion). |
| variant | string | — | Variant key. Defaults to "standard". |
No output schema declared.
No examples provided.
coin_flip ~61
Flip a coin or pick randomly from a list of options. Use for quick binary decisions or random selection.
| Name | Type | Req | Description |
|---|---|---|---|
| options | array | — | Custom options to pick from (e.g. ["pizza","tacos","sushi"]). Defaults to ["heads","tails"]. |
No output schema declared.
No examples provided.
colony_dice_odds ~77
Calculate probability of each resource number being rolled on 2d6. Returns the odds table and expected output for a given board position.
| Name | Type | Req | Description |
|---|---|---|---|
| numbers | array | — | Array of numbers on your settlements (e.g. [5, 6, 8, 9, 11]). Returns probability of rolling at least one. |
No output schema declared.
No examples provided.
dice_roll ~88
Roll dice using standard notation (e.g. "2d6+3", "4d8-1", "d20"). Supports any combination of dice, modifiers, and multiple pools.
| Name | Type | Req | Description |
|---|---|---|---|
| notation | string | yes | Dice notation (e.g. "2d6+3", "4d8", "d20+5", "3d6"). Multiple pools separated by commas. |
No output schema declared.
No examples provided.
hex_compute_fov ~158
Compute field-of-view from a hex position: all hexes visible within a given range, respecting line-of-sight through the grid.
| Name | Type | Req | Description |
|---|---|---|---|
| blocking | array | — | Terrain types that block line of sight (e.g. ["mount", "mountains"]). Defaults to none. |
| game | string | yes | Game key. |
| layout | string | — | Layout variant. |
| players | number | — | Player count. |
| q | number | yes | Axial q coordinate of the observer. |
| r | number | yes | Axial r coordinate of the observer. |
| range | number | — | Vision range in hex steps (default 3). |
| seed | string | — | Seed used to generate the map. |
| size | number | — | Map size. |
No output schema declared.
No examples provided.
hex_export_svg ~131
Export a generated hex map as an SVG string for rendering or embedding.
| Name | Type | Req | Description |
|---|---|---|---|
| bgColor | string | — | Background colour (e.g. "#1a1a2e"). Omit for transparent. |
| game | string | yes | Game key. |
| hexSize | number | — | Hex radius in pixels (default from game config). |
| labels | boolean | — | Show terrain labels on hexes (default false). |
| layout | string | — | Layout variant. |
| players | number | — | Player count. |
| seed | string | — | Seed used to generate the map. |
| size | number | — | Map size. |
No output schema declared.
No examples provided.
hex_generate_map ~161
Generate a hex map for a given game. Returns the full hex grid with terrain types, coordinates, and metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | yes | Game key (e.g. "nukes", "colony", "twilight", "talisman", "mongo", "endless"). |
| layout | string | — | Layout variant (e.g. "standard", "expanded", "6p"). Only for games with multiple layouts. |
| players | number | — | Player count. Omit or 0 for no player bases. |
| seed | string | — | Seed string for reproducible generation. Omit for a default seed. |
| size | number | — | Map size (ring count). Meaning varies by game. Omit for the game default. |
No output schema declared.
No examples provided.
hex_get_info ~113
Get detailed information about a specific hex coordinate on a generated map: terrain type, neighbors, and distances to other hexes.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | yes | Game key. |
| layout | string | — | Layout variant. |
| players | number | — | Player count. |
| q | number | yes | Axial q coordinate of the target hex. |
| r | number | yes | Axial r coordinate of the target hex. |
| seed | string | — | Seed used to generate the map. |
| size | number | — | Map size. |
No output schema declared.
No examples provided.
hex_list_games ~28
List all available hex map games with their map types, layouts, sizes, and style options.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
hex_pathfind ~161
Find the shortest path between two hexes on a generated map using breadth-first search. Optionally specify impassable terrain types.
| Name | Type | Req | Description |
|---|---|---|---|
| fromQ | number | yes | Start hex axial q. |
| fromR | number | yes | Start hex axial r. |
| game | string | yes | Game key. |
| impassable | array | — | Terrain types that cannot be traversed (e.g. ["water", "mount"]). Defaults to none. |
| layout | string | — | Layout variant. |
| players | number | — | Player count. |
| seed | string | — | Seed used to generate the map. |
| size | number | — | Map size. |
| toQ | number | yes | End hex axial q. |
| toR | number | yes | End hex axial r. |
No output schema declared.
No examples provided.
jam_status ~31
Get the current Mod Jam status: active/inactive, theme, base game, time remaining, and submission count.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
jam_timer ~27
Get the countdown timer for the current Mod Jam phase (voting, building, or judging).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
jam_vote ~27
Get current vote standings for the active Mod Jam vote. Returns anonymised tallies per option.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
mancala_legal_moves ~66
List legal moves for the current player in a mancala position.
| Name | Type | Req | Description |
|---|---|---|---|
| board | array | yes | Array of 14 values (same format as mancala_simulate_move). |
| player | number | — | Which player to move (1 or 2). Defaults to 1. |
No output schema declared.
No examples provided.
mancala_simulate_move ~135
Simulate a mancala move: sow seeds from a pit and return the resulting board state. Supports Oware and Kalah rules.
| Name | Type | Req | Description |
|---|---|---|---|
| board | array | yes | Array of 14 values: pits[0-5] = player 1, pit[6] = store 1, pits[7-12] = player 2, pit[13] = store 2. |
| pit | number | yes | Pit index (0-5 for player 1, 7-12 for player 2) to sow from. |
| variant | string | — | Rule variant. Defaults to "kalah". |
No output schema declared.
No examples provided.
morris_detect_mill ~74
Check if a placement/move forms a mill (three in a row) in Nine Men's Morris.
| Name | Type | Req | Description |
|---|---|---|---|
| board | array | yes | Array of 24 intersection values. |
| player | number | yes | Which player to check. |
| position | number | yes | The intersection index (0-23) to check for mills. |
No output schema declared.
No examples provided.
morris_legal_moves ~130
List legal moves in a Nine Men's Morris position. Handles placement, sliding, and flying phases.
| Name | Type | Req | Description |
|---|---|---|---|
| board | array | yes | Array of 24 values (0=empty, 1=player1, 2=player2) for the 24 intersections. |
| phase | string | — | Game phase. "place" during initial placement, "slide" during normal play, "fly" when player has 3 pieces. |
| pieces_in_hand | number | — | Pieces not yet placed (0-9). Required during place phase. |
| player | number | yes | Which player to move. |
No output schema declared.
No examples provided.
nukes_setup_generator ~63
Generate random starting positions for a Nukes game. Assigns territories to players on a generated hex map.
| Name | Type | Req | Description |
|---|---|---|---|
| players | number | — | Number of players (2-6). Defaults to 3. |
| seed | string | — | Map seed for reproducible setups. |
No output schema declared.
No examples provided.
oracle_ask ~72
Ask the Oracle a yes/no question with a likelihood modifier. Implements the Ironsworn/Starforged mechanic with match detection.
| Name | Type | Req | Description |
|---|---|---|---|
| likelihood | string | — | How likely is "yes"? Defaults to "fifty_fifty". |
| question | string | — | Optional question text (returned in response for context). |
No output schema declared.
No examples provided.
oracle_encounter ~180
Generate a tabletop RPG encounter (D&D 5e or Pathfinder 1e). Selects CR-appropriate monsters, picks terrain, and rolls loot.
| Name | Type | Req | Description |
|---|---|---|---|
| difficulty | string | — | Encounter difficulty. Defaults to "medium". |
| loot_tier | string | — | Loot rarity tier. Defaults to "medium". |
| monster_type | string | — | Filter monsters by type (e.g. "undead", "dragon", "beast"). |
| party_level | number | — | Average party level (1-20). Defaults to 5. |
| party_size | number | — | Number of players (1-10). Defaults to 4. |
| system | string | — | Game system. Defaults to "dnd-5e". |
| terrain | string | — | Terrain type (e.g. "Forest", "Cavern"). Omit for random. |
No output schema declared.
No examples provided.
oracle_interpret ~106
Resolve oracle cross-references. Given a result like "Action + Theme" or "Roll twice", follows the reference and returns expanded results.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | — | Game system ID. Available: cairn, dungeon-world, ironsworn, knave, maze-rats, starforged |
| result | string | yes | Oracle result text to interpret. |
| source_table | string | — | Table ID the result came from (needed for "Roll twice" re-rolls). |
No output schema declared.
No examples provided.
oracle_list_games ~33
List all supported RPG game systems with their available features (tables, entities). Returns game IDs for use in other tools.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
oracle_list_recipes ~42
List all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | — | Filter by game. Omit to see all. |
No output schema declared.
No examples provided.
oracle_list_tables ~91
List all available oracle/random tables for a game system, optionally filtered by category. Returns table IDs, names, and roll types.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Filter by category. Omit to list all. |
| game | string | — | Game system ID. Defaults to "starforged". Available: cairn, dungeon-world, ironsworn, knave, maze-rats, starforged |
No output schema declared.
No examples provided.
oracle_roll ~109
Roll on a specific oracle/random table. Returns the dice roll and result text. Use oracle_list_tables to discover table IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | Number of rolls (1-5). Defaults to 1. |
| game | string | — | Game system ID. Available: cairn, dungeon-world, ironsworn, knave, maze-rats, starforged |
| table | string | yes | Table ID (e.g. "action", "theme", "dungeon-themes"). |
No output schema declared.
No examples provided.
oracle_scene ~127
Generate a narrative seed by rolling on multiple oracle tables. Use a named recipe or provide a custom array of table IDs. Auto-resolves cross-references.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | — | Game system ID. Available: cairn, dungeon-world, ironsworn, knave, maze-rats, starforged |
| recipe | string | — | Recipe ID. Use oracle_list_recipes to see options. |
| region | string | — | Region for tables with regional variants (Starforged only). |
| tables | array | — | Custom table IDs to roll. Ignored if recipe is provided. |
No output schema declared.
No examples provided.
oracle_table_view ~70
View the complete contents of an oracle table — all entries with roll ranges and results.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | — | Game system ID. Available: cairn, dungeon-world, ironsworn, knave, maze-rats, starforged |
| table | string | yes | Table ID to view. |
No output schema declared.
No examples provided.
pachisi_roll_cowries ~104
Roll cowrie shells for Pachisi/Chaupar. 6 shells, count faces up. Special values: 0 faces = 25 (grace), 1 face = 10 (grace).
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | — | Which game rules to apply. Defaults to "pachisi". |
| shells | number | — | Number of cowrie shells (default 6). Pachisi uses 6, Chaupar uses 3 long dice. |
No output schema declared.
No examples provided.
piece_gallery_get_set ~78
Get full details for a specific piece set including manifest, piece file list, direct SVG URLs, and a preview image URL. Use piece_gallery_search to find set IDs first.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The piece set ID (e.g. "chessnut", "kahu-shogi-international", "fluent-emoji"). |
No output schema declared.
No examples provided.
piece_gallery_search ~311
Search and filter piece sets from the Moddable Chess piece gallery (96 sets, 2,550 SVGs across 19 game families). Filter by family, license, author, or search by name. Returns metadata for matching sets with preview URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | — | Filter by author name (case-insensitive partial match). |
| family | string | — | Filter by game family (e.g. "chess", "shogi", "xiangqi", "janggi", "draughts", "go", "emoji", "oware", "abalone", "othello", "backgammon", "amazons", "breakthrough", "fairy-chess", "lines-of-action",… |
| license | string | — | Filter by SPDX license (e.g. "MIT", "CC-BY-4.0", "CC0-1.0", "Apache-2.0", "GPL-2.0+"). |
| limit | number | — | Max results to return (default 20, max 96). |
| playable | boolean | — | Filter to only playable sets (usable in the chess.moddable.games play UI). |
| query | string | — | Search term to match against set name, author, or ID (case-insensitive). |
| recolorable | boolean | — | Filter to only recolorable sets (SVGs support color theming). |
No output schema declared.
No examples provided.
piece_gallery_stats ~40
Get aggregate statistics for the piece gallery: total sets, SVG count, breakdown by family, license distribution, author list, and playable/recolorable counts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
rpg_browse ~132
Browse entities in a category with pagination. Good for exploring what is available in a game system.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Category ID (e.g. "spells", "monsters", "classes"). Required. |
| game | string | yes | Game system ID. Required. Available: brp, cairn, dnd-5e, dungeon-world, fate-core, knave, pathfinder-1e |
| page | number | — | Page number (1-based). Defaults to 1. |
| page_size | number | — | Items per page (5-50). Defaults to 20. |
No output schema declared.
No examples provided.
rpg_get_entity ~116
Get full details of a specific RPG entity by name. Supports exact and fuzzy (partial) matching.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Narrow search to a specific category. Optional. |
| game | string | yes | Game system ID. Required. Available: brp, cairn, dnd-5e, dungeon-world, fate-core, knave, pathfinder-1e |
| name | string | yes | Entity name to look up (e.g. "Fireball", "Ancient Red Dragon", "Longsword"). |
No output schema declared.
No examples provided.
rpg_list_categories ~87
List entity categories for an RPG system (or all systems). Shows browseable content: spells, monsters, classes, equipment, skills, bestiary, etc.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | — | Game system ID. Available: brp, cairn, dnd-5e, dungeon-world, fate-core, knave, pathfinder-1e. Omit for all games. |
No output schema declared.
No examples provided.
rpg_random ~106
Get random entities from an RPG system. Great for inspiration, encounter prep, or NPC generation.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Category to draw from. Omit for any category. |
| count | number | — | Number of random picks (1-10). Defaults to 1. |
| game | string | yes | Game system ID. Required. Available: brp, cairn, dnd-5e, dungeon-world, fate-core, knave, pathfinder-1e |
No output schema declared.
No examples provided.
rpg_search ~140
Search RPG entities across games and categories. Full-text search over names, descriptions, and metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Filter to a specific category (e.g. "spells", "monsters", "equipment"). |
| game | string | — | Filter to a specific game. Available: brp, cairn, dnd-5e, dungeon-world, fate-core, knave, pathfinder-1e |
| limit | number | — | Max results (1-25). Defaults to 10. |
| query | string | yes | Search term (e.g. "fireball", "dragon", "healing", "two-handed"). |
No output schema declared.
No examples provided.
rules_get_game ~77
Get full metadata and variant list for a specific game family. Returns players, duration, tagline, variant names, and rules URL.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Game slug (e.g. "backgammon", "draughts", "nukes", "moddable-chess"). Use rules_list_games to see all. |
No output schema declared.
No examples provided.
rules_get_variant ~87
Get rules content for a specific variant within a game family. Returns headings, rules text, and direct URL.
| Name | Type | Req | Description |
|---|---|---|---|
| game | string | yes | Game family slug (e.g. "backgammon", "draughts"). |
| variant | string | yes | Variant name (e.g. "Acey-Deucey", "Standard Rules", "German Draughts"). Partial match supported. |
No output schema declared.
No examples provided.
rules_list_games ~69
List all game families in the Moddable Games rules library. Returns titles, player counts, variant counts, and URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | — | Filter by status. "published" (default) shows all published games, "live" shows only fully released, "all" includes unpublished. |
No output schema declared.
No examples provided.
rules_random ~66
Pick a random game or variant from the library. Optionally constrain to a specific game family for a random variant within it.
| Name | Type | Req | Description |
|---|---|---|---|
| family | string | — | Optional game family slug to pick a random variant from (e.g. "backgammon" for a random backgammon variant). |
No output schema declared.
No examples provided.
rules_search ~72
Search the entire rules library by keyword. Returns matching entries ranked by relevance across all games and variants.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max results to return (default 10, max 50). |
| query | string | yes | Search query (e.g. "capture", "dice", "promotion", "4 players"). |
No output schema declared.
No examples provided.
team_split ~51
Randomly split a list of players into balanced teams. Handles odd numbers gracefully.
| Name | Type | Req | Description |
|---|---|---|---|
| players | array | yes | Player names to split into teams. |
| teams | number | — | Number of teams (default 2). |
No output schema declared.
No examples provided.