@striderlabs/mcp-enterprise
A Model Context Protocol (MCP) connector for Enterprise Rent-A-Car. This connector enables AI assistants (such as Claude) to search for vehicles, manage reservations, and check Enterprise Plus loyalty account information โ all through enterprise.com via headless browser automation.
Overview
This connector uses Playwright to drive a stealth headless Chromium browser against enterprise.com. It exposes 7 MCP tools covering the full car rental workflow:
- Search available vehicles by location, dates, and preferences
- Get detailed vehicle pricing and protection options
- Create, modify, and cancel reservations
- Retrieve Enterprise Plus account details
- Check Enterprise Plus loyalty points balance and activity
Session cookies are persisted to ~/.mcp-enterprise/session.json so repeat calls avoid re-authenticating.
Prerequisites
- Node.js 18 or higher
- npm 9 or higher
- Internet access to
enterprise.com
Installation
From the package directory
npm install
npx playwright install chromium
npm run build
As a global CLI
npm install -g @striderlabs/mcp-enterprise
npx playwright install chromium
Configuration
No API keys are required. The connector uses Enterprise's public-facing website.
| Environment Variable | Description |
|---|---|
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH |
Path to a custom Chromium binary |
HTTP_PROXY / HTTPS_PROXY |
Proxy server for outbound requests |
MCP Client Configuration
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"enterprise": {
"command": "node",
"args": ["/path/to/mcp-enterprise/dist/index.js"]
}
}
}
Or if installed globally:
{
"mcpServers": {
"enterprise": {
"command": "mcp-enterprise"
}
}
}
Available Tools
search_vehicles
Search for available vehicles at Enterprise for specific dates and locations.
{
"pickup_location": "LAX",
"pickup_date": "2025-06-15",
"pickup_time": "10:00",
"dropoff_date": "2025-06-20",
"dropoff_time": "10:00",
"vehicle_class": "SUV",
"driver_age": 30,
"enterprise_plus_number": "EP123456"
}
Returns: Array of available vehicles with vehicle_id, make/model, class, pricing, features, and mileage policy.
get_vehicle_details
Get full pricing breakdown and protection options for a vehicle from search results.
{
"vehicle_id": "ENT-ABC12345",
"rate_code": "STANDARD"
}
Returns: Vehicle details plus rate_details (base rate, taxes, fees) and protection_options (LDW, PAI, PEC).
create_reservation
Create a new Enterprise reservation.
{
"vehicle_id": "ENT-ABC12345",
"pickup_location_id": "LAX01",
"pickup_datetime": "2025-06-15T10:00:00",
"dropoff_datetime": "2025-06-20T10:00:00",
"driver_first_name": "Jane",
"driver_last_name": "Smith",
"driver_email": "[email protected]",
"driver_phone": "555-555-1234",
"enterprise_plus_number": "EP123456",
"protection_plan": "partial"
}
Returns: Confirmed Reservation with confirmation_number, vehicle, location, dates, driver info, and cost breakdown.
modify_reservation
Modify an existing reservation (dates, locations, or vehicle class).
{
"confirmation_number": "ENT-XYZ789",
"last_name": "Smith",
"new_pickup_datetime": "2025-06-16T10:00:00",
"new_dropoff_datetime": "2025-06-22T10:00:00",
"new_vehicle_class": "Midsize"
}
Returns: Updated Reservation with modified details.
cancel_reservation
Cancel an existing reservation. No fee when cancelled before scheduled pickup.
{
"confirmation_number": "ENT-XYZ789",
"last_name": "Smith",
"reason": "Travel plans changed"
}
Returns: { success: true, confirmation_number, message, refund_amount }.
get_account
Retrieve Enterprise Plus account information.
{
"enterprise_plus_number": "EP123456",
"pin": "your-pin"
}
Returns: Account details including tier (Standard/Silver/Gold/Platinum), points_balance, rentals_ytd, and free_day_certificates.
get_loyalty_points
Check Enterprise Plus points balance, tier progress, and recent activity.
{
"enterprise_plus_number": "EP123456",
"pin": "your-pin"
}
Returns: points_balance, tier, points_to_next_tier, expiration_date, and recent_activity array.
Example Usage with Claude
"Find me an SUV at LAX from June 15โ20, then book it for Jane Smith."
Claude will:
- Call
search_vehicleswith the specified parameters - Present available SUVs with pricing
- Call
create_reservationwith the chosen vehicle and driver details - Return the confirmation number
"How many Enterprise Plus points do I have? My number is EP123456."
Claude will call get_loyalty_points and report your balance, tier, and recent activity.
Session Management
Cookies are persisted to ~/.mcp-enterprise/session.json after each authenticated request. This means Enterprise Plus sign-in is preserved across calls, avoiding repeated login prompts.
To clear the session:
rm ~/.mcp-enterprise/session.json
Troubleshooting
| Problem | Solution |
|---|---|
Browser not initialized |
Ensure playwright install chromium was run |
| Search returns no results | Check that enterprise.com is reachable; try a major city or airport code |
| Login fails | Verify your Enterprise Plus number and PIN; clear session and retry |
| Timeout errors | Increase system timeout or check network connectivity |
License
MIT