Moddable Games Tools

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

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count89
Latency3989 ms
Last checked (UTC)2026-10-15T00:01:05.484Z

Health history

Checked (UTC)StatusLatencyError
2026-10-15T00:01:05.484ZHealthy3989
2026-10-15T00:01:05.329ZHealthy2469

Tools (89)

chess_generate_puzzleGet 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_typesList 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_gamesList all available hex map game types with configuration options
hex_generate_mapGenerate a hex map for a specific game and player count
hex_export_svgGenerate a hex map and export as SVG
hex_get_infoGet info about a specific hex coordinate (terrain, neighbours, distance)
hex_compute_fovCompute field of view from a hex position
hex_pathfindFind shortest path between two hex coordinates
play_list_familiesList 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_variantsList 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_definitionGet 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_gameCreate 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_movesGet all legal moves for the current position. Requires state from play_create_game or play_apply_move.
play_apply_moveApply 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_statusCheck the current game status: whose turn it is, whether the game is over, and who won.
play_suggest_moveUse AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families.
play_render_boardRender 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_fenExport 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_fenCreate 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_moveCheck 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_movesApply 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_gamesList all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.
rules_get_gameGet full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead.
rules_get_game_metaGet 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_pageGet 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_listList all variants for a game with structured metadata (players, board, playable status, topology, engine config). Much richer than parsing the rulebook.
rules_get_diagramGet board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.
rules_get_variantGet rules for a specific game variant
rules_searchFull-text search across all published rulebooks. Returns section-typed results with deep-link anchors.
rules_randomGet a random game suggestion from the library
board_gallery_searchSearch the board gallery (335 rendered board layouts across 34 game families)
board_gallery_getGet details of a specific board layout by ID
tile_gallery_searchSearch hex tile sets by name, game, or terrain type
tile_gallery_getGet details of a specific tile set with all tile types
tile_gallery_statsGet statistics about available tile sets
board_gallery_statsGet statistics about the board gallery (total boards, families, topologies)
piece_gallery_searchSearch the piece set gallery by name, style, or game type
piece_gallery_get_setGet full details and piece list for a specific set
piece_gallery_statsGet statistics about the piece gallery (total sets, styles, authors, game families)
oracle_list_gamesList all supported RPG systems with oracle tables and entity data availability
rpg_chargenGenerate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)
oracle_rollRoll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)
oracle_list_tablesList available oracle tables for a system
oracle_askAsk the oracle a yes/no question with likelihood modifier
oracle_sceneGenerate 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_entitiesSearch RPG entities (spells, monsters, classes, items) across all systems
rpg_get_entityGet full details of a specific RPG entity by name
rpg_random_encounterGenerate a random encounter for a system and difficulty level
rpg_browse_categoryBrowse entities by category with pagination
rpg_lootGenerate random loot/treasure for a system and tier
oracle_list_recipesList all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts
oracle_interpretResolve oracle cross-references. Given a result like "Action + Theme", follows references and returns expanded results
oracle_table_viewView the complete contents of an oracle table — all entries with roll ranges
oracle_encounterGenerate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)
rpg_list_categoriesList entity categories for an RPG system (spells, monsters, classes, equipment, etc)
rpg_randomGet random entities from an RPG system for inspiration or encounter prep
ti4_random_factionsGenerate random faction assignments for Twilight Imperium 4th Edition
ti4_draft_factionsMilty-style TI4 draft with pick pools per player
ti4_list_factionsList all TI4 factions with colors, flags, and expansion info
ti4_draw_objectivesDraw random public objectives for TI4
ti4_draw_agendasDraw random agenda cards for TI4 political phase
nukes_setup_generatorGenerate random territory/resource setup for a Nukes game
game_nukes_combatResolve a Nukes combat encounter between units
colony_dice_oddsCalculate settlement dice probability for Colony/Catan-style resource numbers
game_deck_createCreate, shuffle, and optionally draw/deal from a card deck
game_deck_list_typesList all available deck types with metadata
game_deck_dealShuffle and deal a custom deck of arbitrary named cards
game_score_trackerTrack scores for players in any game
talisman_draw_charactersDraw random characters from the Talisman 4e (revised) base set for a character lottery
talisman_draw_encounterDraw a random encounter for a Talisman ring (outer, middle, inner, crown)
jam_statusGet the current Mod Jam status (active jam, deadline, submissions)
jam_timerGet time remaining in the current Mod Jam
jam_voteGet voting status for the current Mod Jam
dice_rollRoll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3).
coin_flipFlip one or more coins, or pick from a list of choices
team_splitRandomly divide players into teams
random_player_orderRandomise turn order for a list of players
timer_suggestSuggest time controls for a game based on player count and complexity
game_jam_themeGenerate a random game jam theme combining mechanics and themes
dice_oddsCalculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3).