{"apiVersion":"v1","directorySlug":"tools-mcp-b45a0c40a0","title":"Creating games you already own","description":"The first board game company built entirely in the open. CC-licensed rulebooks, forkable engines, and original games designed to be taken apart.","pageUrl":"https://www.mcpbundles.com/skills/tools-mcp-b45a0c40a0","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://tools.moddable.games/mcp","hostedMcpUrl":null,"toolCount":89,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"games.moddable/tools-mcp-b45a0c40a0","registryVersion":"2026.11.3","registryEligible":true,"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.","inputSchema":{"type":"object","properties":{"theme":{"type":"string"},"variant":{"type":"string"},"difficulty":{"enum":["easy","medium","hard"],"type":"string"}}},"logicalName":"chess_generate_puzzle","displayName":"chess_generate_puzzle","title":"chess_generate_puzzle","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_list_puzzle_types","description":"List available puzzle variants, themes, and per-variant counts from the puzzle pool","inputSchema":{"type":"object","properties":{}},"logicalName":"chess_list_puzzle_types","displayName":"chess_list_puzzle_types","title":"chess_list_puzzle_types","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_list_variants","description":"[DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0.","inputSchema":{"type":"object","properties":{"group":{"type":"string"}}},"logicalName":"chess_list_variants","displayName":"chess_list_variants","title":"chess_list_variants","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_get_legal_moves","description":"[DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0.","inputSchema":{"type":"object","properties":{"variant":{"type":"string"}}},"logicalName":"chess_get_legal_moves","displayName":"chess_get_legal_moves","title":"chess_get_legal_moves","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_analyze_position","description":"[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0.","inputSchema":{"type":"object","properties":{"depth":{"type":"number"},"variant":{"type":"string"}}},"logicalName":"chess_analyze_position","displayName":"chess_analyze_position","title":"chess_analyze_position","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_make_move","description":"[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0.","inputSchema":{"type":"object","required":["move"],"properties":{"move":{"type":"object"},"variant":{"type":"string"}}},"logicalName":"chess_make_move","displayName":"chess_make_move","title":"chess_make_move","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_validate_move","description":"[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0.","inputSchema":{"type":"object","required":["move"],"properties":{"move":{"type":"object"},"variant":{"type":"string"}}},"logicalName":"chess_validate_move","displayName":"chess_validate_move","title":"chess_validate_move","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_get_status","description":"[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0.","inputSchema":{"type":"object","properties":{"variant":{"type":"string"}}},"logicalName":"chess_get_status","displayName":"chess_get_status","title":"chess_get_status","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_render_svg","description":"[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0.","inputSchema":{"type":"object","properties":{"fen":{"type":"string"},"variant":{"type":"string"},"highlights":{"type":"array","items":{"type":"string"}}}},"logicalName":"chess_render_svg","displayName":"chess_render_svg","title":"chess_render_svg","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_make_moves","description":"[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0.","inputSchema":{"type":"object","required":["moves"],"properties":{"moves":{"type":"array","items":{"type":"object"}},"variant":{"type":"string"}}},"logicalName":"chess_make_moves","displayName":"chess_make_moves","title":"chess_make_moves","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chess_get_opening_book","description":"[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement.","inputSchema":{"type":"object","properties":{"variant":{"type":"string"}}},"logicalName":"chess_get_opening_book","displayName":"chess_get_opening_book","title":"chess_get_opening_book","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"hex_list_games","description":"List all available hex map game types with configuration options","inputSchema":{"type":"object","properties":{}},"logicalName":"hex_list_games","displayName":"hex_list_games","title":"hex_list_games","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"hex_generate_map","description":"Generate a hex map for a specific game and player count","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"},"seed":{"type":"string"},"size":{"type":"number"},"players":{"type":"number"}}},"logicalName":"hex_generate_map","displayName":"hex_generate_map","title":"hex_generate_map","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"hex_export_svg","description":"Generate a hex map and export as SVG","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"},"seed":{"type":"string"},"size":{"type":"number"},"style":{"type":"string"},"hexSize":{"type":"number"},"players":{"type":"number"}}},"logicalName":"hex_export_svg","displayName":"hex_export_svg","title":"hex_export_svg","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"hex_get_info","description":"Get info about a specific hex coordinate (terrain, neighbours, distance)","inputSchema":{"type":"object","required":["q","r"],"properties":{"q":{"type":"number"},"r":{"type":"number"},"game":{"type":"string"},"seed":{"type":"string"}}},"logicalName":"hex_get_info","displayName":"hex_get_info","title":"hex_get_info","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"hex_compute_fov","description":"Compute field of view from a hex position","inputSchema":{"type":"object","required":["q","r","range"],"properties":{"q":{"type":"number"},"r":{"type":"number"},"game":{"type":"string"},"seed":{"type":"string"},"range":{"type":"number"}}},"logicalName":"hex_compute_fov","displayName":"hex_compute_fov","title":"hex_compute_fov","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"hex_pathfind","description":"Find shortest path between two hex coordinates","inputSchema":{"type":"object","required":["startQ","startR","endQ","endR"],"properties":{"endQ":{"type":"number"},"endR":{"type":"number"},"game":{"type":"string"},"seed":{"type":"string"},"startQ":{"type":"number"},"startR":{"type":"number"}}},"logicalName":"hex_pathfind","displayName":"hex_pathfind","title":"hex_pathfind","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"play_list_families","description":"List all playable game families supported by the engine (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game)","inputSchema":{"type":"object","properties":{}},"logicalName":"play_list_families","displayName":"play_list_families","title":"play_list_families","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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\".","inputSchema":{"type":"object","required":["family"],"properties":{"family":{"type":"string"}}},"logicalName":"play_list_variants","displayName":"play_list_variants","title":"play_list_variants","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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.","inputSchema":{"type":"object","required":["family"],"properties":{"family":{"type":"string"},"variant":{"type":"string"}}},"logicalName":"play_get_definition","displayName":"play_get_definition","title":"play_get_definition","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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\".","inputSchema":{"type":"object","required":["family"],"properties":{"family":{"type":"string"},"rngSeed":{"type":"number"},"variant":{"type":"string"}}},"logicalName":"play_create_game","displayName":"play_create_game","title":"play_create_game","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"play_get_moves","description":"Get all legal moves for the current position. Requires state from play_create_game or play_apply_move.","inputSchema":{"type":"object","required":["state"],"properties":{"state":{"type":"object"}}},"logicalName":"play_get_moves","displayName":"play_get_moves","title":"play_get_moves","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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\"}).","inputSchema":{"type":"object","required":["state","move"],"properties":{"move":{"type":"object"},"state":{"type":"object"}}},"logicalName":"play_apply_move","displayName":"play_apply_move","title":"play_apply_move","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"play_check_status","description":"Check the current game status: whose turn it is, whether the game is over, and who won.","inputSchema":{"type":"object","required":["state"],"properties":{"state":{"type":"object"}}},"logicalName":"play_check_status","displayName":"play_check_status","title":"play_check_status","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"play_suggest_move","description":"Use AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 10 playable families.","inputSchema":{"type":"object","required":["state"],"properties":{"state":{"type":"object"},"difficulty":{"enum":["beginner","easy","medium","hard","expert"],"type":"string"}}},"logicalName":"play_suggest_move","displayName":"play_suggest_move","title":"play_suggest_move","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"play_render_board","description":"Render the current board position as SVG for any playable family (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game).","inputSchema":{"type":"object","required":["state"],"properties":{"size":{"type":"integer"},"state":{"type":"object"},"highlights":{"type":"array","items":{"type":"object","properties":{"key":{"type":"integer"},"color":{"type":"string"}}}}}},"logicalName":"play_render_board","displayName":"play_render_board","title":"play_render_board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"play_export_fen","description":"Export the current board position as a FEN-style notation string. Works for all 10 families (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game).","inputSchema":{"type":"object","required":["state"],"properties":{"state":{"type":"object"}}},"logicalName":"play_export_fen","displayName":"play_export_fen","title":"play_export_fen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"play_load_fen","description":"Create a game state from a FEN-style position string. Works for all 10 families.","inputSchema":{"type":"object","required":["family","fen"],"properties":{"fen":{"type":"string"},"family":{"type":"string"},"variant":{"type":"string"}}},"logicalName":"play_load_fen","displayName":"play_load_fen","title":"play_load_fen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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.","inputSchema":{"type":"object","required":["state","move"],"properties":{"move":{"type":"object"},"state":{"type":"object"}}},"logicalName":"play_validate_move","displayName":"play_validate_move","title":"play_validate_move","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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.","inputSchema":{"type":"object","required":["state","moves"],"properties":{"moves":{"type":"array","items":{"type":"object"}},"state":{"type":"object"}}},"logicalName":"play_make_moves","displayName":"play_make_moves","title":"play_make_moves","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rules_list_games","description":"List all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.","inputSchema":{"type":"object","properties":{"status":{"enum":["live","alpha","playtest"],"type":"string"},"category":{"type":"string"},"mechanic":{"type":"string"},"complexity":{"enum":["simple","moderate","complex"],"type":"string"}}},"logicalName":"rules_list_games","displayName":"rules_list_games","title":"rules_list_games","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rules_get_game","description":"Get full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead.","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"}}},"logicalName":"rules_get_game","displayName":"rules_get_game","title":"rules_get_game","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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.","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"}}},"logicalName":"rules_get_game_meta","displayName":"rules_get_game_meta","title":"rules_get_game_meta","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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.","inputSchema":{"type":"object","required":["game","page"],"properties":{"game":{"type":"string"},"page":{"type":"string"},"section":{"type":"string"}}},"logicalName":"rules_get_page","displayName":"rules_get_page","title":"rules_get_page","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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.","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"},"playable":{"type":"boolean"},"topology":{"type":"string"}}},"logicalName":"rules_get_variant_list","displayName":"rules_get_variant_list","title":"rules_get_variant_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rules_get_diagram","description":"Get board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"},"variant":{"type":"string"}}},"logicalName":"rules_get_diagram","displayName":"rules_get_diagram","title":"rules_get_diagram","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rules_get_variant","description":"Get rules for a specific game variant","inputSchema":{"type":"object","required":["game","variant"],"properties":{"game":{"type":"string"},"variant":{"type":"string"}}},"logicalName":"rules_get_variant","displayName":"rules_get_variant","title":"rules_get_variant","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rules_search","description":"Full-text search across all published rulebooks. Returns section-typed results with deep-link anchors.","inputSchema":{"type":"object","required":["query"],"properties":{"game":{"type":"string"},"limit":{"type":"number"},"query":{"type":"string"},"sectionType":{"type":"string"}}},"logicalName":"rules_search","displayName":"rules_search","title":"rules_search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rules_random","description":"Get a random game suggestion from the library","inputSchema":{"type":"object","properties":{"players":{"type":"number"},"maxDuration":{"type":"number"}}},"logicalName":"rules_random","displayName":"rules_random","title":"rules_random","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"board_gallery_search","description":"Search the board gallery (334 rendered board layouts across 33 game families)","inputSchema":{"type":"object","properties":{"limit":{"type":"number"},"query":{"type":"string"}}},"logicalName":"board_gallery_search","displayName":"board_gallery_search","title":"board_gallery_search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"board_gallery_get","description":"Get details of a specific board layout by ID","inputSchema":{"type":"object","required":["board"],"properties":{"board":{"type":"string"}}},"logicalName":"board_gallery_get","displayName":"board_gallery_get","title":"board_gallery_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"tile_gallery_search","description":"Search hex tile sets by name, game, or terrain type","inputSchema":{"type":"object","properties":{"query":{"type":"string"}}},"logicalName":"tile_gallery_search","displayName":"tile_gallery_search","title":"tile_gallery_search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"tile_gallery_get","description":"Get details of a specific tile set with all tile types","inputSchema":{"type":"object","required":["set"],"properties":{"set":{"type":"string"}}},"logicalName":"tile_gallery_get","displayName":"tile_gallery_get","title":"tile_gallery_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"tile_gallery_stats","description":"Get statistics about available tile sets","inputSchema":{"type":"object","properties":{}},"logicalName":"tile_gallery_stats","displayName":"tile_gallery_stats","title":"tile_gallery_stats","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"board_gallery_stats","description":"Get statistics about the board gallery (total boards, families, topologies)","inputSchema":{"type":"object","properties":{}},"logicalName":"board_gallery_stats","displayName":"board_gallery_stats","title":"board_gallery_stats","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"piece_gallery_search","description":"Search the piece set gallery by name, style, or game type","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"number"},"query":{"type":"string"},"family":{"type":"string"}}},"logicalName":"piece_gallery_search","displayName":"piece_gallery_search","title":"piece_gallery_search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"piece_gallery_get_set","description":"Get full details and piece list for a specific set","inputSchema":{"type":"object","required":["set"],"properties":{"set":{"type":"string"}}},"logicalName":"piece_gallery_get_set","displayName":"piece_gallery_get_set","title":"piece_gallery_get_set","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"piece_gallery_stats","description":"Get statistics about the piece gallery (total sets, styles, authors, game families)","inputSchema":{"type":"object","properties":{}},"logicalName":"piece_gallery_stats","displayName":"piece_gallery_stats","title":"piece_gallery_stats","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_list_games","description":"List all supported RPG systems with oracle tables and entity data availability","inputSchema":{"type":"object","properties":{}},"logicalName":"oracle_list_games","displayName":"oracle_list_games","title":"oracle_list_games","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_chargen","description":"Generate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)","inputSchema":{"type":"object","required":["system"],"properties":{"class":{"type":"string"},"level":{"type":"number"},"system":{"type":"string"}}},"logicalName":"rpg_chargen","displayName":"rpg_chargen","title":"rpg_chargen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_roll","description":"Roll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)","inputSchema":{"type":"object","required":["system"],"properties":{"table":{"type":"string"},"system":{"type":"string"}}},"logicalName":"oracle_roll","displayName":"oracle_roll","title":"oracle_roll","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_list_tables","description":"List available oracle tables for a system","inputSchema":{"type":"object","required":["system"],"properties":{"system":{"type":"string"}}},"logicalName":"oracle_list_tables","displayName":"oracle_list_tables","title":"oracle_list_tables","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_ask","description":"Ask the oracle a yes/no question with likelihood modifier","inputSchema":{"type":"object","required":["question"],"properties":{"question":{"type":"string"},"likelihood":{"enum":["certain","likely","even","unlikely","impossible"],"type":"string"}}},"logicalName":"oracle_ask","displayName":"oracle_ask","title":"oracle_ask","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"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.","inputSchema":{"type":"object","properties":{"type":{"enum":["location","npc","event","combat"],"type":"string"},"recipe":{"type":"string"},"region":{"enum":["terminus","outlands","expanse"],"type":"string"},"system":{"type":"string"}}},"logicalName":"oracle_scene","displayName":"oracle_scene","title":"oracle_scene","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_search_entities","description":"Search RPG entities (spells, monsters, classes, items) across all systems","inputSchema":{"type":"object","required":["query"],"properties":{"game":{"type":"string"},"limit":{"type":"number"},"query":{"type":"string"},"system":{"type":"string"},"category":{"type":"string"}}},"logicalName":"rpg_search_entities","displayName":"rpg_search_entities","title":"rpg_search_entities","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_get_entity","description":"Get full details of a specific RPG entity by name","inputSchema":{"type":"object","required":["name"],"properties":{"game":{"type":"string"},"name":{"type":"string"},"system":{"type":"string"},"category":{"type":"string"}}},"logicalName":"rpg_get_entity","displayName":"rpg_get_entity","title":"rpg_get_entity","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_random_encounter","description":"Generate a random encounter for a system and difficulty level","inputSchema":{"type":"object","properties":{"type":{"type":"string"},"system":{"type":"string"},"difficulty":{"enum":["easy","medium","hard","deadly"],"type":"string"}}},"logicalName":"rpg_random_encounter","displayName":"rpg_random_encounter","title":"rpg_random_encounter","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_browse_category","description":"Browse entities by category with pagination","inputSchema":{"type":"object","required":["system","category"],"properties":{"game":{"type":"string"},"page":{"type":"number"},"system":{"type":"string"},"category":{"type":"string"},"pageSize":{"type":"number"}}},"logicalName":"rpg_browse_category","displayName":"rpg_browse_category","title":"rpg_browse_category","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_loot","description":"Generate random loot/treasure for a system and tier","inputSchema":{"type":"object","properties":{"tier":{"enum":["minor","major","legendary"],"type":"string"},"count":{"type":"number"},"system":{"type":"string"}}},"logicalName":"rpg_loot","displayName":"rpg_loot","title":"rpg_loot","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_list_recipes","description":"List all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts","inputSchema":{"type":"object","properties":{"game":{"type":"string"}}},"logicalName":"oracle_list_recipes","displayName":"oracle_list_recipes","title":"oracle_list_recipes","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_interpret","description":"Resolve oracle cross-references. Given a result like \"Action + Theme\", follows references and returns expanded results","inputSchema":{"type":"object","required":["result"],"properties":{"game":{"type":"string"},"result":{"type":"string"},"source_table":{"type":"string"}}},"logicalName":"oracle_interpret","displayName":"oracle_interpret","title":"oracle_interpret","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_table_view","description":"View the complete contents of an oracle table — all entries with roll ranges","inputSchema":{"type":"object","required":["table"],"properties":{"game":{"type":"string"},"table":{"type":"string"}}},"logicalName":"oracle_table_view","displayName":"oracle_table_view","title":"oracle_table_view","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"oracle_encounter","description":"Generate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)","inputSchema":{"type":"object","properties":{"system":{"enum":["dnd-5e","pathfinder-1e"],"type":"string"},"terrain":{"type":"string"},"difficulty":{"enum":["easy","medium","hard","deadly"],"type":"string"},"party_size":{"type":"number"},"party_level":{"type":"number"},"monster_type":{"type":"string"}}},"logicalName":"oracle_encounter","displayName":"oracle_encounter","title":"oracle_encounter","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_list_categories","description":"List entity categories for an RPG system (spells, monsters, classes, equipment, etc)","inputSchema":{"type":"object","properties":{"game":{"type":"string"},"system":{"type":"string"}}},"logicalName":"rpg_list_categories","displayName":"rpg_list_categories","title":"rpg_list_categories","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rpg_random","description":"Get random entities from an RPG system for inspiration or encounter prep","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"},"count":{"type":"number"},"system":{"type":"string"},"category":{"type":"string"}}},"logicalName":"rpg_random","displayName":"rpg_random","title":"rpg_random","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"ti4_random_factions","description":"Generate random faction assignments for Twilight Imperium 4th Edition","inputSchema":{"type":"object","required":["players"],"properties":{"players":{"type":"number"},"expansions":{"type":"array","items":{"type":"string"}}}},"logicalName":"ti4_random_factions","displayName":"ti4_random_factions","title":"ti4_random_factions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"ti4_draft_factions","description":"Milty-style TI4 draft with pick pools per player","inputSchema":{"type":"object","properties":{"choices":{"type":"number"},"players":{"type":"number"},"expansions":{"type":"array","items":{"type":"string"}}}},"logicalName":"ti4_draft_factions","displayName":"ti4_draft_factions","title":"ti4_draft_factions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"ti4_list_factions","description":"List all TI4 factions with colors, flags, and expansion info","inputSchema":{"type":"object","properties":{"expansions":{"type":"array","items":{"type":"string"}}}},"logicalName":"ti4_list_factions","displayName":"ti4_list_factions","title":"ti4_list_factions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"ti4_draw_objectives","description":"Draw random public objectives for TI4","inputSchema":{"type":"object","properties":{"count":{"type":"number"},"stage":{"enum":[1,2],"type":"number"},"expansions":{"type":"array","items":{"type":"string"}}}},"logicalName":"ti4_draw_objectives","displayName":"ti4_draw_objectives","title":"ti4_draw_objectives","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"ti4_draw_agendas","description":"Draw random agenda cards for TI4 political phase","inputSchema":{"type":"object","properties":{"type":{"enum":["law","directive"],"type":"string"},"count":{"type":"number"},"expansions":{"type":"array","items":{"type":"string"}}}},"logicalName":"ti4_draw_agendas","displayName":"ti4_draw_agendas","title":"ti4_draw_agendas","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"nukes_setup_generator","description":"Generate random territory/resource setup for a Nukes game","inputSchema":{"type":"object","properties":{"players":{"type":"number"}}},"logicalName":"nukes_setup_generator","displayName":"nukes_setup_generator","title":"nukes_setup_generator","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"game_nukes_combat","description":"Resolve a Nukes combat encounter between units","inputSchema":{"type":"object","required":["attacker","defender"],"properties":{"terrain":{"type":"string"},"attacker":{"type":"string"},"defender":{"type":"string"}}},"logicalName":"game_nukes_combat","displayName":"game_nukes_combat","title":"game_nukes_combat","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"colony_dice_odds","description":"Calculate settlement dice probability for Colony/Catan-style resource numbers","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string"}}},"logicalName":"colony_dice_odds","displayName":"colony_dice_odds","title":"colony_dice_odds","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"game_deck_create","description":"Create, shuffle, and optionally draw/deal from a card deck","inputSchema":{"type":"object","properties":{"draw":{"type":"number"},"type":{"enum":["standard-52","bavarian-32","hanafuda-48","mahjong-136","dominoes-28","standard-dice"],"type":"string"},"hands":{"type":"number"},"per_hand":{"type":"number"}}},"logicalName":"game_deck_create","displayName":"game_deck_create","title":"game_deck_create","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"game_deck_list_types","description":"List all available deck types with metadata","inputSchema":{"type":"object","properties":{}},"logicalName":"game_deck_list_types","displayName":"game_deck_list_types","title":"game_deck_list_types","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"game_deck_deal","description":"Shuffle and deal a custom deck of arbitrary named cards","inputSchema":{"type":"object","required":["cards"],"properties":{"draw":{"type":"number"},"cards":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"quantity":{"type":"number","default":1}}}},"hands":{"type":"number"},"per_hand":{"type":"number"}}},"logicalName":"game_deck_deal","displayName":"game_deck_deal","title":"game_deck_deal","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"game_score_tracker","description":"Track scores for players in any game","inputSchema":{"type":"object","required":["players"],"properties":{"game":{"type":"string"},"scores":{"type":"array","items":{"type":"number"}},"players":{"type":"array","items":{"type":"string"}}}},"logicalName":"game_score_tracker","displayName":"game_score_tracker","title":"game_score_tracker","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"talisman_draw_characters","description":"Draw random characters from the Talisman 4e (revised) base set for a character lottery","inputSchema":{"type":"object","properties":{"count":{"type":"number"}}},"logicalName":"talisman_draw_characters","displayName":"talisman_draw_characters","title":"talisman_draw_characters","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"talisman_draw_encounter","description":"Draw a random encounter for a Talisman ring (outer, middle, inner, crown)","inputSchema":{"type":"object","properties":{"ring":{"enum":["outer","middle","inner","crown"],"type":"string"}}},"logicalName":"talisman_draw_encounter","displayName":"talisman_draw_encounter","title":"talisman_draw_encounter","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"jam_status","description":"Get the current Mod Jam status (active jam, deadline, submissions)","inputSchema":{"type":"object","properties":{}},"logicalName":"jam_status","displayName":"jam_status","title":"jam_status","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"jam_timer","description":"Get time remaining in the current Mod Jam","inputSchema":{"type":"object","properties":{}},"logicalName":"jam_timer","displayName":"jam_timer","title":"jam_timer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"jam_vote","description":"Get voting status for the current Mod Jam","inputSchema":{"type":"object","properties":{}},"logicalName":"jam_vote","displayName":"jam_vote","title":"jam_vote","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"dice_roll","description":"Roll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3).","inputSchema":{"type":"object","properties":{"count":{"type":"number"},"notation":{"type":"string"},"expression":{"type":"string"}}},"logicalName":"dice_roll","displayName":"dice_roll","title":"dice_roll","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"coin_flip","description":"Flip one or more coins, or pick from a list of choices","inputSchema":{"type":"object","properties":{"count":{"type":"number"},"choices":{"type":"string"}}},"logicalName":"coin_flip","displayName":"coin_flip","title":"coin_flip","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"team_split","description":"Randomly divide players into teams","inputSchema":{"type":"object","required":["players"],"properties":{"count":{"type":"number"},"teams":{"type":"number"},"members":{"type":"string"},"players":{"type":"array","items":{"type":"string"}}}},"logicalName":"team_split","displayName":"team_split","title":"team_split","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"random_player_order","description":"Randomise turn order for a list of players","inputSchema":{"type":"object","required":["players"],"properties":{"players":{"type":"array","items":{"type":"string"}}}},"logicalName":"random_player_order","displayName":"random_player_order","title":"random_player_order","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"timer_suggest","description":"Suggest time controls for a game based on player count and complexity","inputSchema":{"type":"object","required":["game"],"properties":{"game":{"type":"string"},"players":{"type":"number"}}},"logicalName":"timer_suggest","displayName":"timer_suggest","title":"timer_suggest","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"game_jam_theme","description":"Generate a random game jam theme combining mechanics and themes","inputSchema":{"type":"object","properties":{"count":{"type":"number"}}},"logicalName":"game_jam_theme","displayName":"game_jam_theme","title":"game_jam_theme","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"dice_odds","description":"Calculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3).","inputSchema":{"type":"object","required":["expression","target"],"properties":{"target":{"type":"number"},"comparison":{"enum":[">=",">","<=","<","="],"type":"string"},"expression":{"type":"string"}}},"logicalName":"dice_odds","displayName":"dice_odds","title":"dice_odds","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Creating-games-you-already-own&config=eyJ1cmwiOiAiaHR0cHM6Ly90b29scy5tb2RkYWJsZS5nYW1lcy9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Creating-games-you-already-own%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ftools.moddable.games%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Creating-games-you-already-own%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ftools.moddable.games%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Creating+games+you+already+own&connectorUrl=https%3A%2F%2Ftools.moddable.games%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Creating-games-you-already-own\" --url \"https://tools.moddable.games/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/tools-mcp-b45a0c40a0","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/tools-mcp-b45a0c40a0/tools/{tool}","mcpServerUrl":"https://tools.moddable.games/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/tools-mcp-b45a0c40a0?live=1"}