← WebMCP Directory

Tool tree

cheneytsai.github.io

Media & PersonalTools verified
Website
Maze 95
Explore capabilities
    maze_get_stateAnswer

    Read the current maze: seed, grid size, the player's cell and heading, which of the four sides of that cell are open, the exit cell, and how many steps remain to the exit.

    View tool JSON
    {
      "name": "maze_get_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current maze: seed, grid size, the player's cell and heading, which of the four sides of that cell are open, the exit cell, and how many steps remain to the exit.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_lookAction

    Describe what is visible straight ahead: how far the corridor runs, side openings along it, and whether the exit is in view. Use this to navigate without screenshots.

    View tool JSON
    {
      "name": "maze_look",
      "kind": "act",
      "impl": "imperative",
      "description": "Describe what is visible straight ahead: how far the corridor runs, side openings along it, and whether the exit is in view. Use this to navigate without screenshots.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_get_mapAnswer

    Return an ASCII floor plan of the maze. '@' is the player, 'S' the start, 'X' the exit, '?' an unexplored cell. Set reveal to true for the whole plan even where the player has not walked.

    View tool JSON
    {
      "name": "maze_get_map",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return an ASCII floor plan of the maze. '@' is the player, 'S' the start, 'X' the exit, '?' an unexplored cell. Set reveal to true for the whole plan even where the player has not walked.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "reveal": {
            "type": "boolean",
            "description": "Show unexplored cells too (default false)"
          }
        },
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_moveAction

    Walk whole cells relative to the current heading, at a pace the viewer can watch. Returns while the camera is still walking; call again to queue more and the walk continues without a jump. Stops early at a wall and reports how far it got.

    View tool JSON
    {
      "name": "maze_move",
      "kind": "act",
      "impl": "imperative",
      "description": "Walk whole cells relative to the current heading, at a pace the viewer can watch. Returns while the camera is still walking; call again to queue more and the walk continues without a jump. Stops early at a wall and reports how far it got.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "direction": {
            "type": "string",
            "enum": [
              "forward",
              "back",
              "left",
              "right"
            ],
            "description": "Direction relative to the current heading"
          },
          "cells": {
            "type": "integer",
            "minimum": 1,
            "maximum": 64,
            "description": "How many cells to walk (default 1)"
          },
          "wait": {
            "type": "boolean",
            "description": "Block until the camera arrives instead of returning while it walks (default false)"
          },
          "instant": {
            "type": "boolean",
            "description": "Skip the walk and arrive at once. The viewer sees a jump, so prefer leaving this off"
          }
        },
        "required": [
          "direction"
        ],
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_turnAction

    Turn the camera. Either a relative turn (left, right, around) or an absolute compass heading.

    View tool JSON
    {
      "name": "maze_turn",
      "kind": "act",
      "impl": "imperative",
      "description": "Turn the camera. Either a relative turn (left, right, around) or an absolute compass heading.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "turn": {
            "type": "string",
            "enum": [
              "left",
              "right",
              "around"
            ],
            "description": "Relative quarter turn"
          },
          "heading": {
            "type": "string",
            "enum": [
              "north",
              "east",
              "south",
              "west"
            ],
            "description": "Absolute heading instead of a relative turn"
          }
        },
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_gotoAction

    Walk the shortest route to a given cell, turning corners on the way, at a pace the viewer can watch. Routes are planned from where the camera will be once any queued walk finishes, so calls chain smoothly. Coordinates are zero-based, x across and z down, matching maze_get_map.

    View tool JSON
    {
      "name": "maze_goto",
      "kind": "act",
      "impl": "imperative",
      "description": "Walk the shortest route to a given cell, turning corners on the way, at a pace the viewer can watch. Routes are planned from where the camera will be once any queued walk finishes, so calls chain smoothly. Coordinates are zero-based, x across and z down, matching maze_get_map.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "x": {
            "type": "integer",
            "minimum": 0,
            "description": "Target column"
          },
          "z": {
            "type": "integer",
            "minimum": 0,
            "description": "Target row"
          },
          "wait": {
            "type": "boolean",
            "description": "Block until the camera arrives instead of returning while it walks (default false)"
          },
          "instant": {
            "type": "boolean",
            "description": "Skip the walk and arrive at once. The viewer sees a jump, so prefer leaving this off"
          }
        },
        "required": [
          "x",
          "z"
        ],
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_solveAction

    Walk the shortest route to the exit portal, at a pace the viewer can watch. Returns while the camera is still walking unless you pass wait:true; either way the walk finishes on its own.

    View tool JSON
    {
      "name": "maze_solve",
      "kind": "act",
      "impl": "imperative",
      "description": "Walk the shortest route to the exit portal, at a pace the viewer can watch. Returns while the camera is still walking unless you pass wait:true; either way the walk finishes on its own.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "wait": {
            "type": "boolean",
            "description": "Block until the camera arrives instead of returning while it walks (default false)"
          },
          "instant": {
            "type": "boolean",
            "description": "Skip the walk and arrive at once. The viewer sees a jump, so prefer leaving this off"
          }
        },
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_wait_for_arrivalAction

    Wait until the camera finishes the walk already queued, then report where it ended up. Use it when you want to look around or decide only once it has actually arrived.

    View tool JSON
    {
      "name": "maze_wait_for_arrival",
      "kind": "act",
      "impl": "imperative",
      "description": "Wait until the camera finishes the walk already queued, then report where it ended up. Use it when you want to look around or decide only once it has actually arrived.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "timeoutSeconds": {
            "type": "number",
            "minimum": 1,
            "maximum": 300,
            "description": "Give up waiting after this long (default 120)"
          }
        },
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_new_mazeAction

    Generate a fresh maze. Optionally set the grid size or pass a seed to reproduce a specific maze.

    View tool JSON
    {
      "name": "maze_new_maze",
      "kind": "act",
      "impl": "imperative",
      "description": "Generate a fresh maze. Optionally set the grid size or pass a seed to reproduce a specific maze.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "size": {
            "type": "integer",
            "minimum": 6,
            "maximum": 32,
            "description": "Cells per side"
          },
          "seed": {
            "type": "string",
            "description": "Reuse a seed to get the same maze back"
          }
        },
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_set_optionsAction

    Change how the maze looks and plays: wall style, torch range, field of view, wall height, walk speed, loop density, and the on-screen extras.

    View tool JSON
    {
      "name": "maze_set_options",
      "kind": "act",
      "impl": "imperative",
      "description": "Change how the maze looks and plays: wall style, torch range, field of view, wall height, walk speed, loop density, and the on-screen extras.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "brick",
              "stone",
              "tile",
              "circuit",
              "hedge"
            ],
            "description": "Wall style"
          },
          "floor": {
            "type": "string",
            "enum": [
              "classic",
              "auto",
              "checker",
              "concrete",
              "carpet",
              "marble",
              "grate",
              "soil"
            ],
            "description": "Floor style; auto follows the wall style"
          },
          "ceiling": {
            "type": "string",
            "enum": [
              "classic",
              "auto",
              "panels",
              "concrete",
              "girders",
              "stars",
              "neon"
            ],
            "description": "Ceiling style; auto follows the wall style, stars makes the maze roofless"
          },
          "fog": {
            "type": "integer",
            "minimum": 15,
            "maximum": 200,
            "description": "How far the light reaches, in world units"
          },
          "lighting": {
            "type": "string",
            "enum": [
              "classic",
              "torch"
            ],
            "description": "classic is the original's gentle fade, torch falls off sharply"
          },
          "fov": {
            "type": "integer",
            "minimum": 55,
            "maximum": 105,
            "description": "Field of view in degrees"
          },
          "wallHeight": {
            "type": "integer",
            "minimum": 6,
            "maximum": 20,
            "description": "Wall height in world units"
          },
          "speed": {
            "type": "integer",
            "minimum": 4,
            "maximum": 40,
            "description": "Walk speed"
          },
          "braid": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Percentage of dead ends opened into loops"
          },
          "decor": {
            "type": "boolean",
            "description": "Wall plaques"
          },
          "drift": {
            "type": "boolean",
            "description": "Drifting polyhedra"
          },
          "exitPortal": {
            "type": "boolean",
            "description": "Show the exit portal"
          },
          "scanlines": {
            "type": "boolean",
            "description": "CRT scanline overlay"
          },
          "revealMap": {
            "type": "boolean",
            "description": "Reveal the whole map instead of only explored cells"
          },
          "showMap": {
            "type": "boolean",
            "description": "Show the map panel"
          }
        },
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_set_driverAction

    Choose who is walking. The maze never moves on its own: it waits until a driver is set or a movement tool is called.

    View tool JSON
    {
      "name": "maze_set_driver",
      "kind": "act",
      "impl": "imperative",
      "description": "Choose who is walking. The maze never moves on its own: it waits until a driver is set or a movement tool is called.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "driver": {
            "type": "string",
            "enum": [
              "stop",
              "screensaver",
              "agent",
              "player"
            ],
            "description": "stop leaves the camera still and waiting, screensaver runs the automatic wall follower, agent holds it for tool-driven moves, player hands control to the keyboard"
          }
        },
        "required": [
          "driver"
        ],
        "additionalProperties": false
      },
      "page": "/maze95/"
    }
    maze_goto_cellAction

    Walk to a specific cell of the maze. x is the column and z is the row, both zero-based, matching the ASCII plan from maze_get_map.

    View tool JSON
    {
      "name": "maze_goto_cell",
      "kind": "act",
      "impl": "declarative",
      "description": "Walk to a specific cell of the maze. x is the column and z is the row, both zero-based, matching the ASCII plan from maze_get_map.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number"
          },
          "z": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "z"
        ]
      },
      "page": "/maze95/"
    }
    maze_generateAction

    Generate a fresh maze. Give a seed to reproduce a specific maze, or leave it blank for a random one.

    View tool JSON
    {
      "name": "maze_generate",
      "kind": "act",
      "impl": "declarative",
      "description": "Generate a fresh maze. Give a seed to reproduce a specific maze, or leave it blank for a random one.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seed": {
            "type": "string",
            "description": "seed (optional)"
          }
        }
      },
      "page": "/maze95/"
    }