MCP server connector for IHG Hotels (Holiday Inn, InterContinental, etc.) using Playwright browser automation
Server has 12 tools with complete input schemas and descriptions. Naming follows verb_noun convention (ihg_login, ihg_search_hotels, etc.). Descriptions are present and contextual (avg ~120 chars), meeting baseline minimums. However, critical gaps exist: no output schemas documented, no error handling guidance, no parameter validation rules stated, and sensitive data (credit card fields) exposed as tool parameters. Guest info in ihg_book_room includes cardNumber, cardExpiry, cardCvv, these should never be parameters. Tool composition is reasonable but lacks idempotency guarantees and confirmation patterns for destructive ops (cancel_reservation, book_room).
Book a hotel room at an IHG property. Requires login. Will complete the full booking flow.
Cancel an IHG hotel reservation. Requires login. Check cancellation policy before cancelling.
Get detailed information about a specific IHG hotel including amenities, policies, contact info, and photos.
Get full details for a specific IHG reservation by confirmation number.
Get all upcoming and recent reservations for the logged-in IHG account.
Get IHG One Rewards points balance, tier status, and account summary for the logged-in user.
Sensitive payment data (cardNumber, cardExpiry, cardCvv) exposed as tool parameters in ihg_book_room. Credentials must never appear as parameters, use server-side secret injection via environment variables or vault. Agent traces log every parameter; secrets in params leak into logs and prompt history.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required data without knowing what fields to expect. ihg_search_hotels, ihg_get_room_rates, ihg_get_reservations should document return structure (e.g., hotel list with id, name, price, availability).
Destructive operations (ihg_book_room, ihg_cancel_reservation) lack confirmation or dry-run patterns. Agents make mistakes, irreversible operations should support a confirmation step or return a confirmation_required response before executing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Get IHG One Rewards points transaction history (earnings and redemptions).
Get available room types and rates for a hotel on specific dates, including points options.
Log in to your IHG One Rewards account. Required before using most other tools. Maintains a browser session for subsequent calls.
Modify an existing IHG reservation (dates, guests, special requests, room type).
Check points redemption options for a hotel stay and initiate a points booking.
Search for IHG hotels by location, dates, and guest count. Supports all IHG brands (Holiday Inn, InterContinental, Kimpton, Crowne Plaza, etc.).
No error handling guidance. Error responses must tell the LLM what to do next (retryable, user-fixable, fatal). E.g., 'Login failed: invalid credentials. Call ihg_login with correct email/password.' Raw errors give agents nothing to act on.
Parameter constraints not documented. ihg_search_hotels 'brand' parameter lists options in description but should use enum constraint. Date parameters (check_in, check_out) lack format validation rules (YYYY-MM-DD). Numeric 'guests' lacks min/max bounds.