← WebMCP Directory

Tool tree

commonground-travel.a-deghiedy.chatgpt.site

Travel & EventsTools verified
Website
A WebMCP-native group travel workspace where humans and AI agents reach fair, auditable hotel decisions together.
Explore capabilities
    get_collaboration_statusAnswer

    Read whether this is a sample demo or a durable private workspace, the current access role, traveler capacity, and which traveler profile the current visitor can edit. Use before collaboration or mutation actions.

    View tool JSON
    {
      "name": "get_collaboration_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read whether this is a sample demo or a durable private workspace, the current access role, traveler capacity, and which traveler profile the current visitor can edit. Use before collaboration or mutation actions.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    get_workspace_stateAnswer

    Read the full shared trip workspace: travelers, their constraints and priorities, current scenarios, conflicts, and recent activity. Use first to orient before any other CommonGround tool.

    View tool JSON
    {
      "name": "get_workspace_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the full shared trip workspace: travelers, their constraints and priorities, current scenarios, conflicts, and recent activity. Use first to orient before any other CommonGround tool.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    list_travelers_and_constraintsAnswer

    List each traveler with their per-night budget and all constraints (label, category, priority, locked). Use when weighing whose needs conflict or before changing priorities/locks.

    View tool JSON
    {
      "name": "list_travelers_and_constraints",
      "kind": "answer",
      "impl": "imperative",
      "description": "List each traveler with their per-night budget and all constraints (label, category, priority, locked). Use when weighing whose needs conflict or before changing priorities/locks.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    search_hotel_inventoryAnswer

    Query the live hotel inventory API (/api/inventory) and return normalized structured hotel data (price, rating, cancellation policy, amenities, distance, availability). Read-only; use whenever the group asks what hotels exist or match a budget.

    View tool JSON
    {
      "name": "search_hotel_inventory",
      "kind": "answer",
      "impl": "imperative",
      "description": "Query the live hotel inventory API (/api/inventory) and return normalized structured hotel data (price, rating, cancellation policy, amenities, distance, availability). Read-only; use whenever the group asks what hotels exist or match a budget.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxTotalPrice": {
            "type": "number",
            "description": "Optional cap on total price for the stay."
          },
          "minReviewScore": {
            "type": "number",
            "description": "Optional minimum review score (0-10)."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    compare_scenariosAction

    Compare the three generated scenarios (consensus, value, compromise): top hotels, fairness, rationale, and per-traveler scores. Use when the group asks which option is best or fairest.

    View tool JSON
    {
      "name": "compare_scenarios",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare the three generated scenarios (consensus, value, compromise): top hotels, fairness, rationale, and per-traveler scores. Use when the group asks which option is best or fairest.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    explain_conflictsAction

    Explain conflicts between travelers (budget gaps, opposing amenity preferences) with severity and suggested resolutions, plus which constraints are locked. Use before proposing compromises.

    View tool JSON
    {
      "name": "explain_conflicts",
      "kind": "act",
      "impl": "imperative",
      "description": "Explain conflicts between travelers (budget gaps, opposing amenity preferences) with severity and suggested resolutions, plus which constraints are locked. Use before proposing compromises.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    get_onboarding_statusAnswer

    Read setup progress for the current workspace: capacity, invitations or traveler seats, completed priority profiles, inventory readiness, and whether a scenario and hotel are selected.

    View tool JSON
    {
      "name": "get_onboarding_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read setup progress for the current workspace: capacity, invitations or traveler seats, completed priority profiles, inventory readiness, and whether a scenario and hotel are selected.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    open_workspace_setupAction

    Open the visible, human-controlled form for creating a durable private trip workspace. This tool does not submit or create anything itself; the human reviews the trip name, destination, nights, and organizer name.

    View tool JSON
    {
      "name": "open_workspace_setup",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the visible, human-controlled form for creating a durable private trip workspace. This tool does not submit or create anything itself; the human reviews the trip name, destination, nights, and organizer name.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    create_workspaceAction

    Create a durable private CommonGround workspace from confirmed trip details, save organizer access in this browser, and navigate to the guided setup. State-changing; confirm all values with the human before calling.

    View tool JSON
    {
      "name": "create_workspace",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a durable private CommonGround workspace from confirmed trip details, save organizer access in this browser, and navigate to the guided setup. State-changing; confirm all values with the human before calling.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Workspace name, 2 to 80 characters."
          },
          "destination": {
            "type": "string",
            "description": "Destination, 2 to 120 characters."
          },
          "checkIn": {
            "type": "string",
            "description": "Check-in date in YYYY-MM-DD format."
          },
          "nights": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "description": "Length of stay."
          },
          "organizerName": {
            "type": "string",
            "description": "Organizer name, 1 to 60 characters."
          },
          "travelerLimit": {
            "type": "integer",
            "minimum": 2,
            "maximum": 30,
            "description": "Traveler seats including organizer."
          }
        },
        "required": [
          "name",
          "destination",
          "checkIn",
          "nights",
          "organizerName",
          "travelerLimit"
        ],
        "additionalProperties": false
      }
    }
    open_invite_travelerAction

    Open the visible organizer-only invitation form. It creates no invitation until the human enters a name and submits; CommonGround then produces a private traveler-scoped link for manual sharing.

    View tool JSON
    {
      "name": "open_invite_traveler",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the visible organizer-only invitation form. It creates no invitation until the human enters a name and submits; CommonGround then produces a private traveler-scoped link for manual sharing.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    list_invitationsAnswer

    List organizer-visible traveler invitations and their invited or active status. Does not expose private invite tokens.

    View tool JSON
    {
      "name": "list_invitations",
      "kind": "answer",
      "impl": "imperative",
      "description": "List organizer-visible traveler invitations and their invited or active status. Does not expose private invite tokens.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    create_invitationAction

    Create one private traveler-scoped invitation link. Organizer-only. Returns the link for human review and manual sharing; never sends email, WhatsApp, or any external message automatically.

    View tool JSON
    {
      "name": "create_invitation",
      "kind": "act",
      "impl": "imperative",
      "description": "Create one private traveler-scoped invitation link. Organizer-only. Returns the link for human review and manual sharing; never sends email, WhatsApp, or any external message automatically.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Traveler name."
          },
          "email": {
            "type": "string",
            "description": "Optional email address stored with the invitation; no message is sent."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    }
    revoke_invitationAction

    Remove an invited traveler and permanently invalidate their private access link. Organizer-only and destructive; require explicit human confirmation before calling.

    View tool JSON
    {
      "name": "revoke_invitation",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove an invited traveler and permanently invalidate their private access link. Organizer-only and destructive; require explicit human confirmation before calling.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "travelerId": {
            "type": "string",
            "description": "Traveler invitation to revoke, from list_invitations."
          }
        },
        "required": [
          "travelerId"
        ],
        "additionalProperties": false
      }
    }
    open_workspace_settingsAction

    Open the visible organizer-only workspace settings where the human can adjust the planned traveler capacity between 2 and 30. This tool never changes the limit itself.

    View tool JSON
    {
      "name": "open_workspace_settings",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the visible organizer-only workspace settings where the human can adjust the planned traveler capacity between 2 and 30. This tool never changes the limit itself.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    open_workspace_onboardingAction

    Open the visible organizer setup guide at the requested step: invite travelers, choose predefined priorities, compare scenarios, or connect an agent. Use this to guide a human through the workspace without making hidden changes.

    View tool JSON
    {
      "name": "open_workspace_onboarding",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the visible organizer setup guide at the requested step: invite travelers, choose predefined priorities, compare scenarios, or connect an agent. Use this to guide a human through the workspace without making hidden changes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "step": {
            "type": "string",
            "enum": [
              "invite",
              "priorities",
              "compare",
              "agent"
            ],
            "description": "Wizard step to open. One of: invite, priorities, compare, agent."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    configure_trip_workspaceAction

    Configure an existing private workspace's destination, number of nights, and traveler capacity, then open the visible setup guide. Organizer-only and immediately visible. Confirm the values with the organizer before calling.

    View tool JSON
    {
      "name": "configure_trip_workspace",
      "kind": "act",
      "impl": "imperative",
      "description": "Configure an existing private workspace's destination, number of nights, and traveler capacity, then open the visible setup guide. Organizer-only and immediately visible. Confirm the values with the organizer before calling.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "description": "Destination name, 2 to 120 characters."
          },
          "checkIn": {
            "type": "string",
            "description": "Check-in date in YYYY-MM-DD format."
          },
          "nights": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "description": "Length of stay in nights."
          },
          "travelerLimit": {
            "type": "integer",
            "minimum": 2,
            "maximum": 30,
            "description": "Total traveler seats, including the organizer."
          }
        },
        "required": [
          "destination",
          "checkIn",
          "nights",
          "travelerLimit"
        ],
        "additionalProperties": false
      }
    }
    set_workspace_capacityAction

    Set traveler capacity between 2 and 30 for an existing private workspace. Organizer-only and visible; cannot reduce below the current traveler count.

    View tool JSON
    {
      "name": "set_workspace_capacity",
      "kind": "act",
      "impl": "imperative",
      "description": "Set traveler capacity between 2 and 30 for an existing private workspace. Organizer-only and visible; cannot reduce below the current traveler count.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "travelerLimit": {
            "type": "integer",
            "minimum": 2,
            "maximum": 30,
            "description": "New total seat capacity."
          }
        },
        "required": [
          "travelerLimit"
        ],
        "additionalProperties": false
      }
    }
    update_traveler_profileAction

    Update an authorized traveler's display name and/or maximum nightly budget. Visible and permission-scoped; recalculates scenarios. Ask the traveler before changing values.

    View tool JSON
    {
      "name": "update_traveler_profile",
      "kind": "act",
      "impl": "imperative",
      "description": "Update an authorized traveler's display name and/or maximum nightly budget. Visible and permission-scoped; recalculates scenarios. Ask the traveler before changing values.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "travelerId": {
            "type": "string",
            "description": "Traveler to update."
          },
          "name": {
            "type": "string",
            "description": "Optional new display name."
          },
          "budgetPerNight": {
            "type": "number",
            "minimum": 20,
            "maximum": 5000,
            "description": "Optional nightly budget in euros."
          }
        },
        "required": [
          "travelerId"
        ],
        "additionalProperties": false
      }
    }
    add_constraintAction

    Add a decision constraint to an authorized traveler profile. Visible and permission-scoped; recalculates scenarios. Confirm label, category, and priority with the traveler.

    View tool JSON
    {
      "name": "add_constraint",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a decision constraint to an authorized traveler profile. Visible and permission-scoped; recalculates scenarios. Confirm label, category, and priority with the traveler.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "travelerId": {
            "type": "string",
            "description": "Traveler to update."
          },
          "label": {
            "type": "string",
            "description": "Constraint label."
          },
          "category": {
            "type": "string",
            "enum": [
              "accessibility",
              "family",
              "amenity",
              "location",
              "budget",
              "cancellation",
              "rating"
            ],
            "description": "Constraint category. One of: accessibility, family, amenity, location, budget, cancellation, rating."
          },
          "priority": {
            "type": "string",
            "enum": [
              "must",
              "prefer",
              "flexible",
              "exclude"
            ],
            "description": "Priority. One of: must, prefer, flexible, exclude."
          },
          "locked": {
            "type": "boolean",
            "description": "Whether the new rule is locked."
          }
        },
        "required": [
          "travelerId",
          "label",
          "category",
          "priority"
        ],
        "additionalProperties": false
      }
    }
    remove_constraintAction

    Remove an unlocked constraint from an authorized traveler profile. Destructive and visible; require explicit traveler confirmation. Locked constraints must be unlocked first.

    View tool JSON
    {
      "name": "remove_constraint",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove an unlocked constraint from an authorized traveler profile. Destructive and visible; require explicit traveler confirmation. Locked constraints must be unlocked first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "travelerId": {
            "type": "string",
            "description": "Owning traveler."
          },
          "constraintId": {
            "type": "string",
            "description": "Constraint to remove."
          }
        },
        "required": [
          "travelerId",
          "constraintId"
        ],
        "additionalProperties": false
      }
    }
    set_constraint_priorityAction

    Change one traveler's constraint priority (must/prefer/flexible/exclude). State-changing: updates the visible board, recalculates scenarios, and logs activity. Ask the traveler first when ambiguous.

    View tool JSON
    {
      "name": "set_constraint_priority",
      "kind": "act",
      "impl": "imperative",
      "description": "Change one traveler's constraint priority (must/prefer/flexible/exclude). State-changing: updates the visible board, recalculates scenarios, and logs activity. Ask the traveler first when ambiguous.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "travelerId": {
            "type": "string",
            "description": "Traveler to update, e.g. from list_travelers_and_constraints."
          },
          "constraintId": {
            "type": "string",
            "description": "Constraint to change."
          },
          "priority": {
            "type": "string",
            "enum": [
              "must",
              "prefer",
              "flexible",
              "exclude"
            ],
            "description": "New priority. One of: must, prefer, flexible, exclude."
          }
        },
        "required": [
          "travelerId",
          "constraintId",
          "priority"
        ],
        "additionalProperties": false
      }
    }
    lock_constraintAction

    Lock or unlock one traveler's constraint. A locked constraint cannot have its priority changed until the owner unlocks it. State-changing: recalculates scenarios and logs activity. Confirm with the owning traveler.

    View tool JSON
    {
      "name": "lock_constraint",
      "kind": "act",
      "impl": "imperative",
      "description": "Lock or unlock one traveler's constraint. A locked constraint cannot have its priority changed until the owner unlocks it. State-changing: recalculates scenarios and logs activity. Confirm with the owning traveler.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "travelerId": {
            "type": "string",
            "description": "Owning traveler ID."
          },
          "constraintId": {
            "type": "string",
            "description": "Constraint to lock/unlock."
          },
          "locked": {
            "type": "boolean",
            "description": "True to lock (default true)."
          }
        },
        "required": [
          "travelerId",
          "constraintId"
        ],
        "additionalProperties": false
      }
    }
    veto_hotelAction

    Veto (remove) a hotel from all scenarios, or un-veto it. State-changing and visible on the board; logs activity. Only veto when a traveler explicitly rejects the hotel.

    View tool JSON
    {
      "name": "veto_hotel",
      "kind": "act",
      "impl": "imperative",
      "description": "Veto (remove) a hotel from all scenarios, or un-veto it. State-changing and visible on the board; logs activity. Only veto when a traveler explicitly rejects the hotel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "hotelId": {
            "type": "string",
            "description": "Hotel to veto/un-veto."
          },
          "vetoed": {
            "type": "boolean",
            "description": "True to veto (default toggles)."
          }
        },
        "required": [
          "hotelId"
        ],
        "additionalProperties": false
      }
    }
    create_scenariosAction

    Regenerate the three scenarios (consensus/value/compromise) from current travelers, constraints, and hotels. Use after several constraint changes to refresh rankings; logs activity.

    View tool JSON
    {
      "name": "create_scenarios",
      "kind": "act",
      "impl": "imperative",
      "description": "Regenerate the three scenarios (consensus/value/compromise) from current travelers, constraints, and hotels. Use after several constraint changes to refresh rankings; logs activity.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    select_scenarioAction

    Switch the visible scenario board to consensus, value, or compromise. State-changing and visible in the UI; logs activity.

    View tool JSON
    {
      "name": "select_scenario",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch the visible scenario board to consensus, value, or compromise. State-changing and visible in the UI; logs activity.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "scenarioId": {
            "type": "string",
            "enum": [
              "consensus",
              "value",
              "compromise"
            ],
            "description": "Scenario to show. One of: consensus, value, compromise."
          }
        },
        "required": [
          "scenarioId"
        ],
        "additionalProperties": false
      }
    }
    select_hotelAction

    Select or clear a hotel on the visible board without preparing a booking draft. Organizer-only for private workspaces; cannot select a vetoed hotel.

    View tool JSON
    {
      "name": "select_hotel",
      "kind": "act",
      "impl": "imperative",
      "description": "Select or clear a hotel on the visible board without preparing a booking draft. Organizer-only for private workspaces; cannot select a vetoed hotel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "hotelId": {
            "type": "string",
            "description": "Hotel to select. Pass 'none' to clear selection."
          }
        },
        "required": [
          "hotelId"
        ],
        "additionalProperties": false
      }
    }
    prepare_booking_draftAction

    Open a human-confirmation booking draft UI for a hotel. Does NOT book, purchase, or charge anything — it only surfaces a draft the humans must approve. Optionally sets hotel/scenario first.

    View tool JSON
    {
      "name": "prepare_booking_draft",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a human-confirmation booking draft UI for a hotel. Does NOT book, purchase, or charge anything — it only surfaces a draft the humans must approve. Optionally sets hotel/scenario first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "hotelId": {
            "type": "string",
            "description": "Hotel to draft. Defaults to the currently selected hotel."
          },
          "scenarioId": {
            "type": "string",
            "enum": [
              "consensus",
              "value",
              "compromise"
            ],
            "description": "Optional scenario context. One of: consensus, value, compromise."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }