marriott_mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MARRIOTT_EMAIL | No | Optional legacy email address for automatic login. | |
| MARRIOTT_CDP_URL | No | Attach to a user-launched, dedicated Chrome profile instead of launching a browser. Example: http://127.0.0.1:9222 | |
| MARRIOTT_PASSWORD | No | Optional legacy password for automatic login. | |
| MARRIOTT_CONFIG_DIR | No | Override the encrypted storage directory. | |
| MARRIOTT_NO_SANDBOX | No | Explicitly disable Chromium's sandbox for environments that require it. Set to 'true' to disable. | |
| MARRIOTT_SPECIAL_RATES | No | Comma-separated search categories; defaults to regular plus government. Use 'government' for government-only searches. Valid categories: regular, aaa_caa, senior, government, corporate_promo. | |
| MARRIOTT_CORPORATE_CODE | No | Corporate/promo code; required only when 'corporate_promo' is selected in MARRIOTT_SPECIAL_RATES. | |
| MARRIOTT_BROWSER_CHANNEL | No | Use installed Chrome with a separate automation session. Set to 'chrome' to launch Chrome with a separate automation session instead of attaching via CDP. | |
| MARRIOTT_GOVERNMENT_SCOPE | No | Default government filter: 'federal' (default) or 'all'. Federal-only excludes state-only, military-only and ambiguous eligibility. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| statusA | Verify authentication. Launched sessions save cookies; attached Chrome sessions keep cookies in Chrome without exporting them. |
| loginA | Open the server browser for manual Marriott login; optionally use credentials from the server environment. Finish with status. |
| recover_sessionA | Bring the same server browser forward to complete a challenge or login. Requires headed mode, which is the default. |
| logoutA | Clear MCP authentication, pending confirmations and selected offers. An attached Chrome profile is disconnected and stays signed in; sign out in Chrome separately. Booking-attempt journal is retained. |
| search_hotelsA | Search each selected specialRates category (or MCP environment defaults) and return all matching offers, grouped by category, with cancellation/deposit terms and eligibility. Government scope defaults to federal-only. Unknown categories are not sold out. No winner is selected: present the options to the user before select_room or checkout. Adults/children are per room. |
| get_hotel_detailsB | Get property details for a Marriott property code or URL. |
| get_room_optionsA | Return all matching room/rate offers grouped in rateResults for each selected specialRates category, with cancellation policy, deadline, deposit terms and eligibility. Defaults come from MCP environment config; government scope defaults to federal-only. No rate is automatically selected or ranked. Missing terms remain unknown. usePoints supports only regular award inventory. Review options with the user before choosing an offerId. |
| select_roomA | Select an exact offerId from search results. Legacy room codes require an unambiguous ratePlanCode. Does not submit a reservation. |
| add_extrasA | Extras are not supported by this adapter. This tool reports that nothing was added. |
| checkoutA | Prepare a verified checkout preview for the selected offerId. Review total, terms and guest details with the user. Only after explicit user approval call again with the returned confirmationToken. A token-only call uses the saved parameters. Changed price/terms require new approval. Government offers require governmentEligibilityConfirmed; other special rates require specialRateEligibilityConfirmed. Never retry an unknown submission outcome. |
| get_reservationA | Read upcoming Marriott reservations or filter by confirmation number. |
| modify_reservationA | Preview reservation changes. After explicit user approval, repeat identical parameters with confirmationToken. Changed parameters require a new preview. |
| cancel_reservationA | Preview a cancellation. After explicit user approval, repeat the same confirmationNumber with confirmationToken. |
| check_inC | Request mobile check-in for an existing reservation. |
| get_bonvoy_statusB | Read Marriott Bonvoy points and tier status. |
| redeem_pointsB | Preview and book an exact award offer from a usePoints search. Only after explicit user approval pass confirmationToken. Never retry an unknown submission outcome. |
| get_stay_historyD | Read past stays. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools have clearly distinct purposes: reservation reads, auth flows, search, selection, checkout, and post-booking actions. However, search_hotels and get_room_options both return offers grouped by specialRates category, creating potential confusion about when to use one versus the other.
The majority of tools follow a consistent snake_case verb_noun pattern (get_reservation, search_hotels, cancel_reservation, etc.). A few exceptions like 'status', 'login', and 'logout' break the pattern but remain readable and predictable.
At 17 tools, the server is slightly above the ideal 3-15 range, but each tool maps to a distinct step in the Marriott booking and account management lifecycle. No tool feels redundant, and the count is justified by the breadth of functionality.
The tool set covers the full core workflow: authentication, hotel search, room options, selection, checkout, reservation management (modify/cancel/check-in), stay history, and loyalty status. The add_extras tool is explicitly a no-op stub, which is a minor dead end, but it transparently communicates non-support.