MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · AI / LLM tooling

Moddable Games Tools

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

Checks passed
11 / 22

3 failed · 8 not measured

Median response
71 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
89

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
410
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 71 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-03-26, serverInfo.name moddable-tools.

  • Pass
    Lists tools

    tools/list returned 89 tools.

  • Fail
    Current protocol

    Negotiated 2025-03-26. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 71 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 71 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    180 of 193 parameters have a description (93%). The bar is 80%.

  • Fail
    Safety hints

    89 tools set neither readOnlyHint nor destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Fail
    Website matches publisher

    The website host does not match the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-06-10T17:34:17.738794Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using Moddable Games Tools

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http moddable-games-tools https://tools.moddable.games/mcp

Capabilities

Tools 89

board_gallery_get

Get details of a specific board layout by ID

Discovered
board_gallery_search

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

Discovered
board_gallery_stats

Get statistics about the board gallery (total boards, families, topologies)

Discovered
chess_analyze_position

[DEPRECATED — use play_suggest_move] Analyse a chess position. Removal: v1.0.0.

Discovered
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.

Discovered
chess_get_legal_moves

[DEPRECATED — use play_create_game + play_get_moves] Get legal moves for a chess position. Removal: v1.0.0.

Discovered
chess_get_opening_book

[REMOVED — engine#98] Opening book resolution is broken in Worker context. No replacement.

Discovered
chess_get_status

[DEPRECATED — use play_check_status] Get chess game status. Removal: v1.0.0.

Discovered
chess_list_puzzle_types

List available puzzle variants, themes, and per-variant counts from the puzzle pool

Discovered
chess_list_variants

[DEPRECATED — use play_list_variants] List chess variants. Removal: v1.0.0.

Discovered
chess_make_move

[DEPRECATED — use play_apply_move] Apply a move to a chess game. Removal: v1.0.0.

Discovered
chess_make_moves

[DEPRECATED — use play_make_moves] Apply a sequence of chess moves. Removal: v1.0.0.

Discovered
chess_render_svg

[DEPRECATED — use play_render_board] Render a chess position as SVG. Removal: v1.0.0.

Discovered
chess_validate_move

[DEPRECATED — use play_validate_move] Check if a chess move is legal. Removal: v1.0.0.

Discovered
coin_flip

Flip one or more coins, or pick from a list of choices

Discovered
colony_dice_odds

Calculate settlement dice probability for Colony/Catan-style resource numbers

Discovered
dice_odds

Calculate probability of meeting a target with a dice expression. Supports keep-high/low (4d6kh3).

Discovered
dice_roll

Roll dice using standard notation (e.g. 2d6+3, 4d8, d20). Supports comma-separated pools and keep-high/low (4d6kh3).

Discovered
game_deck_create

Create, shuffle, and optionally draw/deal from a card deck

Discovered
game_deck_deal

Shuffle and deal a custom deck of arbitrary named cards

Discovered
game_deck_list_types

List all available deck types with metadata

Discovered
game_jam_theme

Generate a random game jam theme combining mechanics and themes

Discovered
game_nukes_combat

Resolve a Nukes combat encounter between units

Discovered
game_score_tracker

Track scores for players in any game

Discovered
hex_compute_fov

Compute field of view from a hex position

Discovered
hex_export_svg

Generate a hex map and export as SVG

Discovered
hex_generate_map

Generate a hex map for a specific game and player count

Discovered
hex_get_info

Get info about a specific hex coordinate (terrain, neighbours, distance)

Discovered
hex_list_games

List all available hex map game types with configuration options

Discovered
hex_pathfind

Find shortest path between two hex coordinates

Discovered
jam_status

Get the current Mod Jam status (active jam, deadline, submissions)

Discovered
jam_timer

Get time remaining in the current Mod Jam

Discovered
jam_vote

Get voting status for the current Mod Jam

Discovered
nukes_setup_generator

Generate random territory/resource setup for a Nukes game

Discovered
oracle_ask

Ask the oracle a yes/no question with likelihood modifier

Discovered
oracle_encounter

Generate a tabletop RPG encounter with CR-appropriate monsters, terrain, and loot (D&D 5e or Pathfinder 1e)

Discovered
oracle_interpret

Resolve oracle cross-references. Given a result like "Action + Theme", follows references and returns expanded results

Discovered
oracle_list_games

List all supported RPG systems with oracle tables and entity data availability

Discovered
oracle_list_recipes

List all predefined scene recipes — curated multi-table compositions that produce coherent narrative prompts

Discovered
oracle_list_tables

List available oracle tables for a system

Discovered
oracle_roll

Roll on a random oracle table (Ironsworn, Starforged, Maze Rats, etc)

Discovered
oracle_scene

Generate 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.

Discovered
oracle_table_view

View the complete contents of an oracle table — all entries with roll ranges

Discovered
piece_gallery_get_set

Get full details and piece list for a specific set

Discovered
piece_gallery_search

Search the piece set gallery by name, style, or game type

Discovered
piece_gallery_stats

Get statistics about the piece gallery (total sets, styles, authors, game families)

Discovered
play_apply_move

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"}).

Discovered
play_check_status

Check the current game status: whose turn it is, whether the game is over, and who won.

Discovered
play_create_game

Create 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".

Discovered
play_export_fen

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.

Discovered
play_get_definition

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.

Discovered
play_get_moves

Get all legal moves for the current position. Requires state from play_create_game or play_apply_move.

Discovered
play_list_families

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)

Discovered
play_list_variants

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".

Discovered
play_load_fen

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

Discovered
play_make_moves

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.

Discovered
play_render_board

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

Discovered
play_suggest_move

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

Discovered
play_validate_move

Check 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.

Discovered
random_player_order

Randomise turn order for a list of players

Discovered
rpg_browse_category

Browse entities by category with pagination

Discovered
rpg_chargen

Generate a random character for an RPG system (D&D 5e, Pathfinder, Ironsworn, Cairn, Knave, etc)

Discovered
rpg_get_entity

Get full details of a specific RPG entity by name

Discovered
rpg_list_categories

List entity categories for an RPG system (spells, monsters, classes, equipment, etc)

Discovered
rpg_loot

Generate random loot/treasure for a system and tier

Discovered
rpg_random

Get random entities from an RPG system for inspiration or encounter prep

Discovered
rpg_random_encounter

Generate a random encounter for a system and difficulty level

Discovered
rpg_search_entities

Search RPG entities (spells, monsters, classes, items) across all systems

Discovered
rules_get_diagram

Get board diagram SVG URL for a game variant. Returns the diagram path, topology, and rendering metadata.

Discovered
rules_get_game

Get full rulebook content for a specific game (markdown). For metadata only, use rules_get_game_meta instead.

Discovered
rules_get_game_meta

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.

Discovered
rules_get_page

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.

Discovered
rules_get_variant

Get rules for a specific game variant

Discovered
rules_get_variant_list

List all variants for a game with structured metadata (players, board, playable status, topology, engine config). Much richer than parsing the rulebook.

Discovered
rules_list_games

List all available game rulebooks with metadata (players, duration, complexity, mechanics). Filterable by type, complexity, and mechanics.

Discovered
rules_random

Get a random game suggestion from the library

Discovered
rules_search

Full-text search across all published rulebooks. Returns section-typed results with deep-link anchors.

Discovered
talisman_draw_characters

Draw random characters from the Talisman 4e (revised) base set for a character lottery

Discovered
talisman_draw_encounter

Draw a random encounter for a Talisman ring (outer, middle, inner, crown)

Discovered
team_split

Randomly divide players into teams

Discovered
ti4_draft_factions

Milty-style TI4 draft with pick pools per player

Discovered
ti4_draw_agendas

Draw random agenda cards for TI4 political phase

Discovered
ti4_draw_objectives

Draw random public objectives for TI4

Discovered
ti4_list_factions

List all TI4 factions with colors, flags, and expansion info

Discovered
ti4_random_factions

Generate random faction assignments for Twilight Imperium 4th Edition

Discovered
tile_gallery_get

Get details of a specific tile set with all tile types

Discovered
tile_gallery_search

Search hex tile sets by name, game, or terrain type

Discovered
tile_gallery_stats

Get statistics about available tile sets

Discovered
timer_suggest

Suggest time controls for a game based on player count and complexity

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected71 ms89