ArcadeIndex

Find free browser games re-checked playable within 8 days, by genre, mood, age rating and players.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
82%
Qualität der Benennung
89%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~10,054Tokens (Tool-Definitionen)
~15.0 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (7.85% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "catalog": {
      "url": "https://arcadeindex.io/mcp/catalog"
    }
  }
}

Remote-Endpunkte

https://arcadeindex.io/mcp/catalogstreamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_games(query, interpret, limit, genre, exclude_genres, ...)

Find web games from a natural-language query plus optional filters (genre, mood, session length, players, quality, content rating, difficulty, inputs). Phrases like 'for kids', '2 player', 'under 10 minutes', 'not a shooter', 'easy' or 'chill' are turned into filters (echoed as interpreted_filters); explicit params win. 'like {title}' or 'similar to {title}' naming a game in the catalog returns that game's games_like results (anchor is set). Returns only published, playable games verified within the last 8 days (listing-only games with include_listing_only=true; plays=here or plays=developer_site picks one kind). content_rating_max defaults to teen. Zero results is a success with code NO_MATCHES and up to 3 executed relaxations whose args you can call again (with the tool named in tool, when set). Quote match_reasons and link play_url; render 'via ArcadeIndex' per the attribution block.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Natural-language query, e.g. 'easy 2 player game for kids'."
    },
    "interpret": {
      "default": true,
      "description": "Rule-based intent extraction (agent-api §7).",
      "type": "boolean"
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "genre": {
      "type": "string",
      "enum": [
        "action",
        "adventure",
        "arcade",
        "board-card",
        "clicker-idle",
        "driving-racing",
        "educational",
        "fighting",
        "horror",
        "io-games",
        "music-rhythm",
        "party-multiplayer",
        "physics",
        "platformer",
        "puzzle",
        "rpg",
        "shooter",
        "simulation",
        "sports",
        "strategy",
        "survival",
        "tower-defense",
        "tycoon-management",
        "word-trivia"
      ]
    },
    "exclude_genres": {
      "default": [],
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "action",
          "adventure",
          "arcade",
          "board-card",
          "clicker-idle",
          "driving-racing",
          "educational",
          "fighting",
          "horror",
          "io-games",
          "music-rhythm",
          "party-multiplayer",
          "physics",
          "platformer",
          "puzzle",
          "rpg",
          "shooter",
          "simulation",
          "sports",
          "strategy",
          "survival",
          "tower-defense",
          "tycoon-management",
          "word-trivia"
        ]
      }
    },
    "mood": {
      "default": [],
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cozy",
          "chill",
          "zen",
          "chaotic",
          "spooky",
          "competitive",
          "silly",
          "intense",
          "cute",
          "brainy",
          "satisfying",
          "atmospheric"
        ]
      }
    },
    "session_length_max": {
      "type": "integer",
      "minimum": 1,
      "maximum": 240
    },
    "players": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "multi"
      ]
    },
    "min_quality": {
      "default": 50,
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "content_rating_max": {
      "default": "teen",
      "type": "string",
      "enum": [
        "everyone",
        "everyone_10",
        "teen",
        "mature"
      ]
    },
    "difficulty": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "easy",
          "medium",
          "hard",
          "brutal"
        ]
      }
    },
    "inputs": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "mouse",
          "keyboard",
          "touch",
          "gamepad"
        ]
      }
    },
    "include_listing_only": {
      "default": false,
      "type": "boolean"
    },
    "plays": {
      "description": "here: only games that play embedded (on ArcadeIndex and in the in-chat player); developer_site: only games that play on the developer's own site (implies include_listing_only).",
      "type": "string",
      "enum": [
        "here",
        "developer_site"
      ]
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "game_id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Canonical game page, no query string."
              },
              "play_url": {
                "type": "string",
                "description": "Our own stable game page with ?ref=agent. Never the raw embed URL."
              },
              "external_play_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "thumbnail": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "hook": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "developer": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "claimed": {
                        "type": "boolean"
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Null when the developer is unknown."
              },
              "genres": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "content_rating": {
                "type": "string",
                "enum": [
                  "everyone",
                  "everyone_10",
                  "teen",
                  "mature"
                ]
              },
              "embed_status": {
                "type": "string",
                "enum": [
                  "playable",
                  "listing_only"
                ]
              },
              "quality_score": {
                "type": "integer"
              },
              "session_length_minutes": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "player_counts": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "1",
                        "2",
                        "2plus",
                        "massive"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "multiplayer_mode": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "none",
                      "local",
                      "online",
                      "both"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "difficulty": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "easy",
                      "medium",
                      "hard",
                      "brutal"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "inputs": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "mouse",
                        "keyboard",
                        "touch",
                        "gamepad"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "vibe_tags": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "published_at": {
                "type": "string"
              },
              "match_reasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "similarity_reasons": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        },
        "code": {
          "type": "string"
        },
        "relaxations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "step": {
                "type": "string"
              },
              "tool": {
                "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
                "type": "string",
                "const": "games_like"
              },
              "changes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "param": {
                      "type": "string"
                    },
                    "from": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "to": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              },
              "args": {
                "type": "object",
                "additionalProperties": {},
                "description": "Complete tool arguments to call again (search_games args carry interpret: false)."
              },
              "result_count": {
                "type": "integer"
              }
            }
          }
        },
        "relaxed_results": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "On NO_MATCHES: the results of relaxations[0], already run, so a miss needs no second call. They do NOT match your arguments; say what was relaxed. Empty otherwise."
        },
        "applied_filters": {
          "type": "object"
        },
        "interpreted_filters": {
          "type": "object"
        },
        "residual_query": {
          "type": [
            "string",
            "null"
          ]
        },
        "trending_basis": {
          "type": [
            "string",
            "null"
          ]
        },
        "anchor": {
          "type": [
            "object",
            "null"
          ]
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "results",
        "code",
        "relaxations",
        "relaxed_results",
        "applied_filters",
        "interpreted_filters",
        "residual_query",
        "trending_basis",
        "anchor",
        "attribution",
        "meta"
      ]
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "details": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "retry_after_seconds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "error",
        "attribution",
        "meta"
      ]
    }
  ]
}
🟢get_game(game_id)

Full details of one game by id or {slug}-{id}. Aliased ids resolve to the canonical game (requested_id is set). Also returns listing-only, stale or suspect games: do NOT present play_url as instantly playable unless play_ready is true. Errors: NOT_FOUND (unknown, unavailable or not public), GONE (delisted).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "game_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A 6-char game id or the {slug}-{id} path segment. Aliased ids resolve to the canonical game."
    }
  },
  "required": [
    "game_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "game": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "game_id": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "Canonical game page, no query string."
                },
                "play_url": {
                  "type": "string",
                  "description": "Our own stable game page with ?ref=agent. Never the raw embed URL."
                },
                "external_play_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "thumbnail": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "hook": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "developer": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "claimed": {
                          "type": "boolean"
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Null when the developer is unknown."
                },
                "genres": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "content_rating": {
                  "type": "string",
                  "enum": [
                    "everyone",
                    "everyone_10",
                    "teen",
                    "mature"
                  ]
                },
                "embed_status": {
                  "type": "string",
                  "enum": [
                    "playable",
                    "listing_only"
                  ]
                },
                "quality_score": {
                  "type": "integer"
                },
                "session_length_minutes": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "player_counts": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "1",
                          "2",
                          "2plus",
                          "massive"
                        ]
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "multiplayer_mode": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "none",
                        "local",
                        "online",
                        "both"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "difficulty": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "easy",
                        "medium",
                        "hard",
                        "brutal"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "inputs": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "mouse",
                          "keyboard",
                          "touch",
                          "gamepad"
                        ]
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "vibe_tags": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "published_at": {
                  "type": "string"
                },
                "match_reasons": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "similarity_reasons": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "how_to_play": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "controls_summary": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "mechanics": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "session_length_range": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "languages": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "accessibility_notes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "screenshots": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "source_url": {
                  "type": "string"
                },
                "verification_state": {
                  "type": "string",
                  "enum": [
                    "ok",
                    "suspect"
                  ]
                },
                "last_verified_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "play_ready": {
                  "type": "boolean",
                  "description": "Only present play_url as instantly playable when true (agent-api §4.4)."
                },
                "field_sources": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "source",
                          "ai",
                          "ai+verified",
                          "behavioral",
                          "developer",
                          "moderator"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "requested_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "code": {
          "type": "string"
        },
        "relaxations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "step": {
                "type": "string"
              },
              "tool": {
                "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
                "type": "string",
                "const": "games_like"
              },
              "changes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "param": {
                      "type": "string"
                    },
                    "from": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "to": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              },
              "args": {
                "type": "object",
                "additionalProperties": {},
                "description": "Complete tool arguments to call again (search_games args carry interpret: false)."
              },
              "result_count": {
                "type": "integer"
              }
            }
          }
        },
        "applied_filters": {
          "type": "object"
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "game",
        "code",
        "relaxations",
        "applied_filters",
        "attribution",
        "meta"
      ]
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "details": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "retry_after_seconds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "error",
        "attribution",
        "meta"
      ]
    }
  ]
}
🟢trending(window, limit, genre, exclude_genres, mood, ...)

Games trending over the last day or week (genre scope when genre is set). trending_basis says whether play data or the recency fallback was used. Returns only published, playable games verified within the last 8 days (listing-only games with include_listing_only=true; plays=here or plays=developer_site picks one kind). content_rating_max defaults to teen. Zero results is a success with code NO_MATCHES and up to 3 executed relaxations whose args you can call again (with the tool named in tool, when set). Quote match_reasons and link play_url; render 'via ArcadeIndex' per the attribution block.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "window": {
      "default": "week",
      "type": "string",
      "enum": [
        "day",
        "week"
      ]
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "genre": {
      "type": "string",
      "enum": [
        "action",
        "adventure",
        "arcade",
        "board-card",
        "clicker-idle",
        "driving-racing",
        "educational",
        "fighting",
        "horror",
        "io-games",
        "music-rhythm",
        "party-multiplayer",
        "physics",
        "platformer",
        "puzzle",
        "rpg",
        "shooter",
        "simulation",
        "sports",
        "strategy",
        "survival",
        "tower-defense",
        "tycoon-management",
        "word-trivia"
      ]
    },
    "exclude_genres": {
      "default": [],
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "action",
          "adventure",
          "arcade",
          "board-card",
          "clicker-idle",
          "driving-racing",
          "educational",
          "fighting",
          "horror",
          "io-games",
          "music-rhythm",
          "party-multiplayer",
          "physics",
          "platformer",
          "puzzle",
          "rpg",
          "shooter",
          "simulation",
          "sports",
          "strategy",
          "survival",
          "tower-defense",
          "tycoon-management",
          "word-trivia"
        ]
      }
    },
    "mood": {
      "default": [],
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cozy",
          "chill",
          "zen",
          "chaotic",
          "spooky",
          "competitive",
          "silly",
          "intense",
          "cute",
          "brainy",
          "satisfying",
          "atmospheric"
        ]
      }
    },
    "session_length_max": {
      "type": "integer",
      "minimum": 1,
      "maximum": 240
    },
    "players": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "multi"
      ]
    },
    "min_quality": {
      "default": 50,
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "content_rating_max": {
      "default": "teen",
      "type": "string",
      "enum": [
        "everyone",
        "everyone_10",
        "teen",
        "mature"
      ]
    },
    "difficulty": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "easy",
          "medium",
          "hard",
          "brutal"
        ]
      }
    },
    "inputs": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "mouse",
          "keyboard",
          "touch",
          "gamepad"
        ]
      }
    },
    "include_listing_only": {
      "default": false,
      "type": "boolean"
    },
    "plays": {
      "description": "here: only games that play embedded (on ArcadeIndex and in the in-chat player); developer_site: only games that play on the developer's own site (implies include_listing_only).",
      "type": "string",
      "enum": [
        "here",
        "developer_site"
      ]
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "game_id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Canonical game page, no query string."
              },
              "play_url": {
                "type": "string",
                "description": "Our own stable game page with ?ref=agent. Never the raw embed URL."
              },
              "external_play_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "thumbnail": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "hook": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "developer": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "claimed": {
                        "type": "boolean"
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Null when the developer is unknown."
              },
              "genres": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "content_rating": {
                "type": "string",
                "enum": [
                  "everyone",
                  "everyone_10",
                  "teen",
                  "mature"
                ]
              },
              "embed_status": {
                "type": "string",
                "enum": [
                  "playable",
                  "listing_only"
                ]
              },
              "quality_score": {
                "type": "integer"
              },
              "session_length_minutes": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "player_counts": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "1",
                        "2",
                        "2plus",
                        "massive"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "multiplayer_mode": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "none",
                      "local",
                      "online",
                      "both"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "difficulty": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "easy",
                      "medium",
                      "hard",
                      "brutal"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "inputs": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "mouse",
                        "keyboard",
                        "touch",
                        "gamepad"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "vibe_tags": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "published_at": {
                "type": "string"
              },
              "match_reasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "similarity_reasons": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        },
        "code": {
          "type": "string"
        },
        "relaxations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "step": {
                "type": "string"
              },
              "tool": {
                "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
                "type": "string",
                "const": "games_like"
              },
              "changes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "param": {
                      "type": "string"
                    },
                    "from": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "to": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              },
              "args": {
                "type": "object",
                "additionalProperties": {},
                "description": "Complete tool arguments to call again (search_games args carry interpret: false)."
              },
              "result_count": {
                "type": "integer"
              }
            }
          }
        },
        "relaxed_results": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "On NO_MATCHES: the results of relaxations[0], already run, so a miss needs no second call. They do NOT match your arguments; say what was relaxed. Empty otherwise."
        },
        "applied_filters": {
          "type": "object"
        },
        "interpreted_filters": {
          "type": "object"
        },
        "residual_query": {
          "type": [
            "string",
            "null"
          ]
        },
        "trending_basis": {
          "type": [
            "string",
            "null"
          ]
        },
        "anchor": {
          "type": [
            "object",
            "null"
          ]
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "results",
        "code",
        "relaxations",
        "relaxed_results",
        "applied_filters",
        "interpreted_filters",
        "residual_query",
        "trending_basis",
        "anchor",
        "attribution",
        "meta"
      ]
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "details": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "retry_after_seconds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "error",
        "attribution",
        "meta"
      ]
    }
  ]
}
🟢games_like(game_id, limit, genre, exclude_genres, mood, ...)

Games similar to an anchor game, ordered by similarity, each with similarity_reasons. Returns only published, playable games verified within the last 8 days (listing-only games with include_listing_only=true; plays=here or plays=developer_site picks one kind). content_rating_max defaults to teen. Zero results is a success with code NO_MATCHES and up to 3 executed relaxations whose args you can call again (with the tool named in tool, when set). Quote match_reasons and link play_url; render 'via ArcadeIndex' per the attribution block.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "game_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A 6-char game id or the {slug}-{id} path segment. Aliased ids resolve to the canonical game."
    },
    "limit": {
      "default": 8,
      "type": "integer",
      "minimum": 1,
      "maximum": 24
    },
    "genre": {
      "type": "string",
      "enum": [
        "action",
        "adventure",
        "arcade",
        "board-card",
        "clicker-idle",
        "driving-racing",
        "educational",
        "fighting",
        "horror",
        "io-games",
        "music-rhythm",
        "party-multiplayer",
        "physics",
        "platformer",
        "puzzle",
        "rpg",
        "shooter",
        "simulation",
        "sports",
        "strategy",
        "survival",
        "tower-defense",
        "tycoon-management",
        "word-trivia"
      ]
    },
    "exclude_genres": {
      "default": [],
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "action",
          "adventure",
          "arcade",
          "board-card",
          "clicker-idle",
          "driving-racing",
          "educational",
          "fighting",
          "horror",
          "io-games",
          "music-rhythm",
          "party-multiplayer",
          "physics",
          "platformer",
          "puzzle",
          "rpg",
          "shooter",
          "simulation",
          "sports",
          "strategy",
          "survival",
          "tower-defense",
          "tycoon-management",
          "word-trivia"
        ]
      }
    },
    "mood": {
      "default": [],
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cozy",
          "chill",
          "zen",
          "chaotic",
          "spooky",
          "competitive",
          "silly",
          "intense",
          "cute",
          "brainy",
          "satisfying",
          "atmospheric"
        ]
      }
    },
    "session_length_max": {
      "type": "integer",
      "minimum": 1,
      "maximum": 240
    },
    "players": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "multi"
      ]
    },
    "min_quality": {
      "default": 50,
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "content_rating_max": {
      "default": "teen",
      "type": "string",
      "enum": [
        "everyone",
        "everyone_10",
        "teen",
        "mature"
      ]
    },
    "difficulty": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "easy",
          "medium",
          "hard",
          "brutal"
        ]
      }
    },
    "inputs": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "mouse",
          "keyboard",
          "touch",
          "gamepad"
        ]
      }
    },
    "include_listing_only": {
      "default": false,
      "type": "boolean"
    },
    "plays": {
      "description": "here: only games that play embedded (on ArcadeIndex and in the in-chat player); developer_site: only games that play on the developer's own site (implies include_listing_only).",
      "type": "string",
      "enum": [
        "here",
        "developer_site"
      ]
    }
  },
  "required": [
    "game_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "game_id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Canonical game page, no query string."
              },
              "play_url": {
                "type": "string",
                "description": "Our own stable game page with ?ref=agent. Never the raw embed URL."
              },
              "external_play_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "thumbnail": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "hook": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "developer": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "claimed": {
                        "type": "boolean"
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Null when the developer is unknown."
              },
              "genres": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "content_rating": {
                "type": "string",
                "enum": [
                  "everyone",
                  "everyone_10",
                  "teen",
                  "mature"
                ]
              },
              "embed_status": {
                "type": "string",
                "enum": [
                  "playable",
                  "listing_only"
                ]
              },
              "quality_score": {
                "type": "integer"
              },
              "session_length_minutes": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "player_counts": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "1",
                        "2",
                        "2plus",
                        "massive"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "multiplayer_mode": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "none",
                      "local",
                      "online",
                      "both"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "difficulty": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "easy",
                      "medium",
                      "hard",
                      "brutal"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "inputs": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "mouse",
                        "keyboard",
                        "touch",
                        "gamepad"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "vibe_tags": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "published_at": {
                "type": "string"
              },
              "match_reasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "similarity_reasons": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        },
        "code": {
          "type": "string"
        },
        "relaxations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "step": {
                "type": "string"
              },
              "tool": {
                "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
                "type": "string",
                "const": "games_like"
              },
              "changes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "param": {
                      "type": "string"
                    },
                    "from": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "to": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              },
              "args": {
                "type": "object",
                "additionalProperties": {},
                "description": "Complete tool arguments to call again (search_games args carry interpret: false)."
              },
              "result_count": {
                "type": "integer"
              }
            }
          }
        },
        "relaxed_results": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "On NO_MATCHES: the results of relaxations[0], already run, so a miss needs no second call. They do NOT match your arguments; say what was relaxed. Empty otherwise."
        },
        "applied_filters": {
          "type": "object"
        },
        "interpreted_filters": {
          "type": "object"
        },
        "residual_query": {
          "type": [
            "string",
            "null"
          ]
        },
        "trending_basis": {
          "type": [
            "string",
            "null"
          ]
        },
        "anchor": {
          "type": [
            "object",
            "null"
          ]
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "results",
        "code",
        "relaxations",
        "relaxed_results",
        "applied_filters",
        "interpreted_filters",
        "residual_query",
        "trending_basis",
        "anchor",
        "attribution",
        "meta"
      ]
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "details": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "retry_after_seconds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "error",
        "attribution",
        "meta"
      ]
    }
  ]
}
🟢random_game(seed, genre, exclude_genres, mood, session_length_max, ...)

One random eligible game for 'surprise me' flows; pass seed for a deterministic pick. Never returns Mature games. Zero eligible games gives game: null with code NO_MATCHES and relaxations.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "seed": {
      "description": "Deterministic pick.",
      "type": "string",
      "maxLength": 64
    },
    "genre": {
      "type": "string",
      "enum": [
        "action",
        "adventure",
        "arcade",
        "board-card",
        "clicker-idle",
        "driving-racing",
        "educational",
        "fighting",
        "horror",
        "io-games",
        "music-rhythm",
        "party-multiplayer",
        "physics",
        "platformer",
        "puzzle",
        "rpg",
        "shooter",
        "simulation",
        "sports",
        "strategy",
        "survival",
        "tower-defense",
        "tycoon-management",
        "word-trivia"
      ]
    },
    "exclude_genres": {
      "default": [],
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "action",
          "adventure",
          "arcade",
          "board-card",
          "clicker-idle",
          "driving-racing",
          "educational",
          "fighting",
          "horror",
          "io-games",
          "music-rhythm",
          "party-multiplayer",
          "physics",
          "platformer",
          "puzzle",
          "rpg",
          "shooter",
          "simulation",
          "sports",
          "strategy",
          "survival",
          "tower-defense",
          "tycoon-management",
          "word-trivia"
        ]
      }
    },
    "mood": {
      "default": [],
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cozy",
          "chill",
          "zen",
          "chaotic",
          "spooky",
          "competitive",
          "silly",
          "intense",
          "cute",
          "brainy",
          "satisfying",
          "atmospheric"
        ]
      }
    },
    "session_length_max": {
      "type": "integer",
      "minimum": 1,
      "maximum": 240
    },
    "players": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "multi"
      ]
    },
    "min_quality": {
      "default": 50,
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "content_rating_max": {
      "default": "teen",
      "type": "string",
      "enum": [
        "everyone",
        "everyone_10",
        "teen",
        "mature"
      ]
    },
    "difficulty": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "easy",
          "medium",
          "hard",
          "brutal"
        ]
      }
    },
    "inputs": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "mouse",
          "keyboard",
          "touch",
          "gamepad"
        ]
      }
    },
    "include_listing_only": {
      "default": false,
      "type": "boolean"
    },
    "plays": {
      "description": "here: only games that play embedded (on ArcadeIndex and in the in-chat player); developer_site: only games that play on the developer's own site (implies include_listing_only).",
      "type": "string",
      "enum": [
        "here",
        "developer_site"
      ]
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "game": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "game_id": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "Canonical game page, no query string."
                },
                "play_url": {
                  "type": "string",
                  "description": "Our own stable game page with ?ref=agent. Never the raw embed URL."
                },
                "external_play_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "thumbnail": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "hook": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "developer": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "claimed": {
                          "type": "boolean"
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Null when the developer is unknown."
                },
                "genres": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "content_rating": {
                  "type": "string",
                  "enum": [
                    "everyone",
                    "everyone_10",
                    "teen",
                    "mature"
                  ]
                },
                "embed_status": {
                  "type": "string",
                  "enum": [
                    "playable",
                    "listing_only"
                  ]
                },
                "quality_score": {
                  "type": "integer"
                },
                "session_length_minutes": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "player_counts": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "1",
                          "2",
                          "2plus",
                          "massive"
                        ]
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "multiplayer_mode": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "none",
                        "local",
                        "online",
                        "both"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "difficulty": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "easy",
                        "medium",
                        "hard",
                        "brutal"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "inputs": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "mouse",
                          "keyboard",
                          "touch",
                          "gamepad"
                        ]
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "vibe_tags": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "published_at": {
                  "type": "string"
                },
                "match_reasons": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "similarity_reasons": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "how_to_play": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "controls_summary": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "mechanics": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "session_length_range": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "languages": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "accessibility_notes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "screenshots": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "source_url": {
                  "type": "string"
                },
                "verification_state": {
                  "type": "string",
                  "enum": [
                    "ok",
                    "suspect"
                  ]
                },
                "last_verified_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "play_ready": {
                  "type": "boolean",
                  "description": "Only present play_url as instantly playable when true (agent-api §4.4)."
                },
                "field_sources": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "source",
                          "ai",
                          "ai+verified",
                          "behavioral",
                          "developer",
                          "moderator"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "requested_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "code": {
          "type": "string"
        },
        "relaxations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "step": {
                "type": "string"
              },
              "tool": {
                "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
                "type": "string",
                "const": "games_like"
              },
              "changes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "param": {
                      "type": "string"
                    },
                    "from": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "to": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              },
              "args": {
                "type": "object",
                "additionalProperties": {},
                "description": "Complete tool arguments to call again (search_games args carry interpret: false)."
              },
              "result_count": {
                "type": "integer"
              }
            }
          }
        },
        "applied_filters": {
          "type": "object"
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "game",
        "code",
        "relaxations",
        "applied_filters",
        "attribution",
        "meta"
      ]
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "details": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "retry_after_seconds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "error",
        "attribution",
        "meta"
      ]
    }
  ]
}
🟢new_games(limit, genre, exclude_genres, mood, session_length_max, ...)

Games published in the last 30 days, newest first. Returns only published, playable games verified within the last 8 days (listing-only games with include_listing_only=true; plays=here or plays=developer_site picks one kind). content_rating_max defaults to teen. Zero results is a success with code NO_MATCHES and up to 3 executed relaxations whose args you can call again (with the tool named in tool, when set). Quote match_reasons and link play_url; render 'via ArcadeIndex' per the attribution block.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "genre": {
      "type": "string",
      "enum": [
        "action",
        "adventure",
        "arcade",
        "board-card",
        "clicker-idle",
        "driving-racing",
        "educational",
        "fighting",
        "horror",
        "io-games",
        "music-rhythm",
        "party-multiplayer",
        "physics",
        "platformer",
        "puzzle",
        "rpg",
        "shooter",
        "simulation",
        "sports",
        "strategy",
        "survival",
        "tower-defense",
        "tycoon-management",
        "word-trivia"
      ]
    },
    "exclude_genres": {
      "default": [],
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "action",
          "adventure",
          "arcade",
          "board-card",
          "clicker-idle",
          "driving-racing",
          "educational",
          "fighting",
          "horror",
          "io-games",
          "music-rhythm",
          "party-multiplayer",
          "physics",
          "platformer",
          "puzzle",
          "rpg",
          "shooter",
          "simulation",
          "sports",
          "strategy",
          "survival",
          "tower-defense",
          "tycoon-management",
          "word-trivia"
        ]
      }
    },
    "mood": {
      "default": [],
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cozy",
          "chill",
          "zen",
          "chaotic",
          "spooky",
          "competitive",
          "silly",
          "intense",
          "cute",
          "brainy",
          "satisfying",
          "atmospheric"
        ]
      }
    },
    "session_length_max": {
      "type": "integer",
      "minimum": 1,
      "maximum": 240
    },
    "players": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "multi"
      ]
    },
    "min_quality": {
      "default": 50,
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "content_rating_max": {
      "default": "teen",
      "type": "string",
      "enum": [
        "everyone",
        "everyone_10",
        "teen",
        "mature"
      ]
    },
    "difficulty": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "easy",
          "medium",
          "hard",
          "brutal"
        ]
      }
    },
    "inputs": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "mouse",
          "keyboard",
          "touch",
          "gamepad"
        ]
      }
    },
    "include_listing_only": {
      "default": false,
      "type": "boolean"
    },
    "plays": {
      "description": "here: only games that play embedded (on ArcadeIndex and in the in-chat player); developer_site: only games that play on the developer's own site (implies include_listing_only).",
      "type": "string",
      "enum": [
        "here",
        "developer_site"
      ]
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "game_id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Canonical game page, no query string."
              },
              "play_url": {
                "type": "string",
                "description": "Our own stable game page with ?ref=agent. Never the raw embed URL."
              },
              "external_play_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "thumbnail": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "hook": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "developer": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "claimed": {
                        "type": "boolean"
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Null when the developer is unknown."
              },
              "genres": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "content_rating": {
                "type": "string",
                "enum": [
                  "everyone",
                  "everyone_10",
                  "teen",
                  "mature"
                ]
              },
              "embed_status": {
                "type": "string",
                "enum": [
                  "playable",
                  "listing_only"
                ]
              },
              "quality_score": {
                "type": "integer"
              },
              "session_length_minutes": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "player_counts": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "1",
                        "2",
                        "2plus",
                        "massive"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "multiplayer_mode": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "none",
                      "local",
                      "online",
                      "both"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "difficulty": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "easy",
                      "medium",
                      "hard",
                      "brutal"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "inputs": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "mouse",
                        "keyboard",
                        "touch",
                        "gamepad"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "vibe_tags": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "published_at": {
                "type": "string"
              },
              "match_reasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "similarity_reasons": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        },
        "code": {
          "type": "string"
        },
        "relaxations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "step": {
                "type": "string"
              },
              "tool": {
                "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
                "type": "string",
                "const": "games_like"
              },
              "changes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "param": {
                      "type": "string"
                    },
                    "from": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "to": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              },
              "args": {
                "type": "object",
                "additionalProperties": {},
                "description": "Complete tool arguments to call again (search_games args carry interpret: false)."
              },
              "result_count": {
                "type": "integer"
              }
            }
          }
        },
        "relaxed_results": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "On NO_MATCHES: the results of relaxations[0], already run, so a miss needs no second call. They do NOT match your arguments; say what was relaxed. Empty otherwise."
        },
        "applied_filters": {
          "type": "object"
        },
        "interpreted_filters": {
          "type": "object"
        },
        "residual_query": {
          "type": [
            "string",
            "null"
          ]
        },
        "trending_basis": {
          "type": [
            "string",
            "null"
          ]
        },
        "anchor": {
          "type": [
            "object",
            "null"
          ]
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "results",
        "code",
        "relaxations",
        "relaxed_results",
        "applied_filters",
        "interpreted_filters",
        "residual_query",
        "trending_basis",
        "anchor",
        "attribution",
        "meta"
      ]
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "details": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "retry_after_seconds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "error",
        "attribution",
        "meta"
      ]
    }
  ]
}
🟢play_game(game_id, query)

Play an ArcadeIndex game right inside the chat. Pass game_id (an id, {slug}-{id}, or a game's url from search_games, trending, games_like or new_games results) or query (the top search hit is played; a game that only plays on its developer's site comes back as link_out). Hosts that support MCP Apps show a player with Next game and More like this (mode player); some chat apps do not allow the game frame yet, and then the player offers the game on arcadeindex.io in a new tab, so do not tell the user the game is running in the chat unless they say so. Games that cannot be framed here (listing-only, not checked in the last 8 days, Mature, or a site the chat app does not allow) return mode link_out with link_out.url and the reason: give the user that link. Hosts without MCP Apps get the same data as text: link play_url. Errors: NOT_FOUND, INVALID_ARGUMENT.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "game_id": {
      "description": "A 6-char game id, the {slug}-{id} segment, or the game's ArcadeIndex page URL (from search results).",
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "query": {
      "description": "Instead of game_id: a title or request; the top search_games hit is played.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "description": "player: the game plays in the chat view; link_out: open link_out.url."
        },
        "game": {
          "type": "object",
          "properties": {
            "game_id": {
              "type": "string"
            },
            "title": {
              "type": "string"
            },
            "url": {
              "type": "string"
            },
            "play_url": {
              "type": "string"
            },
            "external_play_url": {
              "type": [
                "string",
                "null"
              ]
            },
            "thumbnail": {
              "type": [
                "string",
                "null"
              ]
            },
            "hook": {
              "type": [
                "string",
                "null"
              ]
            },
            "developer": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "claimed": {
                      "type": "boolean"
                    }
                  }
                },
                {
                  "type": "null"
                }
              ]
            },
            "genres": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "content_rating": {
              "type": "string"
            },
            "rating_label": {
              "type": [
                "string",
                "null"
              ]
            },
            "rating_reason": {
              "description": "Why the game has its rating, in plain words.",
              "type": [
                "string",
                "null"
              ]
            },
            "controls_summary": {
              "type": [
                "string",
                "null"
              ]
            },
            "session_length_minutes": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "embed_status": {
              "type": "string",
              "enum": [
                "playable",
                "listing_only"
              ]
            }
          }
        },
        "link_out": {
          "type": [
            "object",
            "null"
          ]
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "mode",
        "game",
        "link_out",
        "attribution",
        "meta"
      ]
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "details": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "retry_after_seconds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link."
        },
        "meta": {
          "type": "object"
        }
      },
      "required": [
        "error",
        "attribution",
        "meta"
      ]
    }
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools