Moddable Games Tools

42 AI-callable tools for chess variant analysis (70+ variants, 1,500+ puzzles), piece gallery discovery (96 sets, 2,550 SVGs, 19 game families), hex map…

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

  • Chess List Variants: List all available chess variants with their descriptions, board sizes, and rules.
  • Chess Get Legal Moves: Get all legal moves for the current position. Returns moves in algebraic notation with annotations (capture, promotion, castling, etc).
  • Chess Analyze Position: Evaluate a chess position using the engine. Returns a score (centipawns from the side to move), best move, and the principal variation.

What data it sees

Do you need an account

No: the server works without sign-in

42 AI-callable tools for chess variant analysis (70+ variants, 1,500+ puzzles), piece gallery discovery (96 sets, 2,550 SVGs, 19 game families), hex map generation (6 games), rules library queries (24 games, 147 variants), and board game utilities. First board game engine MCP server.

How to connect

How to connect Moddable Games Tools to Claude

The server address to paste into Claude settings:

https://moddable-games-tools--mark-6qxj.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect Moddable Games Tools to ChatGPT

The server address to paste into ChatGPT settings:

https://moddable-games-tools--mark-6qxj.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect Moddable Games Tools to Cursor

The server address to paste into Cursor settings:

https://moddable-games-tools--mark-6qxj.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (42)

Raw names from tools/list. Only developers need these.

chess_list_variantsList all available chess variants with their descriptions, board sizes, and rules.
chess_get_legal_movesGet all legal moves for the current position. Returns moves in algebraic notation with annotations (capture, promotion, castling, etc).
chess_analyze_positionEvaluate a chess position using the engine. Returns a score (centipawns from the side to move), best move, and the principal variation.
chess_validate_moveCheck whether a specific move is legal in the current position. Returns legal/illegal with explanation.
chess_make_movesPlay a sequence of moves from a position and return the resulting FEN, game status, and move list.
chess_get_opening_bookLook up opening book moves for a position. Returns known good continuations from the variant opening book.
chess_render_svgRender a board position as a self-contained SVG string. No DOM or browser APIs required. Works in Cloudflare Workers.
chess_generate_puzzleServe a random chess puzzle from a pool of 1,557 pre-generated puzzles across 66 variants (plus standard). Returns position, solution, metadata, and an SVG board image. Use chess_list_puzzle_types to discover available variant:type combinations.
hex_list_gamesList all available hex map games with their map types, layouts, sizes, and style options.
hex_generate_mapGenerate a hex map for a given game. Returns the full hex grid with terrain types, coordinates, and metadata.
hex_get_infoGet detailed information about a specific hex coordinate on a generated map: terrain type, neighbors, and distances to other hexes.
hex_compute_fovCompute field-of-view from a hex position: all hexes visible within a given range, respecting line-of-sight through the grid.
hex_export_svgExport a generated hex map as an SVG string for rendering or embedding.
hex_pathfindFind the shortest path between two hexes on a generated map using breadth-first search. Optionally specify impassable terrain types.
rules_list_gamesList all game families in the Moddable Games rules library. Returns titles, player counts, variant counts, and URLs.
rules_get_gameGet full metadata and variant list for a specific game family. Returns players, duration, tagline, variant names, and rules URL.
rules_get_variantGet rules content for a specific variant within a game family. Returns headings, rules text, and direct URL.
rules_searchSearch the entire rules library by keyword. Returns matching entries ranked by relevance across all games and variants.
rules_randomPick a random game or variant from the library. Optionally constrain to a specific game family for a random variant within it.
ti4_draw_objectivesDraw random public objectives for a Twilight Imperium 4e game round. Supports expansion filtering.
ti4_draw_agendasDraw random agenda cards for a Twilight Imperium 4e agenda phase. Returns for/against text.
ti4_draft_factionsRun a Milty-style faction draft: deal N factions per player to choose from. Supports ban lists.
nukes_setup_generatorGenerate random starting positions for a Nukes game. Assigns territories to players on a generated hex map.
colony_dice_oddsCalculate probability of each resource number being rolled on 2d6. Returns the odds table and expected output for a given board position.
mancala_simulate_moveSimulate a mancala move: sow seeds from a pit and return the resulting board state. Supports Oware and Kalah rules.
mancala_legal_movesList legal moves for the current player in a mancala position.
morris_legal_movesList legal moves in a Nine Men's Morris position. Handles placement, sliding, and flying phases.
morris_detect_millCheck if a placement/move forms a mill (three in a row) in Nine Men's Morris.
ur_roll_diceRoll the four tetrahedral dice for the Royal Game of Ur. Each die has 2 marked corners (50% chance). Sum is 0-4.
ur_legal_movesList legal moves for a Royal Game of Ur position given a dice roll.
pachisi_roll_cowriesRoll cowrie shells for Pachisi/Chaupar. 6 shells, count faces up. Special values: 0 faces = 25 (grace), 1 face = 10 (grace).
piece_gallery_searchSearch and filter piece sets from the Moddable Chess piece gallery (96 sets, 2,550 SVGs across 19 game families). Filter by family, license, author, or search by name. Returns metadata for matching sets with preview URLs.
piece_gallery_get_setGet full details for a specific piece set including manifest, piece file list, direct SVG URLs, and a preview image URL. Use piece_gallery_search to find set IDs first.
piece_gallery_statsGet aggregate statistics for the piece gallery: total sets, SVG count, breakdown by family, license distribution, author list, and playable/recolorable counts.
chess_list_puzzle_typesList all available puzzle types in the pool with counts. Returns variant:type keys, total puzzles per key, and rating ranges. Use this to discover what puzzles are available before calling chess_generate_puzzle.
dice_rollRoll dice using standard notation (e.g. "2d6+3", "4d8-1", "d20"). Supports any combination of dice, modifiers, and multiple pools.
ti4_random_factionsGenerate random faction assignments for a Twilight Imperium 4e game. Supports base game and Prophecy of Kings expansion.
coin_flipFlip a coin or pick randomly from a list of options. Use for quick binary decisions or random selection.
team_splitRandomly split a list of players into balanced teams. Handles odd numbers gracefully.
jam_statusGet the current Mod Jam status: active/inactive, theme, base game, time remaining, and submission count.
jam_timerGet the countdown timer for the current Mod Jam phase (voting, building, or judging).
jam_voteGet current vote standings for the active Mod Jam vote. Returns anonymised tallies per option.