markswendsen-code

@striderlabs/mcp-enterprise

Community markswendsen-code
Updated

MCP connector for enterprise

@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:

  1. Call search_vehicles with the specified parameters
  2. Present available SUVs with pricing
  3. Call create_reservation with the chosen vehicle and driver details
  4. 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

MCP Server ยท Populars

MCP Server ยท New