Connects AI assistants to the Hertz car rental service via browser automation.
@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:
| Variable | Description |
|---|---|
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH |
Path to a custom Chromium binary |
HTTP_PROXY / HTTPS_PROXY |
Proxy 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
pickup_location |
string | Yes | City name, airport code (e.g. LAX), or address |
dropoff_location |
string | No | Return location if different from pickup |
pickup_date |
string | Yes | ISO date YYYY-MM-DD |
pickup_time |
string | Yes | 24-hour time HH:MM |
dropoff_date |
string | Yes | ISO date YYYY-MM-DD |
dropoff_time |
string | Yes | 24-hour time HH:MM |
vehicle_class |
enum | No | Economy, Compact, Midsize, Standard, Fullsize, Premium, Luxury, SUV, Van, Truck |
driver_age |
number | No | Driver age in years (default: 25) |
discount_code |
string | No | Promotional 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
vehicle_id |
string | Yes | Vehicle ID from search_vehicles results |
rate_code |
string | No | Rate 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | City name, airport code (e.g. ORD), or street address |
type |
enum | No | airport, city, or all (default: all) |
latitude |
number | No | Latitude for proximity search |
longitude |
number | No | Longitude for proximity search |
radius_miles |
number | No | Search 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
vehicle_id |
string | Yes | Vehicle ID from search results |
rate_code |
string | No | Rate code for pricing |
pickup_location_id |
string | Yes | Location ID for pickup |
dropoff_location_id |
string | No | Location ID for return (defaults to pickup) |
pickup_datetime |
string | Yes | ISO datetime e.g. 2025-06-15T10:00:00 |
dropoff_datetime |
string | Yes | ISO datetime e.g. 2025-06-20T10:00:00 |
driver_first_name |
string | Yes | Driver's first name |
driver_last_name |
string | Yes | Driver's last name |
Tools (4)
search_vehiclesSearch for available Hertz vehicles at a given location and date range.get_vehicle_detailsRetrieve detailed information and rate breakdown for a specific vehicle.get_locationsFind Hertz rental locations near a city, airport, or set of coordinates.create_reservationCreate a new Hertz rental reservation.Environment Variables
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATHPath to a custom Chromium binaryHTTP_PROXYProxy server for outbound requestsHTTPS_PROXYProxy server for outbound requestsConfiguration
{"mcpServers": {"hertz": {"command": "npx", "args": ["-y", "@striderlabs/mcp-hertz"]}}}