games.moddable.tools/moddable-games-tools

Moddable Games Tools

15 tools for chess variant analysis, hex map generation, and board game utilities

Endpointhttps://tools.moddable.games/mcp (streamable-http)
Registry version1.1.0
Now89 tools · grade D (62) · pin ts_71fd1087fac8a14e278c291df02338cb · protocol 2025-03-26
First / last listed2026-11-14 01:17 UTC / 2026-11-14 01:17 UTC
Grade over time2026-11-14: D (62), 89 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-11-14 01:17 UTC
89 tools, grade D (62)

Tools: chess_generate_puzzle chess_list_puzzle_types chess_list_variants chess_get_legal_moves chess_analyze_position chess_make_move chess_validate_move chess_get_status chess_render_svg chess_make_moves chess_get_opening_book hex_list_games hex_generate_map hex_export_svg hex_get_info hex_compute_fov hex_pathfind play_list_families play_list_variants play_get_definition play_create_game play_get_moves play_apply_move play_check_status play_suggest_move play_render_board play_export_fen play_load_fen play_validate_move play_make_moves rules_list_games rules_get_game rules_get_game_meta rules_get_page rules_get_variant_list rules_get_diagram rules_get_variant rules_search rules_random board_gallery_search board_gallery_get tile_gallery_search tile_gallery_get tile_gallery_stats board_gallery_stats piece_gallery_search piece_gallery_get_set piece_gallery_stats oracle_list_games rpg_chargen oracle_roll oracle_list_tables oracle_ask oracle_scene rpg_search_entities rpg_get_entity rpg_random_encounter rpg_browse_category rpg_loot oracle_list_recipes oracle_interpret oracle_table_view oracle_encounter rpg_list_categories rpg_random ti4_random_factions ti4_draft_factions ti4_list_factions ti4_draw_objectives ti4_draw_agendas nukes_setup_generator game_nukes_combat colony_dice_odds game_deck_create game_deck_list_types game_deck_deal game_score_tracker talisman_draw_characters talisman_draw_encounter jam_status jam_timer jam_vote dice_roll coin_flip team_split random_player_order timer_suggest game_jam_theme dice_odds

Current 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.
params: variant, difficulty, theme
chess_list_puzzle_typesList available puzzle variants, themes, and per-variant counts from the puzzle pool
params: none
chess_list_variants[DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0.
params: group
chess_get_legal_moves[DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0.
params: variant
chess_analyze_position[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0.
params: variant, depth
chess_make_move[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0.
params: move*, variant
chess_validate_move[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0.
params: move*, variant
chess_get_status[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0.
params: variant
chess_render_svg[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0.
params: variant, fen, highlights
chess_make_moves[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0.
params: moves*, variant
chess_get_opening_book[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement.
params: variant
hex_list_gamesList all available hex map game types with configuration options
params: none
hex_generate_mapGenerate a hex map for a specific game and player count
params: game*, players, size, seed
hex_export_svgGenerate a hex map and export as SVG
params: game*, players, size, seed, style, hexSize
hex_get_infoGet info about a specific hex coordinate (terrain, neighbours, distance)
params: q*, r*, game, seed
hex_compute_fovCompute field of view from a hex position
params: q*, r*, range*, game, seed
hex_pathfindFind shortest path between two hex coordinates
params: startQ*, startR*, endQ*, endR*, game, seed
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, pachisi, royal-ur, senet, stern-halma, surakarta, tafl)
params: none
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".
params: family*
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.
params: family*, variant
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".
params: family*, variant, rngSeed
play_get_movesGet all legal moves for the current position. Requires state from play_create_game or play_apply_move.
params: state*
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"}).
params: state*, move*
play_check_statusCheck the current game status: whose turn it is, whether the game is over, and who won.
params: state*
play_suggest_moveUse AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families.
params: state*, difficulty
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, nyout, pachisi, royal-ur, senet, stern-halma, surakarta, tafl).
params: state*, highlights, size
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.
params: state*
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.
params: family*, fen*, variant
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.
params: state*, move*
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.
params: state*, moves*
rules_list_gamesList all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.
params: category, complexity, mechanic, status
rules_get_gameGet full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead.
params: game*
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.
params: game*
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.
params: game*, section, page*
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.
params: game*, playable, topology
rules_get_diagramGet board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.
params: game*, variant
rules_get_variantGet rules for a specific game variant
params: game*, variant*
rules_searchFull-text search across all published rulebooks. Returns section-typed results with deep-link anchors.
params: query*, game, sectionType, limit
rules_randomGet a random game suggestion from the library
params: players, maxDuration
board_gallery_searchSearch the board gallery (335 rendered board layouts across 34 game families)
params: query, limit
board_gallery_getGet details of a specific board layout by ID
params: board*
tile_gallery_searchSearch hex tile sets by name, game, or terrain type
params: query
tile_gallery_getGet details of a specific tile set with all tile types
params: set*
tile_gallery_statsGet statistics about available tile sets
params: none
board_gallery_statsGet statistics about the board gallery (total boards, families, topologies)
params: none
piece_gallery_searchSearch the piece set gallery by name, style, or game type
params: query*, family, limit
piece_gallery_get_setGet full details and piece list for a specific set
params: set*
piece_gallery_statsGet statistics about the piece gallery (total sets, styles, authors, game families)
params: none
oracle_list_gamesList all supported RPG systems with oracle tables and entity data availability
params: none
rpg_chargenGenerate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)
params: system*, level, class
oracle_rollRoll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)
params: system*, table
oracle_list_tablesList available oracle tables for a system
params: system*
oracle_askAsk the oracle a yes/no question with likelihood modifier
params: question*, likelihood
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.
params: system, recipe, region, type
rpg_search_entitiesSearch RPG entities (spells, monsters, classes, items) across all systems
params: query*, system, game, category, limit
rpg_get_entityGet full details of a specific RPG entity by name
params: name*, system, game, category
rpg_random_encounterGenerate a random encounter for a system and difficulty level
params: system, difficulty, type
rpg_browse_categoryBrowse entities by category with pagination
params: system*, game, category*, page, pageSize
rpg_lootGenerate random loot/treasure for a system and tier
params: system, tier, count
oracle_list_recipesList all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts
params: game
oracle_interpretResolve oracle cross-references. Given a result like "Action + Theme", follows references and returns expanded results
params: result*, source_table, game
oracle_table_viewView the complete contents of an oracle table — all entries with roll ranges
params: table*, game
oracle_encounterGenerate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)
params: system, party_level, party_size, difficulty, monster_type, terrain
rpg_list_categoriesList entity categories for an RPG system (spells, monsters, classes, equipment, etc)
params: game, system
rpg_randomGet random entities from an RPG system for inspiration or encounter prep
params: game*, system, category, count
ti4_random_factionsGenerate random faction assignments for Twilight Imperium 4th Edition
params: players*, expansions
ti4_draft_factionsMilty-style TI4 draft with pick pools per player
params: players, choices, expansions
ti4_list_factionsList all TI4 factions with colors, flags, and expansion info
params: expansions
ti4_draw_objectivesDraw random public objectives for TI4
params: stage, count, expansions
ti4_draw_agendasDraw random agenda cards for TI4 political phase
params: count, type, expansions
nukes_setup_generatorGenerate random territory/resource setup for a Nukes game
params: players
game_nukes_combatResolve a Nukes combat encounter between units
params: attacker*, defender*, terrain
colony_dice_oddsCalculate settlement dice probability for Colony/Catan-style resource numbers
params: numbers*
game_deck_createCreate, shuffle, and optionally draw/deal from a card deck
params: type, draw, hands, per_hand
game_deck_list_typesList all available deck types with metadata
params: none
game_deck_dealShuffle and deal a custom deck of arbitrary named cards
params: cards*, hands, per_hand, draw
game_score_trackerTrack scores for players in any game
params: players*, scores, game
talisman_draw_charactersDraw random characters from the Talisman 4e (revised) base set for a character lottery
params: count
talisman_draw_encounterDraw a random encounter for a Talisman ring (outer, middle, inner, crown)
params: ring
jam_statusGet the current Mod Jam status (active jam, deadline, submissions)
params: none
jam_timerGet time remaining in the current Mod Jam
params: none
jam_voteGet voting status for the current Mod Jam
params: none
dice_rollRoll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3).
params: notation, expression, count
coin_flipFlip one or more coins, or pick from a list of choices
params: count, choices
team_splitRandomly divide players into teams
params: players*, members, count, teams
random_player_orderRandomise turn order for a list of players
params: players*
timer_suggestSuggest time controls for a game based on player count and complexity
params: game*, players
game_jam_themeGenerate a random game jam theme combining mechanics and themes
params: count
dice_oddsCalculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3).
params: expression*, target*, comparison

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.