games.moddable.tools/moddable-games-tools · v1.1.0 · design
Moddable Games Tools is healthy: it completed an MCP handshake in 3989 ms and exposes 89 tools.
15 tools for chess variant analysis, hex map generation, and board game utilities
Endpoint: https://tools.moddable.games/mcp (streamable-http)
Repository · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 89 |
| Latency | 3989 ms |
| Last checked (UTC) | 2026-10-15T00:01:05.484Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-15T00:01:05.484Z | Healthy | 3989 | |
| 2026-10-15T00:01:05.329Z | Healthy | 2469 |
chess_generate_puzzle | Get a random chess puzzle. Filter by variant, difficulty or theme. Not every variant puzzle carries themes; use chess_list_puzzle_types to see what the pool holds. |
chess_list_puzzle_types | List available puzzle variants, themes, and per-variant counts from the puzzle pool |
chess_list_variants | [DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0. |
chess_get_legal_moves | [DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0. |
chess_analyze_position | [DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0. |
chess_make_move | [DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0. |
chess_validate_move | [DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0. |
chess_get_status | [DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0. |
chess_render_svg | [DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0. |
chess_make_moves | [DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0. |
chess_get_opening_book | [REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement. |
hex_list_games | List all available hex map game types with configuration options |
hex_generate_map | Generate a hex map for a specific game and player count |
hex_export_svg | Generate a hex map and export as SVG |
hex_get_info | Get info about a specific hex coordinate (terrain, neighbours, distance) |
hex_compute_fov | Compute field of view from a hex position |
hex_pathfind | Find shortest path between two hex coordinates |
play_list_families | List all playable game families supported by the engine (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game, backgammon, standard-52, bavarian-32, flower-48, double-six-dominoes, mahjong, standard-dice, agon, asalto, chaupar, dou-shou-qi, fanorona, halma, nyout, pachi |
play_list_variants | List available variants for a game family. Each variant can be passed to play_create_game. Variants with flags (e.g. +random) can be requested as "slug+flag". |
play_get_definition | Get the full engine definition (topology, render config, pieces, setup FEN) for a game variant. Returns the resolved frontmatter used to render and play the game. |
play_create_game | Create a new game instance for a given family. Returns initial state to pass to subsequent calls. Variant can include flags like "grand+random" or "standard+drops". |
play_get_moves | Get all legal moves for the current position. Requires state from play_create_game or play_apply_move. |
play_apply_move | Apply a move to the game and return the new state. Pass the move object exactly as returned by play_get_moves (format varies by family: chess uses {from,to}, go uses {coord} or {action:"pass"}). |
play_check_status | Check the current game status: whose turn it is, whether the game is over, and who won. |
play_suggest_move | Use AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families. |
play_render_board | Render the current board position as SVG for any playable family (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game, backgammon, standard-52, bavarian-32, flower-48, double-six-dominoes, mahjong, standard-dice, agon, asalto, chaupar, dou-shou-qi, fanorona, halma, nyo |
play_export_fen | Export the current board position as a FEN-style setup string, in the form the variant's own frontmatter declares its starting position. Card, tile and dice games have no board position to export. |
play_load_fen | Create a game from a FEN-style setup string, as returned by play_export_fen. Pass the same variant the position was exported from. |
play_validate_move | Check whether a move is legal in the current position without applying it. Pass the move object in the same format as play_get_moves returns. |
play_make_moves | Apply a sequence of moves to a game and return the final state. Stops at the first illegal move. Move objects must match play_get_moves format. |
rules_list_games | List all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics. |
rules_get_game | Get full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead. |
rules_get_game_meta | Get structured metadata for a game: players, duration, complexity, mechanics, how_to_play, variant list, page list, related games. Lightweight alternative to fetching the full rulebook. |
rules_get_page | Get a specific page/section from a game rulebook (e.g. character creation, combat rules, marketplace). Use rules_get_game_meta to see available pages. |
rules_get_variant_list | List all variants for a game with structured metadata (players, board, playable status, topology, engine config). Much richer than parsing the rulebook. |
rules_get_diagram | Get board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata. |
rules_get_variant | Get rules for a specific game variant |
rules_search | Full-text search across all published rulebooks. Returns section-typed results with deep-link anchors. |
rules_random | Get a random game suggestion from the library |
board_gallery_search | Search the board gallery (335 rendered board layouts across 34 game families) |
board_gallery_get | Get details of a specific board layout by ID |
tile_gallery_search | Search hex tile sets by name, game, or terrain type |
tile_gallery_get | Get details of a specific tile set with all tile types |
tile_gallery_stats | Get statistics about available tile sets |
board_gallery_stats | Get statistics about the board gallery (total boards, families, topologies) |
piece_gallery_search | Search the piece set gallery by name, style, or game type |
piece_gallery_get_set | Get full details and piece list for a specific set |
piece_gallery_stats | Get statistics about the piece gallery (total sets, styles, authors, game families) |
oracle_list_games | List all supported RPG systems with oracle tables and entity data availability |
rpg_chargen | Generate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc) |
oracle_roll | Roll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc) |
oracle_list_tables | List available oracle tables for a system |
oracle_ask | Ask the oracle a yes/no question with likelihood modifier |
oracle_scene | Generate a scene using oracle tables. With a recipe, rolls each table in the recipe, resolves cross-references, and composes a narrative sentence. Without, picks random tables. |
rpg_search_entities | Search RPG entities (spells, monsters, classes, items) across all systems |
rpg_get_entity | Get full details of a specific RPG entity by name |
rpg_random_encounter | Generate a random encounter for a system and difficulty level |
rpg_browse_category | Browse entities by category with pagination |
rpg_loot | Generate random loot/treasure for a system and tier |
oracle_list_recipes | List all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts |
oracle_interpret | Resolve oracle cross-references. Given a result like "Action + Theme", follows references and returns expanded results |
oracle_table_view | View the complete contents of an oracle table — all entries with roll ranges |
oracle_encounter | Generate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e) |
rpg_list_categories | List entity categories for an RPG system (spells, monsters, classes, equipment, etc) |
rpg_random | Get random entities from an RPG system for inspiration or encounter prep |
ti4_random_factions | Generate random faction assignments for Twilight Imperium 4th Edition |
ti4_draft_factions | Milty-style TI4 draft with pick pools per player |
ti4_list_factions | List all TI4 factions with colors, flags, and expansion info |
ti4_draw_objectives | Draw random public objectives for TI4 |
ti4_draw_agendas | Draw random agenda cards for TI4 political phase |
nukes_setup_generator | Generate random territory/resource setup for a Nukes game |
game_nukes_combat | Resolve a Nukes combat encounter between units |
colony_dice_odds | Calculate settlement dice probability for Colony/Catan-style resource numbers |
game_deck_create | Create, shuffle, and optionally draw/deal from a card deck |
game_deck_list_types | List all available deck types with metadata |
game_deck_deal | Shuffle and deal a custom deck of arbitrary named cards |
game_score_tracker | Track scores for players in any game |
talisman_draw_characters | Draw random characters from the Talisman 4e (revised) base set for a character lottery |
talisman_draw_encounter | Draw a random encounter for a Talisman ring (outer, middle, inner, crown) |
jam_status | Get the current Mod Jam status (active jam, deadline, submissions) |
jam_timer | Get time remaining in the current Mod Jam |
jam_vote | Get voting status for the current Mod Jam |
dice_roll | Roll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3). |
coin_flip | Flip one or more coins, or pick from a list of choices |
team_split | Randomly divide players into teams |
random_player_order | Randomise turn order for a list of players |
timer_suggest | Suggest time controls for a game based on player count and complexity |
game_jam_theme | Generate a random game jam theme combining mechanics and themes |
dice_odds | Calculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3). |