MCP Hub
Back to servers

mcp-hertz

Enables AI assistants to interact with the Hertz car rental service through headless browser automation. It supports searching for vehicles, managing reservations, checking loyalty status, and retrieving rental policies directly from the Hertz website.

glama
Updated
Mar 13, 2026

@striderlabs/mcp-hertz

A Model Context Protocol (MCP) connector for the Hertz car rental service. This connector enables AI assistants (such as Claude) to search for vehicles, manage reservations, look up locations, retrieve rental policies, and check Gold Plus Rewards loyalty status — all through Hertz's website via headless browser automation.


Overview

This connector uses Playwright to drive a headless Chromium browser against hertz.com. It exposes 10 MCP tools that cover the full car rental workflow:

  • Search available vehicles
  • Get detailed vehicle and rate information
  • Find nearby Hertz locations
  • Create, view, modify, and cancel reservations
  • Retrieve rental policies and insurance options
  • Add optional extras (GPS, child seats, etc.)
  • Check Gold Plus Rewards loyalty status

Prerequisites

  • Node.js 18 or higher
  • npm 9 or higher
  • Internet access to reach hertz.com

Installation

From the package directory

npm install
npx playwright install chromium
npm run build

As a global CLI

npm install -g @striderlabs/mcp-hertz
npx playwright install chromium

Configuration

No API keys or environment variables are required. The connector uses public-facing Hertz web pages. Network access to https://www.hertz.com must be available from the host running the connector.

Optional environment variables that may influence Playwright behavior:

VariableDescription
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATHPath to a custom Chromium binary
HTTP_PROXY / HTTPS_PROXYProxy server for outbound requests

Running the Server

# Development (TypeScript source)
npm run dev

# Production (compiled)
npm run build
npm start

The server communicates over stdio using the MCP protocol and is designed to be launched by an MCP host such as Claude Desktop.


Claude Desktop Configuration

Add the following to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "hertz": {
      "command": "node",
      "args": ["/path/to/mcp-hertz/dist/index.js"]
    }
  }
}

Or, if installed globally:

{
  "mcpServers": {
    "hertz": {
      "command": "mcp-hertz"
    }
  }
}

Tools

1. search_vehicles

Search for available Hertz vehicles at a given location and date range.

ParameterTypeRequiredDescription
pickup_locationstringYesCity name, airport code (e.g. LAX), or address
dropoff_locationstringNoReturn location if different from pickup
pickup_datestringYesISO date YYYY-MM-DD
pickup_timestringYes24-hour time HH:MM
dropoff_datestringYesISO date YYYY-MM-DD
dropoff_timestringYes24-hour time HH:MM
vehicle_classenumNoEconomy, Compact, Midsize, Standard, Fullsize, Premium, Luxury, SUV, Van, Truck
driver_agenumberNoDriver age in years (default: 25)
discount_codestringNoPromotional or discount code

Returns: Array of VehicleResult objects with make/model, class, transmission, passengers, bags, daily rate, total rate, features, and availability.


2. get_vehicle_details

Retrieve detailed information and rate breakdown for a specific vehicle.

ParameterTypeRequiredDescription
vehicle_idstringYesVehicle ID from search_vehicles results
rate_codestringNoRate code for specific pricing

Returns: VehicleResult extended with rate_details (base rate, taxes, total, cancellation policy).


3. get_locations

Find Hertz rental locations near a city, airport, or set of coordinates.

ParameterTypeRequiredDescription
querystringYesCity name, airport code (e.g. ORD), or street address
typeenumNoairport, city, or all (default: all)
latitudenumberNoLatitude for proximity search
longitudenumberNoLongitude for proximity search
radius_milesnumberNoSearch radius in miles (default: 25)

Returns: Array of Location objects with name, address, city, state, phone, hours, and airport info.


4. create_reservation

Create a new Hertz rental reservation.

ParameterTypeRequiredDescription
vehicle_idstringYesVehicle ID from search results
rate_codestringNoRate code for pricing
pickup_location_idstringYesLocation ID for pickup
dropoff_location_idstringNoLocation ID for return (defaults to pickup)
pickup_datetimestringYesISO datetime e.g. 2025-06-15T10:00:00
dropoff_datetimestringYesISO datetime e.g. 2025-06-20T10:00:00
driver_first_namestringYesDriver's first name
driver_last_namestringYesDriver's last name
driver_emailstringYesDriver's email address
driver_phonestringYesDriver's phone number
driver_agenumberNoDriver age in years
discount_codestringNoPromotional or discount code
cdp_numberstringNoCorporate Discount Program number
loyalty_numberstringNoHertz Gold Plus Rewards member number

Returns: Reservation object with confirmation number, status, vehicle, locations, dates, driver info, and total cost.


5. get_reservation

Look up an existing reservation by confirmation number and last name.

ParameterTypeRequiredDescription
confirmation_numberstringYesHertz confirmation number
last_namestringYesDriver's last name as on the reservation

Returns: Reservation object.


6. modify_reservation

Modify an existing reservation (dates, locations, or vehicle class).

ParameterTypeRequiredDescription
confirmation_numberstringYesHertz confirmation number
last_namestringYesDriver's last name
new_pickup_datetimestringNoNew pickup date/time in ISO format
new_dropoff_datetimestringNoNew dropoff date/time in ISO format
new_pickup_location_idstringNoNew pickup location ID
new_dropoff_location_idstringNoNew dropoff location ID
new_vehicle_classenumNoNew vehicle class preference

Returns: Updated Reservation object.


7. cancel_reservation

Cancel an existing reservation. Free cancellation is available up to 24 hours before the scheduled pickup.

ParameterTypeRequiredDescription
confirmation_numberstringYesHertz confirmation number
last_namestringYesDriver's last name
reasonstringNoOptional reason for cancellation

Returns: Object with success boolean, message, and confirmation_number.


8. get_rental_policies

Retrieve Hertz rental policies, insurance options, and fee information.

ParameterTypeRequiredDescription
location_idstringNoLocation ID for location-specific policies
vehicle_classenumNoVehicle class for class-specific notes
countrystringNoCountry code (default: US)

Returns: Policy object including minimum age requirements, fuel policy, mileage policy, insurance options, cancellation terms, accepted payment methods, and Gold Plus Rewards information.


9. add_extras

Add optional extras to an existing reservation.

ParameterTypeRequiredDescription
confirmation_numberstringYesHertz confirmation number
last_namestringYesDriver's last name
extrasarrayYesArray of { extra_id, quantity } objects

Available extra_id values:

IDNamePricing
gpsHertz NeverLost GPS$12.99/day
child_seatChild Safety Seat$13.99/day
booster_seatBooster Seat$9.99/day
additional_driverAdditional Driver$13.99/day
rsa_plusRoadside Assistance Plus$5.99/day
wifiWi-Fi Hotspot$10.99/day
sirius_xmSiriusXM Satellite Radio$8.99 flat
ski_rackSki Rack$29.99 flat
prepaid_fuelPrepaid Fuel Option$45.00 flat

Returns: Object with updated extras list and new total cost.


10. get_loyalty_status

Check Hertz Gold Plus Rewards loyalty status including tier, points balance, year-to-date rentals, and free day certificates.

ParameterTypeRequiredDescription
member_idstringNoGold Plus Rewards member ID
emailstringNoEmail address on the account
pinstringYesGold Plus Rewards PIN or password

Note: Either member_id or email must be provided along with pin.

Returns: LoyaltyStatus object with member ID, name, tier (Gold / Five Star / President's Circle / Platinum), points balance, rentals year-to-date, and free day certificate count.


Notes on Browser Automation

  • The connector launches a headless Chromium browser via Playwright for each tool call and closes it upon completion.
  • Playwright Chromium must be installed separately with npx playwright install chromium.
  • Each tool call makes a real network request to hertz.com. Response times depend on site performance (typically 5–30 seconds).
  • Hertz's website uses heavy JavaScript rendering. The connector waits for networkidle state before extracting data.
  • If the live site returns no parseable DOM data (e.g. due to a site redesign or anti-bot measures), several tools fall back to structured placeholder responses so that the calling agent can continue reasoning.
  • Do not use this connector to make real reservations with real payment information without understanding the full booking flow and Hertz's terms of service.

License

MIT

Reviews

No reviews yet

Sign in to write a review