{"serverInfo":{"name":"moddable-games-tools","version":"0.1.0","title":"Moddable Games Tools","description":"Board game AI tools: 6 playable families, hex maps, puzzles, dice, oracles, RPG entities, rules search, and more."},"url":"https://tools.moddable.games/mcp","transport":{"sse":{"url":"https://tools.moddable.games/mcp/sse"},"streamable-http":{"url":"https://tools.moddable.games/mcp"}},"capabilities":{"tools":true,"prompts":true,"resources":true},"authentication":{"type":"none"},"tools":[{"name":"chess_generate_puzzle","description":"Get a random chess puzzle. Filter by variant or difficulty. Variant puzzles have no themes and max rating 1400 — theme and hard difficulty filters only apply to standard puzzles."},{"name":"chess_list_puzzle_types","description":"List available puzzle variants, themes, and per-variant counts from the puzzle pool"},{"name":"hex_list_games","description":"List all available hex map game types with configuration options"},{"name":"hex_generate_map","description":"Generate a hex map for a specific game and player count"},{"name":"hex_export_svg","description":"Generate a hex map and export as SVG"},{"name":"hex_get_info","description":"Get info about a specific hex coordinate (terrain, neighbours, distance)"},{"name":"hex_compute_fov","description":"Compute field of view from a hex position"},{"name":"hex_pathfind","description":"Find shortest path between two hex coordinates"},{"name":"play_list_families","description":"List all playable game families supported by the engine (chess, draughts, go, reversi, shogi, xiangqi)"},{"name":"play_list_variants","description":"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\"."},{"name":"play_get_definition","description":"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."},{"name":"play_create_game","description":"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\"."},{"name":"play_get_moves","description":"Get all legal moves for the current position. Requires state from play_create_game or play_apply_move."},{"name":"play_apply_move","description":"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\"})."},{"name":"play_check_status","description":"Check the current game status: whose turn it is, whether the game is over, and who won."},{"name":"play_suggest_move","description":"Use AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 6 playable families."},{"name":"play_render_board","description":"Render the current board position as SVG for any playable family (chess, draughts, go, reversi, shogi, xiangqi)."},{"name":"play_export_fen","description":"Export the current board position as a FEN-style notation string. Works for all 6 families (chess, draughts, go, reversi, shogi, xiangqi)."},{"name":"play_load_fen","description":"Create a game state from a FEN-style position string. Works for all 6 families."},{"name":"play_validate_move","description":"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."},{"name":"play_make_moves","description":"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."},{"name":"rules_list_games","description":"List all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics."},{"name":"rules_get_game","description":"Get full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead."},{"name":"rules_get_game_meta","description":"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."},{"name":"rules_get_page","description":"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."},{"name":"rules_get_variant_list","description":"List all variants for a game with structured metadata (players, board, playable status, topology, engine config). Much richer than parsing the rulebook."},{"name":"rules_get_diagram","description":"Get board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata."},{"name":"rules_get_variant","description":"Get rules for a specific game variant"},{"name":"rules_search","description":"Full-text search across all published rulebooks. Returns section-typed results with deep-link anchors."},{"name":"rules_random","description":"Get a random game suggestion from the library"},{"name":"board_gallery_search","description":"Search the board gallery (333 rendered board layouts across 33 game families)"},{"name":"board_gallery_get","description":"Get details of a specific board layout by ID"},{"name":"tile_gallery_search","description":"Search hex tile sets by name, game, or terrain type"},{"name":"tile_gallery_get","description":"Get details of a specific tile set with all tile types"},{"name":"tile_gallery_stats","description":"Get statistics about available tile sets"},{"name":"board_gallery_stats","description":"Get statistics about the board gallery (total boards, families, topologies)"},{"name":"piece_gallery_search","description":"Search the piece set gallery by name, style, or game type"},{"name":"piece_gallery_get_set","description":"Get full details and piece list for a specific set"},{"name":"piece_gallery_stats","description":"Get statistics about the piece gallery (total sets, styles, authors, game families)"},{"name":"oracle_list_games","description":"List all supported RPG systems with oracle tables and entity data availability"},{"name":"rpg_chargen","description":"Generate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)"},{"name":"oracle_roll","description":"Roll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)"},{"name":"oracle_list_tables","description":"List available oracle tables for a system"},{"name":"oracle_ask","description":"Ask the oracle a yes/no question with likelihood modifier"},{"name":"oracle_scene","description":"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."},{"name":"rpg_search_entities","description":"Search RPG entities (spells, monsters, classes, items) across all systems"},{"name":"rpg_get_entity","description":"Get full details of a specific RPG entity by name"},{"name":"rpg_random_encounter","description":"Generate a random encounter for a system and difficulty level"},{"name":"rpg_browse_category","description":"Browse entities by category with pagination"},{"name":"rpg_loot","description":"Generate random loot/treasure for a system and tier"},{"name":"oracle_list_recipes","description":"List all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts"},{"name":"oracle_interpret","description":"Resolve oracle cross-references. Given a result like \"Action + Theme\", follows references and returns expanded results"},{"name":"oracle_table_view","description":"View the complete contents of an oracle table — all entries with roll ranges"},{"name":"oracle_encounter","description":"Generate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)"},{"name":"rpg_list_categories","description":"List entity categories for an RPG system (spells, monsters, classes, equipment, etc)"},{"name":"rpg_random","description":"Get random entities from an RPG system for inspiration or encounter prep"},{"name":"ti4_random_factions","description":"Generate random faction assignments for Twilight Imperium 4th Edition"},{"name":"ti4_draft_factions","description":"Milty-style TI4 draft with pick pools per player"},{"name":"ti4_list_factions","description":"List all TI4 factions with colors, flags, and expansion info"},{"name":"ti4_draw_objectives","description":"Draw random public objectives for TI4"},{"name":"ti4_draw_agendas","description":"Draw random agenda cards for TI4 political phase"},{"name":"nukes_setup_generator","description":"Generate random territory/resource setup for a Nukes game"},{"name":"game_nukes_combat","description":"Resolve a Nukes combat encounter between units"},{"name":"colony_dice_odds","description":"Calculate settlement dice probability for Colony/Catan-style resource numbers"},{"name":"game_deck_create","description":"Create, shuffle, and optionally draw/deal from a card deck"},{"name":"game_deck_list_types","description":"List all available deck types with metadata"},{"name":"game_deck_deal","description":"Shuffle and deal a custom deck of arbitrary named cards"},{"name":"game_score_tracker","description":"Track scores for players in any game"},{"name":"talisman_draw_characters","description":"Draw random characters from the Talisman 4e (revised) base set for a character lottery"},{"name":"talisman_draw_encounter","description":"Draw a random encounter for a Talisman ring (outer, middle, inner, crown)"},{"name":"jam_status","description":"Get the current Mod Jam status (active jam, deadline, submissions)"},{"name":"jam_timer","description":"Get time remaining in the current Mod Jam"},{"name":"jam_vote","description":"Get voting status for the current Mod Jam"},{"name":"dice_roll","description":"Roll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3)."},{"name":"coin_flip","description":"Flip one or more coins, or pick from a list of choices"},{"name":"team_split","description":"Randomly divide players into teams"},{"name":"random_player_order","description":"Randomise turn order for a list of players"},{"name":"timer_suggest","description":"Suggest time controls for a game based on player count and complexity"},{"name":"game_jam_theme","description":"Generate a random game jam theme combining mechanics and themes"},{"name":"dice_odds","description":"Calculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3)."}],"contact":{"url":"https://moddable.games"}}