← WebMCP Directory

Tool tree

jimmycappucci.github.io

Productivity & BusinessTools verified
Website
An event seating planner where the host drags and locks seats while an AI agent solves the constraint puzzle through WebMCP tools — on the same live board.
Explore capabilities
    get_event_overviewAnswer

    Snapshot of the whole event: name, tables with occupancy, unseated guests, active constraints, and current violations. Call this first to orient yourself.

    View tool JSON
    {
      "name": "get_event_overview",
      "kind": "answer",
      "impl": "imperative",
      "description": "Snapshot of the whole event: name, tables with occupancy, unseated guests, active constraints, and current violations. Call this first to orient yourself.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/seatcraft/"
    }
    list_guestsAnswer

    List all guests with their group, tags, table assignment and host-lock status. Optionally filter by text.

    View tool JSON
    {
      "name": "list_guests",
      "kind": "answer",
      "impl": "imperative",
      "description": "List all guests with their group, tags, table assignment and host-lock status. Optionally filter by text.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "filter": {
            "type": "string",
            "description": "Optional substring to match against name/group/tags"
          }
        }
      },
      "page": "/seatcraft/"
    }
    add_guestsAction

    Add one or more guests to the event. Each needs a name; group/tags/notes are optional.

    View tool JSON
    {
      "name": "add_guests",
      "kind": "act",
      "impl": "imperative",
      "description": "Add one or more guests to the event. Each needs a name; group/tags/notes are optional.",
      "inputSchema": {
        "type": "object",
        "required": [
          "guests"
        ],
        "properties": {
          "guests": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "group": {
                  "type": "string",
                  "description": "e.g. 'bride family', 'work friends'"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "e.g. ['vegetarian','kid']"
                },
                "notes": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "page": "/seatcraft/"
    }
    update_guestAction

    Update a guest's name, group, tags, or notes.

    View tool JSON
    {
      "name": "update_guest",
      "kind": "act",
      "impl": "imperative",
      "description": "Update a guest's name, group, tags, or notes.",
      "inputSchema": {
        "type": "object",
        "required": [
          "guest"
        ],
        "properties": {
          "guest": {
            "type": "string",
            "description": "Guest id (g_xxx) or exact/partial unique name"
          },
          "name": {
            "type": "string"
          },
          "group": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "string"
          }
        }
      },
      "page": "/seatcraft/"
    }
    remove_guestAction

    Remove a guest from the event entirely (unseats them and drops their constraints).

    View tool JSON
    {
      "name": "remove_guest",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a guest from the event entirely (unseats them and drops their constraints).",
      "inputSchema": {
        "type": "object",
        "required": [
          "guest"
        ],
        "properties": {
          "guest": {
            "type": "string",
            "description": "Guest id (g_xxx) or exact/partial unique name"
          }
        }
      },
      "page": "/seatcraft/"
    }
    add_tableAction

    Add a table with a name and seat capacity.

    View tool JSON
    {
      "name": "add_table",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a table with a name and seat capacity.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "capacity": {
            "type": "number",
            "description": "Default 8"
          }
        }
      },
      "page": "/seatcraft/"
    }
    update_tableAction

    Rename a table or change its capacity.

    View tool JSON
    {
      "name": "update_table",
      "kind": "act",
      "impl": "imperative",
      "description": "Rename a table or change its capacity.",
      "inputSchema": {
        "type": "object",
        "required": [
          "table"
        ],
        "properties": {
          "table": {
            "type": "string",
            "description": "Table id (t_xxx) or table name"
          },
          "name": {
            "type": "string"
          },
          "capacity": {
            "type": "number"
          }
        }
      },
      "page": "/seatcraft/"
    }
    remove_tableAction

    Remove a table; its guests become unseated.

    View tool JSON
    {
      "name": "remove_table",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a table; its guests become unseated.",
      "inputSchema": {
        "type": "object",
        "required": [
          "table"
        ],
        "properties": {
          "table": {
            "type": "string",
            "description": "Table id (t_xxx) or table name"
          }
        }
      },
      "page": "/seatcraft/"
    }
    seat_guestAction

    Seat a guest at a table (or unseat them by passing no table). Refuses to move guests the host has locked — ask the host instead.

    View tool JSON
    {
      "name": "seat_guest",
      "kind": "act",
      "impl": "imperative",
      "description": "Seat a guest at a table (or unseat them by passing no table). Refuses to move guests the host has locked — ask the host instead.",
      "inputSchema": {
        "type": "object",
        "required": [
          "guest"
        ],
        "properties": {
          "guest": {
            "type": "string",
            "description": "Guest id (g_xxx) or exact/partial unique name"
          },
          "table": {
            "type": "string",
            "description": "Table id (t_xxx) or table name. Omit to unseat."
          }
        }
      },
      "page": "/seatcraft/"
    }
    swap_guestsAction

    Swap the table assignments of two guests. Refuses if either guest is host-locked.

    View tool JSON
    {
      "name": "swap_guests",
      "kind": "act",
      "impl": "imperative",
      "description": "Swap the table assignments of two guests. Refuses if either guest is host-locked.",
      "inputSchema": {
        "type": "object",
        "required": [
          "guestA",
          "guestB"
        ],
        "properties": {
          "guestA": {
            "type": "string",
            "description": "Guest id (g_xxx) or exact/partial unique name"
          },
          "guestB": {
            "type": "string",
            "description": "Guest id (g_xxx) or exact/partial unique name"
          }
        }
      },
      "page": "/seatcraft/"
    }
    add_constraintAction

    Record a seating rule: 'together' (a and b must share a table), 'apart' (a and b must not), or 'at_table' (a belongs at a specific table).

    View tool JSON
    {
      "name": "add_constraint",
      "kind": "act",
      "impl": "imperative",
      "description": "Record a seating rule: 'together' (a and b must share a table), 'apart' (a and b must not), or 'at_table' (a belongs at a specific table).",
      "inputSchema": {
        "type": "object",
        "required": [
          "type",
          "a"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "together",
              "apart",
              "at_table"
            ]
          },
          "a": {
            "type": "string",
            "description": "Guest id (g_xxx) or exact/partial unique name"
          },
          "b": {
            "type": "string",
            "description": "Guest id (g_xxx) or exact/partial unique name (for together/apart)"
          },
          "table": {
            "type": "string",
            "description": "Table id (t_xxx) or table name (for at_table)"
          },
          "note": {
            "type": "string",
            "description": "Why this rule exists, e.g. 'divorced 2019'"
          }
        }
      },
      "page": "/seatcraft/"
    }
    remove_constraintAction

    Remove a seating rule by its id (see get_event_overview).

    View tool JSON
    {
      "name": "remove_constraint",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a seating rule by its id (see get_event_overview).",
      "inputSchema": {
        "type": "object",
        "required": [
          "constraintId"
        ],
        "properties": {
          "constraintId": {
            "type": "string"
          }
        }
      },
      "page": "/seatcraft/"
    }
    get_violationsAnswer

    List every current constraint violation and over-capacity table in plain language.

    View tool JSON
    {
      "name": "get_violations",
      "kind": "answer",
      "impl": "imperative",
      "description": "List every current constraint violation and over-capacity table in plain language.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/seatcraft/"
    }
    auto_seatAction

    Run the constraint solver: seats everyone it can while honoring together/apart/at_table rules and never moving host-locked guests. Returns what moved and what still violates.

    View tool JSON
    {
      "name": "auto_seat",
      "kind": "act",
      "impl": "imperative",
      "description": "Run the constraint solver: seats everyone it can while honoring together/apart/at_table rules and never moving host-locked guests. Returns what moved and what still violates.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/seatcraft/"
    }
    set_event_nameAction

    Set the event's display name.

    View tool JSON
    {
      "name": "set_event_name",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the event's display name.",
      "inputSchema": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "page": "/seatcraft/"
    }