Skip to main content
Glama

ot_clear_game

Clear all game state to abandon the current tic-tac-toe journey. Use this tool when a stale game from a previous session is still loaded, then start a new game with ot_new_game.

Instructions

Abandon the current journey and clear all game state. Use this to start fresh — especially useful if a stale game from a previous session is still loaded. After calling this, use ot_new_game to begin a new journey.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Handler function for the ot_clear_game tool. It clears the global otGame state (sets it to null), reports what was in progress (player name, companion name, day, mile), and prompts to start a new game.
      "ot_clear_game",
      "Abandon the current journey and clear all game state. Use this to start fresh — especially useful if a stale game from a previous session is still loaded. After calling this, use ot_new_game to begin a new journey.",
      {},
      async () => {
        const hadGame = otGame !== null;
        const summary = hadGame
          ? `${otGame!.player.name} and ${otGame!.companion.name} were on day ${otGame!.day}, mile ${otGame!.mile} of ${TOTAL_MILES}.`
          : `No journey was in progress.`;
        otGame = null;
        return {
          content: [{
            type: "text",
            text: `The road goes cold. ${summary}\n\nThe Well at Eldenmoor waits, as it always has. Call ot_new_game to begin again.`,
          }],
        };
      }
    );
  • Registration of ot_clear_game tool via server.tool() with description, empty schema (no params), and async handler.
    server.tool(
      "ot_clear_game",
      "Abandon the current journey and clear all game state. Use this to start fresh — especially useful if a stale game from a previous session is still loaded. After calling this, use ot_new_game to begin a new journey.",
      {},
      async () => {
        const hadGame = otGame !== null;
        const summary = hadGame
          ? `${otGame!.player.name} and ${otGame!.companion.name} were on day ${otGame!.day}, mile ${otGame!.mile} of ${TOTAL_MILES}.`
          : `No journey was in progress.`;
        otGame = null;
        return {
          content: [{
            type: "text",
            text: `The road goes cold. ${summary}\n\nThe Well at Eldenmoor waits, as it always has. Call ot_new_game to begin again.`,
          }],
        };
      }
    );
  • Input schema for ot_clear_game — an empty object {} meaning no parameters are required.
    "ot_clear_game",
    "Abandon the current journey and clear all game state. Use this to start fresh — especially useful if a stale game from a previous session is still loaded. After calling this, use ot_new_game to begin a new journey.",
    {},
  • src/index.ts:19-19 (registration)
    Registration of the Oregon Trail module (including ot_clear_game) via registerOregonTrailTools(server) call.
    registerOregonTrailTools(server);
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool is destructive ('clear all game state, abandon the current journey'), which is clear. No additional behavioral traits like permissions or side effects are discussed, but for a simple reset tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two sentences with no filler. It front-loads the purpose and immediately follows with when to use and what to do next. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters, no output schema, and no annotations, the description covers purpose and usage well. It could mention the return value or confirm success, but the lack is minor given tool simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters with 100% coverage. According to guidelines, baseline is 4. The description does not need to add parameter info as there are none, and it appropriately omits any.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Abandon the current journey and clear all game state.' It uses specific verbs (abandon, clear) and resources (game state/journey), distinguishing it from siblings like ot_new_game which starts a new journey.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: 'Use this to start fresh — especially useful if a stale game from a previous session is still loaded. After calling this, use ot_new_game to begin a new journey.' It gives a clear scenario and next action, though it could explicitly mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SrmTech-git/MCPArcade'

If you have feedback or need assistance with the MCP directory API, please join our Discord server