protogrid

Search / games.moddable.tools/moddable-games-tools

Moddable Games Tools

R0· no sign-in

15 tools for chess variant analysis, hex map generation, and board game utilities

v1.1.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality63needs work
Trust85of 100
Uptime, 30 days93%
Latency p50402 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "moddable-games-tools": {
      "type": "http",
      "url": "https://tools.moddable.games/mcp"
    }
  }
}
claude mcp add --transport http moddable-games-tools https://tools.moddable.games/mcp
[mcp_servers.moddable-games-tools]
url = "https://tools.moddable.games/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "moddable-games-tools": {
      "type": "remote",
      "url": "https://tools.moddable.games/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "moddable-games-tools": {
      "type": "http",
      "url": "https://tools.moddable.games/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=moddable-games-tools&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdG9vbHMubW9kZGFibGUuZ2FtZXMvbWNwIn0%3D"
}
{
  "servers": {
    "moddable-games-tools": {
      "type": "http",
      "url": "https://tools.moddable.games/mcp"
    }
  }
}
{
  "mcpServers": {
    "moddable-games-tools": {
      "httpUrl": "https://tools.moddable.games/mcp"
    }
  }
}
extensions:
  "moddable-games-tools":
    enabled: true
    name: "moddable-games-tools"
    type: streamable_http
    uri: "https://tools.moddable.games/mcp"
    timeout: 300

Quality 63 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: chess_validate_move (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); hex_list_games (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); ti4_random_factions (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 7,697 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes11 tool changes in 30 days
  • fail
    stability.rug_pull5 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

89 tools, about 7,697 tokens to load them all · tool set 37d90c66408c · tools last changed 2026-09-29 · checked 2026-10-20 10:35 UTC

Tool changes

  • chess_generate_puzzlechangedinput schema
  • board_gallery_searchchangeddescription
    before

    Search the board gallery (334 rendered board layouts across 33 game families)

    after · 69% of words in common

    Search the board gallery (335 rendered board layouts across 34 game families)

  • play_load_fenchangeddescription, input schemameaning changed
    before

    Create a game state from a FEN-style position string. Works for all 10 families.

    after · 31% of words in common

    Create a game from a FEN-style setup string, as returned by play_export_fen. Pass the same variant the position was exported from.

  • play_export_fenchangeddescriptionmeaning changed
    before

    Export the current board position as a FEN-style notation string. Works for all 10 families (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game).

    after · 22% of words in common

    Export 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_render_boardchangeddescriptionmeaning changed
    before

    Render the current board position as SVG for any playable family (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game).

    after · 44% of words in common

    Render 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).

  • play_suggest_movechangeddescription
    before

    Use AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 10 playable families.

    after · 90% of words in common

    Use AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families.

  • play_create_gamechangedinput schema
  • play_get_definitionchangedinput schema
  • play_list_variantschangedinput schema
  • play_list_familieschangeddescriptionmeaning changed
    before

    List all playable game families supported by the engine (chess, draughts, go, reversi, shogi, xiangqi, mancala, morris, hex, landlords-game)

    after · 40% of words in common

    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)

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 85 / 100

provenance75
liveness97
freshness65
hygiene100

+repository +dns-namespace +reachable +uptime-93% ~updated-132d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://tools.moddable.games/mcp streamable-httpnoneyes93%402 ms2025-03-262026-10-20

Tools (89)

board_gallery_getGet details of a specific board layout by ID
board_gallery_searchSearch the board gallery (335 rendered board layouts across 34 game families)
board_gallery_statsGet statistics about the board gallery (total boards, families, topologies)
chess_analyze_position[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0.
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_get_legal_moves[DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0.
chess_get_opening_book[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement.
chess_get_status[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0.
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_make_move[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0.
chess_make_moves[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0.
chess_render_svg[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0.
chess_validate_move[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0.
coin_flipFlip one or more coins, or pick from a list of choices
colony_dice_oddsCalculate settlement dice probability for Colony/Catan-style resource numbers
dice_oddsCalculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3).
dice_rollRoll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3).
game_deck_createCreate, shuffle, and optionally draw/deal from a card deck
game_deck_dealShuffle and deal a custom deck of arbitrary named cards
game_deck_list_typesList all available deck types with metadata
game_jam_themeGenerate a random game jam theme combining mechanics and themes
game_nukes_combatResolve a Nukes combat encounter between units
game_score_trackerTrack scores for players in any game
hex_compute_fovCompute field of view from a hex position
hex_export_svgGenerate a hex map and export as SVG
hex_generate_mapGenerate a hex map for a specific game and player count
hex_get_infoGet info about a specific hex coordinate (terrain, neighbours, distance)
hex_list_gamesList all available hex map game types with configuration options
hex_pathfindFind shortest path between two hex coordinates
jam_statusGet the current Mod Jam status (active jam, deadline, submissions)
jam_timerGet time remaining in the current Mod Jam
jam_voteGet voting status for the current Mod Jam
nukes_setup_generatorGenerate random territory/resource setup for a Nukes game
oracle_askAsk the oracle a yes/no question with likelihood modifier
oracle_encounterGenerate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)
oracle_interpretResolve oracle cross-references. Given a result like "Action + Theme", follows references and returns expanded results
oracle_list_gamesList all supported RPG systems with oracle tables and entity data availability
oracle_list_recipesList all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts
oracle_list_tablesList available oracle tables for a system
oracle_rollRoll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)
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.
oracle_table_viewView the complete contents of an oracle table — all entries with roll ranges
piece_gallery_get_setGet full details and piece list for a specific set
piece_gallery_searchSearch the piece set gallery by name, style, or game type
piece_gallery_statsGet statistics about the piece gallery (total sets, styles, authors, game families)
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_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_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_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_get_movesGet all legal moves for the current position. Requires state from play_create_game or play_apply_move.
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, agon, asalto, chaupar, dou-shou-qi, fanorona, halma, nyout, pachisi, royal-ur, senet, stern-halma, surakarta, tafl)
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_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_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.
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, standard-dice, agon, asalto, chaupar, dou-shou-qi, fanorona, halma, nyout, pachisi, royal-ur, senet, stern-halma, surakarta, tafl).
play_suggest_moveUse AI to analyse the position and suggest the best move. Supports 5 difficulty levels across all 30 playable families.
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.
random_player_orderRandomise turn order for a list of players
rpg_browse_categoryBrowse entities by category with pagination
rpg_chargenGenerate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)
rpg_get_entityGet full details of a specific RPG entity by name
rpg_list_categoriesList entity categories for an RPG system (spells, monsters, classes, equipment, etc)
rpg_lootGenerate random loot/treasure for a system and tier
rpg_randomGet random entities from an RPG system for inspiration or encounter prep
rpg_random_encounterGenerate a random encounter for a system and difficulty level
rpg_search_entitiesSearch RPG entities (spells, monsters, classes, items) across all systems
rules_get_diagramGet board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.
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_variantGet rules for a specific game variant
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_list_gamesList all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.
rules_randomGet a random game suggestion from the library
rules_searchFull-text search across all published rulebooks. Returns section-typed results with deep-link anchors.
talisman_draw_charactersDraw random characters from the Talisman 4e (revised) base set for a character lottery
talisman_draw_encounterDraw a random encounter for a Talisman ring (outer, middle, inner, crown)
team_splitRandomly divide players into teams
ti4_draft_factionsMilty-style TI4 draft with pick pools per player
ti4_draw_agendasDraw random agenda cards for TI4 political phase
ti4_draw_objectivesDraw random public objectives for TI4
ti4_list_factionsList all TI4 factions with colors, flags, and expansion info
ti4_random_factionsGenerate random faction assignments for Twilight Imperium 4th Edition
tile_gallery_getGet details of a specific tile set with all tile types
tile_gallery_searchSearch hex tile sets by name, game, or terrain type
tile_gallery_statsGet statistics about available tile sets
timer_suggestSuggest time controls for a game based on player count and complexity

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "games.moddable.tools/moddable-games-tools",
  "title": "Moddable Games Tools",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://tools.moddable.games/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.1.0",
  "repository": {
    "url": "https://github.com/Moddable-Games/moddable-website",
    "source": "github"
  },
  "description": "15 tools for chess variant analysis, hex map generation, and board game utilities"
}