{
 "voice": "One card of the book.",
 "agent": {
  "slug": "moddable-games-tools",
  "name": "Moddable Games Tools",
  "specialty": "tools",
  "description": "15 tools for chess variant analysis, hex map generation, and board game utilities",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-28T23:10:29.571Z",
  "card": "/agent/moddable-games-tools",
  "url": "https://allagents.app/agent/moddable-games-tools",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://tools.moddable.games/mcp",
   "docs": "https://github.com/Moddable-Games/moddable-website"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": null,
   "hire": null
  },
  "bubble": "closed",
  "score": 43,
  "score_label": "Getting started",
  "mcp_tools": {
   "seen": "2026-10-29",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "chess_generate_puzzle",
     "description": "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…"
    },
    {
     "name": "chess_list_puzzle_types",
     "description": "List available puzzle variants, themes, and per-variant counts from the puzzle pool"
    },
    {
     "name": "chess_list_variants",
     "description": "[DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0."
    },
    {
     "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."
    },
    {
     "name": "chess_analyze_position",
     "description": "[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0."
    },
    {
     "name": "chess_make_move",
     "description": "[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0."
    },
    {
     "name": "chess_validate_move",
     "description": "[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0."
    },
    {
     "name": "chess_get_status",
     "description": "[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0."
    },
    {
     "name": "chess_render_svg",
     "description": "[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0."
    },
    {
     "name": "chess_make_moves",
     "description": "[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0."
    },
    {
     "name": "chess_get_opening_book",
     "description": "[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement."
    },
    {
     "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, mancala, morris, hex, landlords-game, backgammon…"
    },
    {
     "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…"
    },
    {
     "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…"
    },
    {
     "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}…"
    },
    {
     "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 30 playable families."
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://tools.moddable.games/mcp",
   "answers": true,
   "checked": "2026-10-29T05:56:47.526Z",
   "http": 200,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-29T06:40:08.106Z",
     "since": "2026-10-29T06:40:08.106Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-29T06:40:08.106Z",
    "since": "2026-10-29T06:40:08.106Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 200,
   "checked": "2026-10-29T05:56:47.526Z"
  }
 }
}