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.
themevariantdifficulty
games.moddable.tools由 tools.moddable.games 發布官方發布者v1.1.0更新於 Oct 24, 2026
15 tools for chess variant analysis, hex map generation, and board game utilities
讓助理建立並操作多種棋類與桌遊對局、產生六角格地圖,並查詢桌遊規則與變體。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/games.moddable.tools%2Fmoddable-games-tools/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"moddable-games-tools": {
"type": "http",
"url": "https://tools.moddable.games/mcp"
}
}
}Creating games you already own.
A multi-page marketing site and tools platform for an open-source board game modding workshop. Ten mods. Three original games. Two open-source engines. One Discord.
Modular JS architecture: one loader (js/mg-loader.js) loads 12 shared modules + page-specific scripts. Zero inline scripts or styles.
Open http://localhost:8000/. Clean URLs, no .html extensions.
main branch, root folder<meta name="mg-base"> tag across pages to match your deploy path:Rules: No drop shadows. Pill buttons only. One RGB primary per surface. Hex grid SVG overlay on all dark heroes.
Pages load mg-loader.js (shared modules) + their own page script. Data is fetched via MG.data.get('mods') → Promise, or MG.data.get('mod', 'slug') for single items. Legacy MG.data.load(['mods','news']).then(store => {...}) still works.
tool_name custom dimension in GA4 for per-MCP-tool breakdowns.game-card__logo CSS for logo thumbnails in game/mod cards/tools/dice/ — dice roller + battle simulators for Risk, TI4, Axis & Allies, X-Wing, Blood Bowl, Memoir '44, Custom (#67)/tools/dice/#risk) for sharing/tools/nukes/, /tools/talisman/, /tools/ti/ (#62)js/mg-hexmap-embed.js) + CSS (css/tools-hexmaps.css)/engines/ section: top-level nav item, index page, Moddable Chess + Moddable Hexmaps pagesMods | Games | Engines | Tools | News | About/games/moddable-chess/ → /engines/moddable-chess/ (old URL redirects)/engines/moddable-hexmaps/ showcase page (green accent, no embed yet — pending hexmaps#7)data/engines.json as data source for engine listingsteamSlug field to all news posts — author rendered from team.json, not hardcodedbuild/gen-mod-og.py (reads mods.json), build/gen-tools-og.pylogo field to mods.json, logos display on cards, detail heroes, and OG imagesgen-team-og.py, gen-mod-og.py, gen-tools-og.py, gen-remaining-og.pymg-game-dungeon-chess-page.js — orphaned file not loaded anywhere (closes #52)style="display:none" on chess tools page → CSS class with classList togglestyle:{} objects to dedicated CSS filescss/navbar.css, css/footer.css, css/cards.css (63 rules total)document.write — no per-page HTML changes neededbuild/stamp-meta.py (closes #35)Moddable-Games/moddable-chess repo — shared chess engine with 14 variantsModdable-Games/dungeon-chessmg-base meta tag neededbump.sh single-source from version.txt, footer displays version?v= on all CSS/JS loads across 52 HTML filestheme=light, boardonly=1, bg=, accent=, radius=MG.data to Promise-based API: get(name) → Promise, get(type, slug) → single item lookupready() method (unused); load() kept for backward compatdata/articles/{slug}.html partialsdata/news.jsondata/mods.json, games.json, news.json, team.json)MG.data fetch layer in mg-core.js — async load()/get() patternmg-mods-data.js, mg-games-data.js, mg-news-data.js, mg-team-data.js)MG.data.load().then() patterntext-wrap: pretty to global CSS resets for orphan preventionmg-mod-page.js + mg-mods-content.js)mg-news-article-page.js with data-toc)mg-team-data.js<script> blocks (matches no inline styles)mg-mods-data.js, mg-games-data.js)_mg.js into semantic modules (core, components, animations)MIT
來源:README.md,提交 13c0c23
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.
themevariantdifficultyList available puzzle variants, themes, and per-variant counts from the puzzle pool
無需輸入參數。
[DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0.
group[DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0.
variant[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0.
depthvariant[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0.
move必填variant[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0.
move必填variant[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0.
variant[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0.
fenvarianthighlights[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0.
moves必填variant[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement.
variantList all available hex map game types with configuration options
無需輸入參數。
Generate a hex map for a specific game and player count
game必填seedsizeplayersGenerate a hex map and export as SVG
game必填seedsizestylehexSizeplayersGet info about a specific hex coordinate (terrain, neighbours, distance)
q必填r必填gameseedCompute field of view from a hex position
q必填r必填gameseedrange必填Find shortest path between two hex coordinates
endQ必填endR必填gameseedstartQ必填startR必填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)
無需輸入參數。
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".
family必填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.
family必填variantCreate 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".
family必填rngSeedvariantGet all legal moves for the current position. Requires state from play_create_game or play_apply_move.
state必填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"}).
move必填state必填Check the current game status: whose turn it is, whether the game is over, and who won.
state必填Use AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families.
state必填difficultyRender 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).
sizestate必填highlightsExport 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.
state必填Create a game from a FEN-style setup string, as returned by play_export_fen. Pass the same variant the position was exported from.
fen必填family必填variantCheck 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.
move必填state必填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.
moves必填state必填List all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.
statuscategorymechaniccomplexityGet full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead.
game必填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.
game必填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.
game必填page必填sectionList all variants for a game with structured metadata (players, board, playable status, topology, engine config). Much richer than parsing the rulebook.
game必填playabletopologyGet board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.
game必填variantGet rules for a specific game variant
game必填variant必填Full-text search across all published rulebooks. Returns section-typed results with deep-link anchors.
gamelimitquery必填sectionTypeGet a random game suggestion from the library
playersmaxDurationSearch the board gallery (335 rendered board layouts across 34 game families)
limitqueryGet details of a specific board layout by ID
board必填Search hex tile sets by name, game, or terrain type
queryGet details of a specific tile set with all tile types
set必填Get statistics about available tile sets
無需輸入參數。
Get statistics about the board gallery (total boards, families, topologies)
無需輸入參數。
Search the piece set gallery by name, style, or game type
limitquery必填familyGet full details and piece list for a specific set
set必填Get statistics about the piece gallery (total sets, styles, authors, game families)
無需輸入參數。
List all supported RPG systems with oracle tables and entity data availability
無需輸入參數。
Generate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)
classlevelsystem必填Roll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)
tablesystem必填List available oracle tables for a system
system必填Ask the oracle a yes/no question with likelihood modifier
question必填likelihoodGenerate 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.
typereciperegionsystemSearch RPG entities (spells, monsters, classes, items) across all systems
gamelimitquery必填systemcategoryGet full details of a specific RPG entity by name
gamename必填systemcategoryGenerate a random encounter for a system and difficulty level
typesystemdifficultyBrowse entities by category with pagination
gamepagesystem必填category必填pageSizeGenerate random loot/treasure for a system and tier
tiercountsystemList all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts
gameResolve oracle cross-references. Given a result like "Action + Theme", follows references and returns expanded results
gameresult必填source_tableView the complete contents of an oracle table — all entries with roll ranges
gametable必填Generate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)
systemterraindifficultyparty_sizeparty_levelmonster_typeList entity categories for an RPG system (spells, monsters, classes, equipment, etc)
gamesystemGet random entities from an RPG system for inspiration or encounter prep
game必填countsystemcategoryGenerate random faction assignments for Twilight Imperium 4th Edition
players必填expansionsMilty-style TI4 draft with pick pools per player
choicesplayersexpansionsList all TI4 factions with colors, flags, and expansion info
expansionsDraw random public objectives for TI4
countstageexpansionsDraw random agenda cards for TI4 political phase
typecountexpansionsGenerate random territory/resource setup for a Nukes game
playersResolve a Nukes combat encounter between units
terrainattacker必填defender必填Calculate settlement dice probability for Colony/Catan-style resource numbers
numbers必填Create, shuffle, and optionally draw/deal from a card deck
drawtypehandsper_handList all available deck types with metadata
無需輸入參數。
Shuffle and deal a custom deck of arbitrary named cards
drawcards必填handsper_handTrack scores for players in any game
gamescoresplayers必填Draw random characters from the Talisman 4e (revised) base set for a character lottery
countDraw a random encounter for a Talisman ring (outer, middle, inner, crown)
ringGet the current Mod Jam status (active jam, deadline, submissions)
無需輸入參數。
Get time remaining in the current Mod Jam
無需輸入參數。
Get voting status for the current Mod Jam
無需輸入參數。
Roll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3).
countnotationexpressionFlip one or more coins, or pick from a list of choices
countchoicesRandomly divide players into teams
countteamsmembersplayers必填Randomise turn order for a list of players
players必填Suggest time controls for a game based on player count and complexity
game必填playersGenerate a random game jam theme combining mechanics and themes
countCalculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3).
target必填comparisonexpression必填已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在儲存庫或註冊中心條目中宣告授權條款。
HTML + Vanilla JS + Zero dependencies + Zero build steppython3 -m http.server 8000#d11a1a red Total conversion / Nukes#3a9928 green Rebalance / Mongo / Endless Skies#0c4f8d blue Reskin / TI tools#0a0d2a cosmicDeep Hero backgrounds#f5f4ef canvasLight Warm off-white sections (not pure white)#14161c ink Primary text on lightjs/├── mg-loader.js ← entry point, loads all modules├── mg-core.js ← tokens, el(), url(), MG.data (fetch layer)├── mg-buttons.js ← btn(), linkBtn()├── mg-cards.js ← modCard(), pageHero()├── mg-navbar.js ← navbar()├── mg-footer.js ← footer()├── mg-search.js ← global Cmd+K search├── mg-animations.js ← scroll reveal + TOC spy├── mg-mods-content.js ← mod page content (rules, components, etc.)├── mg-mod-page.js ← data-driven mod detail renderer├── mg-news-article-page.js ← shared news article renderer└── mg-*-page.js ← page-specific scripts (home, tools, etc.)
data/├── mods.json ← mod library (10 entries)├── games.json ← games (3 entries)├── engines.json ← engine listings (2 entries)├── mcp-tools.json ← MCP tool registry (50 tools, 7 namespaces)├── news.json ← news posts (13 entries)└── team.json ← team members (4 entries)