Moddable MCP server
Which servers in the official MCP registry are Moddable's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-20
- Registry namegames.moddable.tools/moddable-games-toolsverified in the MCP registry
The registry name sits under moddable.games. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-20
- Tools89
- Server calls itselfmoddable-tools
- Server version0.1.0
- Protocol version2025-03-26
On 2026-10-20 the server answered initialize and tools/list without a sign-in. First answer in 274 ms.
- Answeredmeasuring1 of the 7 daily checks it takes to print a share
- Median first answer285 ms
- Space in an agent's context≈ 8,612 tokensthe definitions of all its tools (89), which an agent carries on every turn
- Tool definitionsB · 82 of 100
- Typed results0 of 89 toolsdeclared outputSchema: results come typed, read once
- Parameters without a description: in 9 of 89
- Not saying whether it only reads or can destroy: 89 of 89
Worth a look
- Tools that change data, on a server that answers without a sign-in: play_create_game
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The state of vendors' MCP servers: method and numbers →
chess_generate_puzzleGet 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.
chess_list_puzzle_typesList available puzzle variants, themes, and per-variant counts from the puzzle pool
chess_list_variants[DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0.
chess_get_legal_moves[DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0.
chess_analyze_position[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0.
chess_make_move[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0.
chess_validate_move[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0.
chess_get_status[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0.
chess_render_svg[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0.
chess_make_moves[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0.
chess_get_opening_book[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement.
hex_list_gamesList all available hex map game types with configuration options
hex_generate_mapGenerate a hex map for a specific game and player count
hex_export_svgGenerate a hex map and export as SVG
hex_get_infoGet info about a specific hex coordinate (terrain, neighbours, distance)
hex_compute_fovCompute field of view from a hex position
hex_pathfindFind shortest path between two hex coordinates
play_list_familiesList 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…
play_list_variantsList 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".
play_get_definitionGet 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.
play_create_gameCreate 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".
play_get_movesGet all legal moves for the current position. Requires state from play_create_game or play_apply_move.
play_apply_moveApply 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"}).
play_check_statusCheck the current game status: whose turn it is, whether the game is over, and who won.
play_suggest_moveUse AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families.
play_render_boardRender 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…
play_export_fenExport 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.
play_load_fenCreate a game from a FEN-style setup string, as returned by play_export_fen. Pass the same variant the position was exported from.
play_validate_moveCheck 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.
play_make_movesApply 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.
rules_list_gamesList all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.
rules_get_gameGet full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead.
rules_get_game_metaGet 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.
rules_get_pageGet a specific page/section from a game rulebook (e.g. character creation, combat rules, marketplace). Use rules_get_game_meta to see available pages.
rules_get_variant_listList all variants for a game with structured metadata (players, board, playable status, topology, engine config). Much richer than parsing the rulebook.
rules_get_diagramGet board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.
rules_get_variantGet rules for a specific game variant
rules_searchFull-text search across all published rulebooks. Returns section-typed results with deep-link anchors.
rules_randomGet a random game suggestion from the library
board_gallery_searchSearch the board gallery (335 rendered board layouts across 34 game families)
board_gallery_getGet details of a specific board layout by ID
tile_gallery_searchSearch hex tile sets by name, game, or terrain type
tile_gallery_getGet details of a specific tile set with all tile types
tile_gallery_statsGet statistics about available tile sets
board_gallery_statsGet statistics about the board gallery (total boards, families, topologies)
piece_gallery_searchSearch the piece set gallery by name, style, or game type
piece_gallery_get_setGet full details and piece list for a specific set
piece_gallery_statsGet statistics about the piece gallery (total sets, styles, authors, game families)
oracle_list_gamesList all supported RPG systems with oracle tables and entity data availability
rpg_chargenGenerate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)
oracle_rollRoll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)
oracle_list_tablesList available oracle tables for a system
oracle_askAsk the oracle a yes/no question with likelihood modifier
oracle_sceneGenerate 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.
rpg_search_entitiesSearch RPG entities (spells, monsters, classes, items) across all systems
rpg_get_entityGet full details of a specific RPG entity by name
rpg_random_encounterGenerate a random encounter for a system and difficulty level
rpg_browse_categoryBrowse entities by category with pagination
rpg_lootGenerate random loot/treasure for a system and tier
oracle_list_recipesList all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts
The first 60 of 89, as the server listed them.
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"moddable-games-tools": {
"type": "http",
"url": "https://tools.moddable.games/mcp"
}
}
}Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.