← WebMCP Directory

Tool tree

cantinarooftop.com

Travel & EventsTools verified
Website
Manhattan's first Mexican rooftop: tacos, margaritas and a live DJ nightly under a heated glass roof, open all year. Midtown West, 605 W 48th St.
Explore capabilities

    page: Every page

    get_restaurant_infoAnswer

    Address, phone, hours, nightly specials, booking rules, roof, dress code and how to get to Cantina Rooftop, a Mexican rooftop restaurant in Hell's Kitchen, NYC. Not the dishes: use get_menu.

    View tool JSON
    {
      "name": "get_restaurant_info",
      "kind": "answer",
      "impl": "imperative",
      "description": "Address, phone, hours, nightly specials, booking rules, roof, dress code and how to get to Cantina Rooftop, a Mexican rooftop restaurant in Hell's Kitchen, NYC. Not the dishes: use get_menu.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    get_menuAnswer

    Current dishes and drinks with prices, by part of the menu. Optionally filter by a word, such as birria or mezcal.

    View tool JSON
    {
      "name": "get_menu",
      "kind": "answer",
      "impl": "imperative",
      "description": "Current dishes and drinks with prices, by part of the menu. Optionally filter by a word, such as birria or mezcal.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "part": {
            "type": "string",
            "enum": [
              "dinner",
              "brunch",
              "drinks",
              "dessert"
            ],
            "description": "Leave out for the whole menu"
          },
          "search": {
            "type": "string",
            "maxLength": 60,
            "description": "Optional word to look for in names and descriptions"
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    check_availabilityAnswer

    Times we take reservations on a date, for parties of 2 to 8, plus the next open date when that day has none. Call this before create_reservation. For 9 or more use request_large_party.

    View tool JSON
    {
      "name": "check_availability",
      "kind": "answer",
      "impl": "imperative",
      "description": "Times we take reservations on a date, for parties of 2 to 8, plus the next open date when that day has none. Call this before create_reservation. For 9 or more use request_large_party.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "YYYY-MM-DD, New York time"
          },
          "party_size": {
            "type": "integer",
            "minimum": 2,
            "maximum": 8,
            "description": "Guests, 2 to 8"
          },
          "offer": {
            "type": "string",
            "enum": [
              "taco-tuesday",
              "bottomless-brunch",
              "karaoke-night"
            ],
            "description": "Optional: book a weekly special. Leave out for a regular table."
          }
        },
        "required": [
          "date"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    create_reservationSensitive Action

    Books a table for 2 to 8 guests. Free, no card and no deposit. Call only when the guest asked you to book these details. By booking, the guest agrees to receive a text from Cantina Rooftop about this reservation; tell them. Returns a booking_token for change_reservation. Booking again for the same guest within 2 hours updates that booking.

    View tool JSON
    {
      "name": "create_reservation",
      "kind": "transact",
      "impl": "imperative",
      "description": "Books a table for 2 to 8 guests. Free, no card and no deposit. Call only when the guest asked you to book these details. By booking, the guest agrees to receive a text from Cantina Rooftop about this reservation; tell them. Returns a booking_token for change_reservation. Booking again for the same guest within 2 hours updates that booking.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "maxLength": 100
          },
          "last_name": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "description": "Guest's mobile, 10 to 15 digits"
          },
          "preferred_language": {
            "type": "string",
            "enum": [
              "en",
              "es"
            ],
            "default": "en"
          },
          "occasion": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional: birthday, anniversary, a request for the team"
          },
          "agent_name": {
            "type": "string",
            "maxLength": 40,
            "description": "Optional: the assistant making this call, such as ChatGPT or Claude"
          },
          "party_size": {
            "type": "integer",
            "minimum": 2,
            "maximum": 8,
            "description": "Guests, 2 to 8"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "YYYY-MM-DD, New York time"
          },
          "time": {
            "type": "string",
            "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
            "description": "24-hour HH:mm, from check_availability"
          },
          "offer": {
            "type": "string",
            "enum": [
              "taco-tuesday",
              "bottomless-brunch",
              "karaoke-night"
            ],
            "description": "Optional: book a weekly special. Leave out for a regular table."
          },
          "guest_confirmed": {
            "type": "boolean",
            "const": true,
            "description": "true only when the guest asked you to book these exact details"
          }
        },
        "required": [
          "first_name",
          "last_name",
          "email",
          "phone",
          "party_size",
          "date",
          "time",
          "guest_confirmed"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    get_reservationAnswer

    The current party size, date, time and status of a booking, from its booking_token.

    View tool JSON
    {
      "name": "get_reservation",
      "kind": "answer",
      "impl": "imperative",
      "description": "The current party size, date, time and status of a booking, from its booking_token.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "booking_token": {
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "booking_token"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    change_reservationSensitive Action

    Changes party size, date, time or note on a booking, from its booking_token. Send every field, changed or not. To cancel, the guest calls (212) 957-1700.

    View tool JSON
    {
      "name": "change_reservation",
      "kind": "transact",
      "impl": "imperative",
      "description": "Changes party size, date, time or note on a booking, from its booking_token. Send every field, changed or not. To cancel, the guest calls (212) 957-1700.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "booking_token": {
            "type": "string",
            "maxLength": 300
          },
          "party_size": {
            "type": "integer",
            "minimum": 2,
            "maximum": 8,
            "description": "Guests, 2 to 8"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "YYYY-MM-DD, New York time"
          },
          "time": {
            "type": "string",
            "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
            "description": "24-hour HH:mm, from check_availability"
          },
          "occasion": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional: birthday, anniversary, a request for the team"
          },
          "guest_confirmed": {
            "type": "boolean",
            "const": true,
            "description": "true only when the guest asked you to book these exact details"
          }
        },
        "required": [
          "booking_token",
          "party_size",
          "date",
          "time",
          "guest_confirmed"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    request_large_partySensitive Action

    Sends the team a request for a party of 9 or more. It is a request, not a booked table: the team replies. For 2 to 8 use create_reservation.

    View tool JSON
    {
      "name": "request_large_party",
      "kind": "transact",
      "impl": "imperative",
      "description": "Sends the team a request for a party of 9 or more. It is a request, not a booked table: the team replies. For 2 to 8 use create_reservation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "maxLength": 100
          },
          "last_name": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "description": "Guest's mobile, 10 to 15 digits"
          },
          "preferred_language": {
            "type": "string",
            "enum": [
              "en",
              "es"
            ],
            "default": "en"
          },
          "occasion": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional: birthday, anniversary, a request for the team"
          },
          "agent_name": {
            "type": "string",
            "maxLength": 40,
            "description": "Optional: the assistant making this call, such as ChatGPT or Claude"
          },
          "party_size": {
            "type": "integer",
            "minimum": 9,
            "maximum": 2000
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "YYYY-MM-DD, New York time"
          },
          "time": {
            "type": "string",
            "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
            "description": "24-hour HH:mm, from check_availability"
          },
          "guest_confirmed": {
            "type": "boolean",
            "const": true,
            "description": "true only when the guest asked you to book these exact details"
          }
        },
        "required": [
          "first_name",
          "last_name",
          "email",
          "phone",
          "party_size",
          "date",
          "guest_confirmed"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }