MCPサーバー

Moddable Games Tools

games.moddable.tools/moddable-games-tools
ゲーム 公開・接続可能 MCP 2026-07-28

このMCPでできること

Provides chess analysis and puzzles, board and hex-map generation, dice and probability utilities, card decks, scoring, and other board-game tools.

board_gallery_get
Get details of a specific board layout by ID
入力スキーマ
{'type': 'object', 'required': ['board'], 'properties': {'board': {'type': 'string', 'description': 'Board ID or name'}}}
board_gallery_search
Search the board gallery (335 rendered board layouts across 34 game families)
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Search term (e.g. "8x8", "hex", "shogi")'}}}
board_gallery_stats
Get statistics about the board gallery (total boards, families, topologies)
入力スキーマ
{'type': 'object', 'properties': {}}
chess_analyze_position
[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'properties': {'depth': {'type': 'number'}, 'variant': {'type': 'string'}}}
chess_generate_puzzle
Get 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.
入力スキーマ
{'type': 'object', 'properties': {'theme': {'type': 'string', 'description': 'Puzzle theme (fork, pin, skewer, mateIn2, etc). Not every variant puzzle carries themes.'}, 'variant': {'type': 'string', 'description': 'Chess variant play slug (e.g. almost-chess, benedict, fischer-random, king-of-the-hill, standard); a manifest key such as chess960 is also accepted. Returns only puzzles for this variant.'}, 'difficulty': {'enum': ['easy', 'medium', 'hard'], 'type': 'string', 'description': 'Puzzle difficulty by rating: easy under 1200, medium 1200-1799, hard 1800 and above'}}}
chess_get_legal_moves
[DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'properties': {'variant': {'type': 'string'}}}
chess_get_opening_book
[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement.
入力スキーマ
{'type': 'object', 'properties': {'variant': {'type': 'string'}}}
chess_get_status
[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'properties': {'variant': {'type': 'string'}}}
chess_list_puzzle_types
List available puzzle variants, themes, and per-variant counts from the puzzle pool
入力スキーマ
{'type': 'object', 'properties': {}}
chess_list_variants
[DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'properties': {'group': {'type': 'string'}}}
chess_make_move
[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'required': ['move'], 'properties': {'move': {'type': 'object'}, 'variant': {'type': 'string'}}}
chess_make_moves
[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'required': ['moves'], 'properties': {'moves': {'type': 'array', 'items': {'type': 'object'}}, 'variant': {'type': 'string'}}}
chess_render_svg
[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'properties': {'fen': {'type': 'string', 'description': 'FEN position string'}, 'variant': {'type': 'string'}, 'highlights': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Squares to highlight (e.g. ["e2","e4"])'}}}
chess_validate_move
[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0.
入力スキーマ
{'type': 'object', 'required': ['move'], 'properties': {'move': {'type': 'object'}, 'variant': {'type': 'string'}}}
coin_flip
Flip one or more coins, or pick from a list of choices
入力スキーマ
{'type': 'object', 'properties': {'count': {'type': 'number', 'description': 'Number of coins (default 1)'}, 'choices': {'type': 'string', 'description': 'Comma-separated options to pick from (overrides coin flip)'}}}
colony_dice_odds
Calculate settlement dice probability for Colony/Catan-style resource numbers
入力スキーマ
{'type': 'object', 'required': ['numbers'], 'properties': {'numbers': {'type': 'string', 'description': 'Settlement numbers, comma-separated (e.g. "5,6,8,9")'}}}
dice_odds
Calculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3).
入力スキーマ
{'type': 'object', 'required': ['expression', 'target'], 'properties': {'target': {'type': 'number', 'description': 'Target number to meet or exceed'}, 'comparison': {'enum': ['>=', '>', '<=', '<', '='], 'type': 'string', 'description': 'Comparison (default >=)'}, 'expression': {'type': 'string', 'description': 'Dice expression (e.g. 2d6, 4d6kh3)'}}}
dice_roll
Roll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3).
入力スキーマ
{'type': 'object', 'properties': {'count': {'type': 'number', 'description': 'Number of times to roll (default 1)'}, 'notation': {'type': 'string', 'description': 'Dice notation (e.g. 2d6+3, 4d6kh3, 3d8,1d12+2)'}, 'expression': {'type': 'string', 'description': 'Alias for notation'}}}
game_deck_create
Create, shuffle, and optionally draw/deal from a card deck
入力スキーマ
{'type': 'object', 'properties': {'draw': {'type': 'number', 'description': 'Number of cards to draw'}, 'type': {'enum': ['standard-52', 'bavarian-32', 'hanafuda-48', 'mahjong-136', 'dominoes-28', 'standard-dice'], 'type': 'string', 'description': 'Deck type (default: standard-52)'}, 'hands': {'type': 'number', 'description': 'Deal into N hands'}, 'per_hand': {'type': 'number', 'description': 'Cards per hand (default: 5)'}}}
game_deck_deal
Shuffle and deal a custom deck of arbitrary named cards
入力スキーマ
{'type': 'object', 'required': ['cards'], 'properties': {'draw': {'type': 'number', 'description': 'Draw N cards from the top instead of dealing hands'}, 'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'quantity': {'type': 'number', 'default': 1}}}, 'description': 'Cards in the deck (name + optional quantity)'}, 'hands': {'type': 'number', 'description': 'Deal into N hands (default: 1 = draw pile only)'}, 'per_hand': {'type': 'number', 'description': 'Cards per hand (default: 5)'}}}
game_deck_list_types
List all available deck types with metadata
入力スキーマ
{'type': 'object', 'properties': {}}
game_jam_theme
Generate a random game jam theme combining mechanics and themes
入力スキーマ
{'type': 'object', 'properties': {'count': {'type': 'number', 'description': 'Number of themes to generate (default 3)'}}}
game_nukes_combat
Resolve a Nukes combat encounter between units
入力スキーマ
{'type': 'object', 'required': ['attacker', 'defender'], 'properties': {'terrain': {'type': 'string', 'description': 'Terrain type (plains, forest, mountain, urban)'}, 'attacker': {'type': 'string', 'description': 'Attacking unit type'}, 'defender': {'type': 'string', 'description': 'Defending unit type'}}}
game_score_tracker
Track scores for players in any game
入力スキーマ
{'type': 'object', 'required': ['players'], 'properties': {'game': {'type': 'string', 'description': 'Game name'}, 'scores': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Scores (default: all 0)'}, 'players': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Player names'}}}
hex_compute_fov
Compute field of view from a hex position
入力スキーマ
{'type': 'object', 'required': ['q', 'r', 'range'], 'properties': {'q': {'type': 'number', 'description': 'Origin Q coordinate'}, 'r': {'type': 'number', 'description': 'Origin R coordinate'}, 'game': {'type': 'string', 'description': 'Game context for obstacle lookup'}, 'seed': {'type': 'string', 'description': 'Map seed'}, 'range': {'type': 'number', 'description': 'Vision range in hexes'}}}
hex_export_svg
Generate a hex map and export as SVG
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game type'}, 'seed': {'type': 'string', 'description': 'Random seed'}, 'size': {'type': 'number', 'description': 'Map size'}, 'style': {'type': 'string', 'description': 'Visual style'}, 'hexSize': {'type': 'number', 'description': 'Hex size in pixels (default: 30)'}, 'players': {'type': 'number', 'description': 'Number of players'}}}
hex_generate_map
Generate a hex map for a specific game and player count
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game type (nukes, colony, catan, age-of-steam, eclipse, twilight-imperium)'}, 'seed': {'type': 'string', 'description': 'Random seed for reproducibility'}, 'size': {'type': 'number', 'description': 'Map size (default: game default)'}, 'players': {'type': 'number', 'description': 'Number of players (default: 2)'}}}
hex_get_info
Get info about a specific hex coordinate (terrain, neighbours, distance)
入力スキーマ
{'type': 'object', 'required': ['q', 'r'], 'properties': {'q': {'type': 'number', 'description': 'Hex Q coordinate (column)'}, 'r': {'type': 'number', 'description': 'Hex R coordinate (row)'}, 'game': {'type': 'string', 'description': 'Game context for terrain lookup'}, 'seed': {'type': 'string', 'description': 'Map seed (to look up terrain from a generated map)'}}}
hex_list_games
List all available hex map game types with configuration options
入力スキーマ
{'type': 'object', 'properties': {}}
hex_pathfind
Find shortest path between two hex coordinates
入力スキーマ
{'type': 'object', 'required': ['startQ', 'startR', 'endQ', 'endR'], 'properties': {'endQ': {'type': 'number', 'description': 'End Q'}, 'endR': {'type': 'number', 'description': 'End R'}, 'game': {'type': 'string', 'description': 'Game context for movement costs'}, 'seed': {'type': 'string', 'description': 'Map seed'}, 'startQ': {'type': 'number', 'description': 'Start Q'}, 'startR': {'type': 'number', 'description': 'Start R'}}}
jam_status
Get the current Mod Jam status (active jam, deadline, submissions)
入力スキーマ
{'type': 'object', 'properties': {}}
jam_timer
Get time remaining in the current Mod Jam
入力スキーマ
{'type': 'object', 'properties': {}}
jam_vote
Get voting status for the current Mod Jam
入力スキーマ
{'type': 'object', 'properties': {}}
nukes_setup_generator
Generate random territory/resource setup for a Nukes game
入力スキーマ
{'type': 'object', 'properties': {'players': {'type': 'number', 'description': 'Number of players (2-6, default: 2)'}}}
oracle_ask
Ask the oracle a yes/no question with likelihood modifier
入力スキーマ
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': 'Yes/no question'}, 'likelihood': {'enum': ['certain', 'likely', 'even', 'unlikely', 'impossible'], 'type': 'string', 'description': 'How likely is yes? (default: even)'}}}
oracle_encounter
Generate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)
入力スキーマ
{'type': 'object', 'properties': {'system': {'enum': ['dnd-5e', 'pathfinder-1e'], 'type': 'string', 'description': 'Game system (default: dnd-5e)'}, 'terrain': {'type': 'string', 'description': 'Terrain type (omit for random)'}, 'difficulty': {'enum': ['easy', 'medium', 'hard', 'deadly'], 'type': 'string', 'description': 'Encounter difficulty (default: medium)'}, 'party_size': {'type': 'number', 'description': 'Number of players 1-10 (default: 4)'}, 'party_level': {'type': 'number', 'description': 'Average party level 1-20 (default: 5)'}, 'monster_type': {'type': 'string', 'description': 'Filter by type (undead, dragon, beast, etc)'}}}
oracle_interpret
Resolve oracle cross-references. Given a result like "Action + Theme", follows references and returns expanded results
入力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'game': {'type': 'string', 'description': 'Game system (default: starforged)'}, 'result': {'type': 'string', 'description': 'Oracle result text to interpret'}, 'source_table': {'type': 'string', 'description': 'Table ID the result came from'}}}
oracle_list_games
List all supported RPG systems with oracle tables and entity data availability
入力スキーマ
{'type': 'object', 'properties': {}}
oracle_list_recipes
List all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts
入力スキーマ
{'type': 'object', 'properties': {'game': {'type': 'string', 'description': 'Filter by game system (omit for all)'}}}
oracle_list_tables
List available oracle tables for a system
入力スキーマ
{'type': 'object', 'required': ['system'], 'properties': {'system': {'type': 'string', 'description': 'RPG system slug'}}}
oracle_roll
Roll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)
入力スキーマ
{'type': 'object', 'required': ['system'], 'properties': {'table': {'type': 'string', 'description': 'Specific table name (omit for random)'}, 'system': {'type': 'string', 'description': 'RPG system slug (ironsworn, starforged, maze-rats, cairn, knave, fate-core)'}}}
oracle_scene
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.
入力スキーマ
{'type': 'object', 'properties': {'type': {'enum': ['location', 'npc', 'event', 'combat'], 'type': 'string', 'description': 'Scene type for random mode (default: event)'}, 'recipe': {'type': 'string', 'description': 'Recipe ID (from oracle_list_recipes) — rolls each table in the recipe'}, 'region': {'enum': ['terminus', 'outlands', 'expanse'], 'type': 'string', 'description': 'Region for Starforged region-aware recipes'}, 'system': {'type': 'string', 'description': 'RPG system slug (default: ironsworn)'}}}
oracle_table_view
View the complete contents of an oracle table — all entries with roll ranges
入力スキーマ
{'type': 'object', 'required': ['table'], 'properties': {'game': {'type': 'string', 'description': 'Game system (default: starforged)'}, 'table': {'type': 'string', 'description': 'Table ID to view'}}}
piece_gallery_get_set
Get full details and piece list for a specific set
入力スキーマ
{'type': 'object', 'required': ['set'], 'properties': {'set': {'type': 'string', 'description': 'Set name or ID'}}}
piece_gallery_search
Search the piece set gallery by name, style, or game type
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Search term (e.g. "staunton", "pixel", "shogi")'}, 'family': {'type': 'string', 'description': 'Filter by game family (chess, shogi, xiangqi, draughts, go, etc)'}}}
piece_gallery_stats
Get statistics about the piece gallery (total sets, styles, authors, game families)
入力スキーマ
{'type': 'object', 'properties': {}}
play_apply_move
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"}).
入力スキーマ
{'type': 'object', 'required': ['state', 'move'], 'properties': {'move': {'type': 'object', 'description': 'Move object from play_get_moves (e.g. {from:"e2",to:"e4"} for chess, {coord:40} for go, {action:"pass"})'}, 'state': {'type': 'object', 'description': 'Game state object from play_create_game or a previous play_apply_move'}}}
play_check_status
Check the current game status: whose turn it is, whether the game is over, and who won.
入力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'object', 'description': 'Game state object from play_create_game or play_apply_move'}}}
play_create_game
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".
入力スキーマ
{'type': 'object', 'required': ['family'], 'properties': {'family': {'type': 'string', 'description': 'Game family name (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)'}, 'rngSeed': {'type': 'number', 'description': 'Optional RNG seed for deterministic games'}, 'variant': {'type': 'string', 'description': 'Variant slug, optionally with flags (e.g. "grand", "grand+random", "standard+drops")'}}}
play_export_fen
Export 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.
入力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'object', 'description': 'Game state object from play_create_game or play_apply_move'}}}
play_get_definition
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.
入力スキーマ
{'type': 'object', 'required': ['family'], 'properties': {'family': {'type': 'string', 'description': 'Game 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)'}, 'variant': {'type': 'string', 'description': "Variant slug (default: the family's default game)"}}}
play_get_moves
Get all legal moves for the current position. Requires state from play_create_game or play_apply_move.
入力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'object', 'description': 'Game state object returned by play_create_game or play_apply_move'}}}
play_list_families
List 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)
入力スキーマ
{'type': 'object', 'properties': {}}
play_list_variants
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".
入力スキーマ
{'type': 'object', 'required': ['family'], 'properties': {'family': {'type': 'string', 'description': 'Game 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)'}}}
play_load_fen
Create a game from a FEN-style setup string, as returned by play_export_fen. Pass the same variant the position was exported from.
入力スキーマ
{'type': 'object', 'required': ['family', 'fen'], 'properties': {'fen': {'type': 'string', 'description': 'Position string in FEN-style notation for the family'}, 'family': {'type': 'string', 'description': 'Game 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)'}, 'variant': {'type': 'string', 'description': "Optional variant slug (default: the family's default game)"}}}
play_make_moves
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.
入力スキーマ
{'type': 'object', 'required': ['state', 'moves'], 'properties': {'moves': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Array of move objects in the format returned by play_get_moves'}, 'state': {'type': 'object', 'description': 'Game state object from play_create_game or play_apply_move'}}}
play_render_board
Render 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).
入力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'size': {'type': 'integer', 'description': 'Board width in pixels for PNG output (default: 480, max: 2048)'}, 'state': {'type': 'object', 'description': 'Game state object from play_create_game or play_apply_move'}, 'highlights': {'type': 'array', 'items': {'type': 'object', 'properties': {'key': {'type': 'integer'}, 'color': {'type': 'string'}}}, 'description': 'Optional cells to highlight (e.g. [{key: 52, color: "#ff0"}])'}}}
play_suggest_move
Use AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families.
入力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'object', 'description': 'Game state object from play_create_game or play_apply_move'}, 'difficulty': {'enum': ['beginner', 'easy', 'medium', 'hard', 'expert'], 'type': 'string', 'description': 'AI difficulty level (default: medium)'}}}
play_validate_move
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.
入力スキーマ
{'type': 'object', 'required': ['state', 'move'], 'properties': {'move': {'type': 'object', 'description': 'Move object to validate (same format as play_get_moves output)'}, 'state': {'type': 'object', 'description': 'Game state object from play_create_game or play_apply_move'}}}
random_player_order
Randomise turn order for a list of players
入力スキーマ
{'type': 'object', 'required': ['players'], 'properties': {'players': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Player names'}}}
rpg_browse_category
Browse entities by category with pagination
入力スキーマ
{'type': 'object', 'required': ['system', 'category'], 'properties': {'game': {'type': 'string', 'description': 'Alias for system'}, 'page': {'type': 'number', 'description': 'Page number (default 1)'}, 'system': {'type': 'string', 'description': 'System slug'}, 'category': {'type': 'string', 'description': 'Category (spell, monster, class, item, feat, etc)'}, 'pageSize': {'type': 'number', 'description': 'Items per page (default 20)'}}}
rpg_chargen
Generate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)
入力スキーマ
{'type': 'object', 'required': ['system'], 'properties': {'class': {'type': 'string', 'description': 'Class preference (omit for random)'}, 'level': {'type': 'number', 'description': 'Character level (default: 1)'}, 'system': {'type': 'string', 'description': 'RPG system (dnd-5e, pathfinder-1e, ironsworn, starforged, cairn, knave, maze-rats, dungeon-world)'}}}
rpg_get_entity
Get full details of a specific RPG entity by name
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'game': {'type': 'string', 'description': 'Alias for system'}, 'name': {'type': 'string', 'description': 'Entity name'}, 'system': {'type': 'string', 'description': 'System slug'}, 'category': {'type': 'string', 'description': 'Category filter (spells, monsters, classes, etc)'}}}
rpg_list_categories
List entity categories for an RPG system (spells, monsters, classes, equipment, etc)
入力スキーマ
{'type': 'object', 'properties': {'game': {'type': 'string', 'description': 'Game system slug (omit for all systems)'}, 'system': {'type': 'string', 'description': 'Alias for game'}}}
rpg_loot
Generate random loot/treasure for a system and tier
入力スキーマ
{'type': 'object', 'properties': {'tier': {'enum': ['minor', 'major', 'legendary'], 'type': 'string', 'description': 'Loot tier (default: minor)'}, 'count': {'type': 'number', 'description': 'Number of items (default 3)'}, 'system': {'type': 'string', 'description': 'System slug (default: dnd-5e)'}}}
rpg_random
Get random entities from an RPG system for inspiration or encounter prep
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game system slug'}, 'count': {'type': 'number', 'description': 'Number of random picks 1-10 (default: 1)'}, 'system': {'type': 'string', 'description': 'Alias for game'}, 'category': {'type': 'string', 'description': 'Category to draw from (omit for any)'}}}
rpg_random_encounter
Generate a random encounter for a system and difficulty level
入力スキーマ
{'type': 'object', 'properties': {'type': {'type': 'string', 'description': 'Monster type filter (beast, undead, fiend, dragon, etc)'}, 'system': {'type': 'string', 'description': 'System slug (default: dnd-5e)'}, 'difficulty': {'enum': ['easy', 'medium', 'hard', 'deadly'], 'type': 'string', 'description': 'Encounter difficulty'}}}
rpg_search_entities
Search RPG entities (spells, monsters, classes, items) across all systems
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'game': {'type': 'string', 'description': 'Alias for system'}, 'limit': {'type': 'number', 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Search term'}, 'system': {'type': 'string', 'description': 'Limit to system (dnd-5e, pathfinder-1e, etc)'}, 'category': {'type': 'string', 'description': 'Entity category (spell, monster, class, item)'}}}
rules_get_diagram
Get board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game family slug (e.g. chess, go, agon)'}, 'variant': {'type': 'string', 'description': 'Variant slug (default: standard)'}}}
rules_get_game
Get full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead.
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game slug (e.g. chess, dnd-5e, catan)'}}}
rules_get_game_meta
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.
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game slug (e.g. chess, backgammon, cairn)'}}}
rules_get_page
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.
入力スキーマ
{'type': 'object', 'required': ['game', 'page'], 'properties': {'game': {'type': 'string', 'description': 'Game slug (e.g. cairn, dnd-5e)'}, 'page': {'type': 'string', 'description': 'Page slug (e.g. character-creation, combat-and-difficulty)'}, 'section': {'type': 'string', 'description': 'Section name (e.g. rules, classes, spells). Default: rules'}}}
rules_get_variant
Get rules for a specific game variant
入力スキーマ
{'type': 'object', 'required': ['game', 'variant'], 'properties': {'game': {'type': 'string', 'description': 'Game slug'}, 'variant': {'type': 'string', 'description': 'Variant slug'}}}
rules_get_variant_list
List all variants for a game with structured metadata (players, board, playable status, topology, engine config). Much richer than parsing the rulebook.
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game slug (e.g. chess, backgammon, draughts)'}, 'playable': {'type': 'boolean', 'description': 'Filter to only engine-playable variants'}, 'topology': {'type': 'string', 'description': 'Filter by board topology (grid, hex, track, graph, tableau)'}}}
rules_list_games
List all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.
入力スキーマ
{'type': 'object', 'properties': {'status': {'enum': ['live', 'alpha', 'playtest'], 'type': 'string', 'description': 'Filter by status (default: all)'}, 'category': {'type': 'string', 'description': 'Filter by type (standalone, hub, classic, rpg, component, platform, mod, game)'}, 'mechanic': {'type': 'string', 'description': 'Filter by mechanic (e.g. dice, capture, hex, oracle, narrative)'}, 'complexity': {'enum': ['simple', 'moderate', 'complex'], 'type': 'string', 'description': 'Filter by complexity level'}}}
rules_random
Get a random game suggestion from the library
入力スキーマ
{'type': 'object', 'properties': {'players': {'type': 'number', 'description': 'Number of players available'}, 'maxDuration': {'type': 'number', 'description': 'Maximum game duration in minutes'}}}
rules_search
Full-text search across all published rulebooks. Returns section-typed results with deep-link anchors.
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'game': {'type': 'string', 'description': 'Limit to specific game slug'}, 'limit': {'type': 'number', 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Search query'}, 'sectionType': {'type': 'string', 'description': 'Filter by section type (general, board, pieces, setup, movement, capture, winning, special, variants)'}}}
talisman_draw_characters
Draw random characters from the Talisman 4e (revised) base set for a character lottery
入力スキーマ
{'type': 'object', 'properties': {'count': {'type': 'number', 'description': 'Number of characters to draw (2-6, default: 4)'}}}
talisman_draw_encounter
Draw a random encounter for a Talisman ring (outer, middle, inner, crown)
入力スキーマ
{'type': 'object', 'properties': {'ring': {'enum': ['outer', 'middle', 'inner', 'crown'], 'type': 'string', 'description': 'Ring to draw from (default: outer)'}}}
team_split
Randomly divide players into teams
入力スキーマ
{'type': 'object', 'required': ['players'], 'properties': {'count': {'type': 'number', 'description': 'Number of teams (default 2)'}, 'teams': {'type': 'number', 'description': 'Alias for count'}, 'members': {'type': 'string', 'description': 'Comma-separated names (alternative to array)'}, 'players': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Player names'}}}
ti4_draft_factions
Milty-style TI4 draft with pick pools per player
入力スキーマ
{'type': 'object', 'properties': {'choices': {'type': 'number', 'description': 'Factions per player to choose from (default: 3)'}, 'players': {'type': 'number', 'description': 'Number of players (3-8, default: 6)'}, 'expansions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Expansion filter (e.g. ["base","pok"]). Default: all'}}}
ti4_draw_agendas
Draw random agenda cards for TI4 political phase
入力スキーマ
{'type': 'object', 'properties': {'type': {'enum': ['law', 'directive'], 'type': 'string', 'description': 'Filter by type'}, 'count': {'type': 'number', 'description': 'Number to draw (default: 2)'}, 'expansions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Expansion filter'}}}
ti4_draw_objectives
Draw random public objectives for TI4
入力スキーマ
{'type': 'object', 'properties': {'count': {'type': 'number', 'description': 'Number to draw (default: 5)'}, 'stage': {'enum': [1, 2], 'type': 'number', 'description': 'Stage 1 or 2 (default: both)'}, 'expansions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Expansion filter'}}}
ti4_list_factions
List all TI4 factions with colors, flags, and expansion info
入力スキーマ
{'type': 'object', 'properties': {'expansions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter by expansion (e.g. ["base","pok"]). Default: all'}}}
ti4_random_factions
Generate random faction assignments for Twilight Imperium 4th Edition
入力スキーマ
{'type': 'object', 'required': ['players'], 'properties': {'players': {'type': 'number', 'description': 'Number of players (3-8)'}, 'expansions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Expansion filter (e.g. ["base","pok"]). Default: all'}}}
tile_gallery_get
Get details of a specific tile set with all tile types
入力スキーマ
{'type': 'object', 'required': ['set'], 'properties': {'set': {'type': 'string', 'description': 'Tile set ID or name'}}}
tile_gallery_search
Search hex tile sets by name, game, or terrain type
入力スキーマ
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Search term (omit to list all)'}}}
tile_gallery_stats
Get statistics about available tile sets
入力スキーマ
{'type': 'object', 'properties': {}}
timer_suggest
Suggest time controls for a game based on player count and complexity
入力スキーマ
{'type': 'object', 'required': ['game'], 'properties': {'game': {'type': 'string', 'description': 'Game name'}, 'players': {'type': 'number', 'description': 'Number of players'}}}
変更
chess_generate_puzzle
2026年10月1日2:44
変更
board_gallery_search
2026年9月29日2:51
変更
play_load_fen
2026年9月29日2:51
変更
play_export_fen
2026年9月29日2:51
変更
play_render_board
2026年9月29日2:51
変更
play_suggest_move
2026年9月29日2:51
変更
play_create_game
2026年9月29日2:51
変更
play_get_definition
2026年9月29日2:51
変更
play_list_variants
2026年9月29日2:51
変更
play_list_families
2026年9月29日2:51
変更
chess_generate_puzzle
2026年9月29日2:51
追加
dice_odds
2026年9月17日12:39
追加
game_jam_theme
2026年9月17日12:39
追加
timer_suggest
2026年9月17日12:39
追加
random_player_order
2026年9月17日12:39
追加
team_split
2026年9月17日12:39
追加
coin_flip
2026年9月17日12:39
追加
dice_roll
2026年9月17日12:39
追加
jam_vote
2026年9月17日12:39
追加
jam_timer
2026年9月17日12:39
追加
jam_status
2026年9月17日12:39
追加
talisman_draw_encounter
2026年9月17日12:39
追加
talisman_draw_characters
2026年9月17日12:39
追加
game_score_tracker
2026年9月17日12:39
追加
game_deck_deal
2026年9月17日12:39
追加
game_deck_list_types
2026年9月17日12:39
追加
game_deck_create
2026年9月17日12:39
追加
colony_dice_odds
2026年9月17日12:39
追加
game_nukes_combat
2026年9月17日12:39
追加
nukes_setup_generator
2026年9月17日12:39