76 tools · production · spec
Moddable Games provides tools that let an agent generate game maps, create game instances, and analyze chess positions for optimal moves.
Tools76 total
board_gallery_get
actionimperative/boardstringrequiredBoard ID or name
board_gallery_search
actionimperative/limitnumber—Max results (default 10)
querystring—Search term (e.g. "8x8", "hex", "shogi")
board_gallery_stats
actionimperative/no parameters
chess_generate_puzzle
actionimperative/themestring—Puzzle theme (fork, pin, skewer, mate-in-2, etc)
difficultystring—Puzzle difficulty
chess_list_puzzle_types
actionimperative/no parameters
coin_flip
actionimperative/countnumber—Number of coins (default 1)
choicesstring—Comma-separated options to pick from (overrides coin flip)
colony_dice_odds
actionimperative/numbersstringrequiredSettlement numbers, comma-separated (e.g. "5,6,8,9")
dice_odds
actionimperative/targetnumberrequiredTarget number to meet or exceed
comparisonstring—Comparison (default >=)
expressionstringrequiredDice expression (e.g. 2d6, 4d6kh3)
dice_roll
actionimperative/countnumber—Number of times to roll (default 1)
notationstring—Dice notation (e.g. 2d6+3, 4d6kh3, 3d8,1d12+2)
expressionstring—Alias for notation
game_deck_create
actionimperative/drawnumber—Number of cards to draw
typestring—Deck type (default: standard-52)
handsnumber—Deal into N hands
per_handnumber—Cards per hand (default: 5)
game_deck_deal
actionimperative/drawnumber—Draw N cards from the top instead of dealing hands
cardsarrayrequiredCards in the deck (name + optional quantity)
handsnumber—Deal into N hands (default: 1 = draw pile only)
per_handnumber—Cards per hand (default: 5)
game_deck_list_types
actionimperative/no parameters
game_jam_theme
actionimperative/countnumber—Number of themes to generate (default 3)
game_nukes_combat
actionimperative/terrainstring—Terrain type (plains, forest, mountain, urban)
attackerstringrequiredAttacking unit type
defenderstringrequiredDefending unit type
game_score_tracker
actionimperative/gamestring—Game name
scoresarray—Scores (default: all 0)
playersarrayrequiredPlayer names
hex_compute_fov
actionimperative/qnumberrequiredOrigin Q coordinate
rnumberrequiredOrigin R coordinate
gamestring—Game context for obstacle lookup
seedstring—Map seed
rangenumberrequiredVision range in hexes
hex_export_svg
actionimperative/gamestringrequiredGame type
seedstring—Random seed
sizenumber—Map size
stylestring—Visual style
hexSizenumber—Hex size in pixels (default: 30)
playersnumber—Number of players
hex_generate_map
actionimperative/gamestringrequiredGame type (nukes, colony, catan, age-of-steam, eclipse, twilight-imperium)
seedstring—Random seed for reproducibility
sizenumber—Map size (default: game default)
playersnumber—Number of players (default: 2)
hex_get_info
actionimperative/qnumberrequiredHex Q coordinate (column)
rnumberrequiredHex R coordinate (row)
gamestring—Game context for terrain lookup
seedstring—Map seed (to look up terrain from a generated map)
hex_list_games
actionimperative/no parameters
hex_pathfind
actionimperative/endQnumberrequiredEnd Q
endRnumberrequiredEnd R
gamestring—Game context for movement costs
seedstring—Map seed
startQnumberrequiredStart Q
startRnumberrequiredStart R
jam_status
actionimperative/no parameters
jam_timer
actionimperative/no parameters
jam_vote
actionimperative/no parameters
nukes_setup_generator
actionimperative/playersnumber—Number of players (2-6, default: 2)
oracle_ask
actionimperative/questionstringrequiredYes/no question
likelihoodstring—How likely is yes? (default: even)
oracle_encounter
actionimperative/systemstring—Game system (default: dnd-5e)
terrainstring—Terrain type (omit for random)
difficultystring—Encounter difficulty (default: medium)
party_sizenumber—Number of players 1-10 (default: 4)
party_levelnumber—Average party level 1-20 (default: 5)
monster_typestring—Filter by type (undead, dragon, beast, etc)
oracle_interpret
actionimperative/gamestring—Game system (default: starforged)
resultstringrequiredOracle result text to interpret
source_tablestring—Table ID the result came from
oracle_list_games
actionimperative/no parameters
oracle_list_recipes
actionimperative/gamestring—Filter by game system (omit for all)
oracle_list_tables
actionimperative/systemstringrequiredRPG system slug
oracle_roll
actionimperative/tablestring—Specific table name (omit for random)
systemstringrequiredRPG system slug (ironsworn, starforged, maze-rats, cairn, knave, fate-core)
oracle_scene
actionimperative/typestring—Scene type for random mode (default: event)
recipestring—Recipe ID (from oracle_list_recipes) — rolls each table in the recipe
regionstring—Region for Starforged region-aware recipes
systemstring—RPG system slug (default: ironsworn)
oracle_table_view
actionimperative/gamestring—Game system (default: starforged)
tablestringrequiredTable ID to view
piece_gallery_get_set
actionimperative/setstringrequiredSet name or ID
piece_gallery_search
actionimperative/limitnumber—Max results (default 10)
querystringrequiredSearch term (e.g. "staunton", "pixel", "shogi")
familystring—Filter by game family (chess, shogi, xiangqi, draughts, go, etc)
piece_gallery_stats
actionimperative/no parameters
play_apply_move
actionimperative/moveobjectrequiredMove object from play_get_moves (e.g. {from:"e2",to:"e4"} for chess, {coord:40} for go, {action:"pass"})
stateobjectrequiredGame state object from play_create_game or a previous play_apply_move
play_check_status
actionimperative/stateobjectrequiredGame state object from play_create_game or play_apply_move
play_create_game
actionimperative/familystringrequiredGame family name (chess, draughts, go, reversi, shogi, xiangqi)
rngSeednumber—Optional RNG seed for deterministic games
variantstring—Optional variant (e.g. 9x9 for go)
play_export_fen
actionimperative/stateobjectrequiredGame state object from play_create_game or play_apply_move
play_get_definition
actionimperative/familystringrequiredGame family (chess, draughts, go, reversi, shogi, xiangqi)
variantstring—Variant slug (default: standard)
play_get_moves
actionimperative/stateobjectrequiredGame state object returned by play_create_game or play_apply_move
play_list_families
actionimperative/no parameters
play_list_variants
actionimperative/familystringrequiredGame family (chess, draughts, go, reversi, shogi, xiangqi)
play_load_fen
actionimperative/fenstringrequiredPosition string in FEN-style notation for the family
familystringrequiredGame family (chess, draughts, go, reversi, shogi, xiangqi)
variantstring—Optional variant slug
play_make_moves
actionimperative/movesarrayrequiredArray of move objects in the format returned by play_get_moves
stateobjectrequiredGame state object from play_create_game or play_apply_move
play_render_board
actionimperative/sizeinteger—Board width in pixels for PNG output (default: 480, max: 2048)
stateobjectrequiredGame state object from play_create_game or play_apply_move
highlightsarray—Optional cells to highlight (e.g. [{key: 52, color: "#ff0"}])
play_suggest_move
actionimperative/stateobjectrequiredGame state object from play_create_game or play_apply_move
difficultystring—AI difficulty level (default: medium)
play_validate_move
actionimperative/moveobjectrequiredMove object to validate (same format as play_get_moves output)
stateobjectrequiredGame state object from play_create_game or play_apply_move
random_player_order
actionimperative/playersarrayrequiredPlayer names
rpg_browse_category
actionimperative/pagenumber—Page number (default 1)
systemstringrequiredSystem slug
categorystringrequiredCategory (spell, monster, class, item, feat, etc)
pageSizenumber—Items per page (default 20)
rpg_chargen
actionimperative/classstring—Class preference (omit for random)
levelnumber—Character level (default: 1)
systemstringrequiredRPG system (dnd-5e, pathfinder-1e, ironsworn, starforged, cairn, knave, maze-rats, dungeon-world)
rpg_get_entity
actionimperative/namestringrequiredEntity name
systemstring—System slug
rpg_list_categories
actionimperative/gamestring—Game system slug (omit for all systems)
rpg_loot
actionimperative/tierstring—Loot tier (default: minor)
countnumber—Number of items (default 3)
systemstring—System slug (default: dnd-5e)
rpg_random
actionimperative/gamestringrequiredGame system slug
countnumber—Number of random picks 1-10 (default: 1)
categorystring—Category to draw from (omit for any)
rpg_random_encounter
actionimperative/systemstring—System slug (default: dnd-5e)
difficultystring—Encounter difficulty
environmentstring—Environment type (dungeon, forest, urban, etc)
rpg_search_entities
actionimperative/limitnumber—Max results (default 10)
querystringrequiredSearch term
systemstring—Limit to system (dnd-5e, pathfinder-1e, etc)
categorystring—Entity category (spell, monster, class, item)
rules_get_game
actionimperative/gamestringrequiredGame slug (e.g. chess, dnd-5e, catan)
rules_get_variant
actionimperative/gamestringrequiredGame slug
variantstringrequiredVariant slug
rules_list_games
actionimperative/categorystring—Filter by category (board, card, rpg, war, hex)
rules_random
actionimperative/playersnumber—Number of players available
maxDurationnumber—Maximum game duration in minutes
rules_search
actionimperative/gamestring—Limit to specific game slug
limitnumber—Max results (default 10)
querystringrequiredSearch query
talisman_draw_characters
actionimperative/countnumber—Number of characters to draw (2-6, default: 4)
talisman_draw_encounter
actionimperative/ringstring—Ring to draw from (default: outer)
team_split
actionimperative/countnumber—Number of teams (default 2)
teamsnumber—Alias for count
membersstring—Comma-separated names (alternative to array)
playersarrayrequiredPlayer names
ti4_draft_factions
actionimperative/choicesnumber—Factions per player to choose from (default: 3)
playersnumber—Number of players (3-8, default: 6)
expansionsarray—Expansion filter (e.g. ["base","pok"]). Default: all
ti4_draw_agendas
actionimperative/typestring—Filter by type
countnumber—Number to draw (default: 2)
expansionsarray—Expansion filter
ti4_draw_objectives
actionimperative/countnumber—Number to draw (default: 5)
stagenumber—Stage 1 or 2 (default: both)
expansionsarray—Expansion filter
ti4_list_factions
actionimperative/expansionsarray—Filter by expansion (e.g. ["base","pok"]). Default: all
ti4_random_factions
actionimperative/playersnumberrequiredNumber of players (3-8)
expansionsarray—Expansion filter (e.g. ["base","pok"]). Default: all
tile_gallery_get
actionimperative/setstringrequiredTile set ID or name
tile_gallery_search
actionimperative/querystring—Search term (omit to list all)
tile_gallery_stats
actionimperative/no parameters
timer_suggest
actionimperative/gamestringrequiredGame name
playersnumber—Number of players