← WebMCP Directory

Tool tree

houselights.pages.dev

Travel & EventsTools verified
Website
A live theater box office where a person and an AI agent pick real seats together on the same map. Built with WebMCP.
Explore capabilities
    search_performancesAnswer

    List upcoming performances at this theater, optionally filtered by date or genre. Read-only.

    View tool JSON
    {
      "name": "search_performances",
      "kind": "answer",
      "impl": "imperative",
      "description": "List upcoming performances at this theater, optionally filtered by date or genre. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "genre": {
            "type": "string",
            "description": "e.g. dance, drama, music"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    get_seat_mapAnswer

    Get every seat for the current performance with live availability, price, and sightline/acoustic/value scores. Read-only.

    View tool JSON
    {
      "name": "get_seat_map",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get every seat for the current performance with live availability, price, and sightline/acoustic/value scores. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string",
            "enum": [
              "orchestra",
              "mezzanine",
              "balcony"
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    recommend_seatsAnswer

    Recommend the best available seats by sightline+acoustic value, optionally adjacent and within a budget. Read-only; does not hold.

    View tool JSON
    {
      "name": "recommend_seats",
      "kind": "answer",
      "impl": "imperative",
      "description": "Recommend the best available seats by sightline+acoustic value, optionally adjacent and within a budget. Read-only; does not hold.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "default": 2
          },
          "section": {
            "type": "string",
            "enum": [
              "orchestra",
              "mezzanine",
              "balcony"
            ]
          },
          "maxPrice": {
            "type": "integer",
            "description": "Max price per seat in USD"
          },
          "adjacent": {
            "type": "boolean",
            "default": true
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    hold_seatsAction

    Place a time-limited hold on seats for the current performance. Held seats pulse on the shared map and cannot be sold to anyone else until the hold expires or checkout completes.

    View tool JSON
    {
      "name": "hold_seats",
      "kind": "act",
      "impl": "imperative",
      "description": "Place a time-limited hold on seats for the current performance. Held seats pulse on the shared map and cannot be sold to anyone else until the hold expires or checkout completes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seatIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^(orchestra|mezzanine|balcony)-[A-Z]{1,2}[0-9]{1,2}$"
            },
            "minItems": 1,
            "maxItems": 8,
            "uniqueItems": true,
            "description": "One to eight unique seat ids like orchestra-C7"
          },
          "ttlSeconds": {
            "type": "integer",
            "minimum": 10,
            "maximum": 300,
            "default": 45
          }
        },
        "required": [
          "seatIds"
        ],
        "additionalProperties": false
      }
    }
    release_holdsAction

    Release agent-held seats back to general availability. Human-held seats are never released by this tool.

    View tool JSON
    {
      "name": "release_holds",
      "kind": "act",
      "impl": "imperative",
      "description": "Release agent-held seats back to general availability. Human-held seats are never released by this tool.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seatIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^(orchestra|mezzanine|balcony)-[A-Z]{1,2}[0-9]{1,2}$"
            },
            "minItems": 1,
            "maxItems": 8,
            "uniqueItems": true,
            "description": "One to eight unique seat ids like orchestra-C7"
          }
        },
        "required": [
          "seatIds"
        ],
        "additionalProperties": false
      }
    }
    move_holds_to_cartAction

    Move currently held seats into the shopping cart so they can be purchased at checkout.

    View tool JSON
    {
      "name": "move_holds_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Move currently held seats into the shopping cart so they can be purchased at checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seatIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^(orchestra|mezzanine|balcony)-[A-Z]{1,2}[0-9]{1,2}$"
            },
            "minItems": 1,
            "maxItems": 8,
            "uniqueItems": true,
            "description": "One to eight unique seat ids like orchestra-C7"
          }
        },
        "required": [
          "seatIds"
        ],
        "additionalProperties": false
      }
    }
    remove_from_cartAction

    Remove seats from the shopping cart (they become available again).

    View tool JSON
    {
      "name": "remove_from_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove seats from the shopping cart (they become available again).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seatIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^(orchestra|mezzanine|balcony)-[A-Z]{1,2}[0-9]{1,2}$"
            },
            "minItems": 1,
            "maxItems": 8,
            "uniqueItems": true,
            "description": "One to eight unique seat ids like orchestra-C7"
          }
        },
        "required": [
          "seatIds"
        ],
        "additionalProperties": false
      }
    }
    get_board_stateAnswer

    Get the full shared state: current performance, live holds and cart seats with ownership and countdowns, totals, promo, and recent orders. Read-only.

    View tool JSON
    {
      "name": "get_board_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the full shared state: current performance, live holds and cart seats with ownership and countdowns, totals, promo, and recent orders. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    apply_promoAction

    Apply a promotional discount code to the cart.

    View tool JSON
    {
      "name": "apply_promo",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply a promotional discount code to the cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      }
    }
    checkoutSensitive Action

    Open a human confirmation dialog for the current cart. This tool never completes a sale; only the person can confirm the bound seat and price snapshot.

    View tool JSON
    {
      "name": "checkout",
      "kind": "transact",
      "impl": "imperative",
      "description": "Open a human confirmation dialog for the current cart. This tool never completes a sale; only the person can confirm the bound seat and price snapshot.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    announce_to_userAction

    Speak a short message to the person watching the page: it is written to the page's screen-reader live region and shown as a visual toast. Use it to narrate what you are doing so a human (including blind users) can follow along.

    View tool JSON
    {
      "name": "announce_to_user",
      "kind": "act",
      "impl": "imperative",
      "description": "Speak a short message to the person watching the page: it is written to the page's screen-reader live region and shown as a visual toast. Use it to narrate what you are doing so a human (including blind users) can follow along.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "message"
        ],
        "additionalProperties": false
      }
    }
    get_orderAnswer

    Look up a placed order by id. Read-only.

    View tool JSON
    {
      "name": "get_order",
      "kind": "answer",
      "impl": "imperative",
      "description": "Look up a placed order by id. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string"
          }
        },
        "required": [
          "orderId"
        ],
        "additionalProperties": false
      }
    }
    undo_last_actionAction

    Undo the agent’s most recent hold or cart move. Human actions and confirmed purchases cannot be reversed by this tool.

    View tool JSON
    {
      "name": "undo_last_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Undo the agent’s most recent hold or cart move. Human actions and confirmed purchases cannot be reversed by this tool.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    select_performanceAction

    Switch the seat map to a different performance. Resets holds and cart for the new performance.

    View tool JSON
    {
      "name": "select_performance",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch the seat map to a different performance. Resets holds and cart for the new performance.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "performanceId": {
            "type": "string",
            "enum": [
              "p1",
              "p2",
              "p3",
              "p4",
              "p5"
            ]
          }
        },
        "required": [
          "performanceId"
        ],
        "additionalProperties": false
      }
    }