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)