- Explore MCP Servers
- MCPRental
Mcprental
What is Mcprental
MCPRental is a suite of Model Context Protocol (MCP) servers designed to integrate with Enterprise Rent-A-Car’s APIs, facilitating AI assistants in tasks such as location searches, reservation management, and upgrade rate checks.
Use cases
Use cases for MCPRental include AI-driven customer support for finding rental locations, managing car reservations, and providing customers with upgrade options and pricing.
How to use
To use MCPRental, developers can set up the individual MCP servers for location search, upgrade rates, and reservations. Each server operates as a microservice, allowing seamless interaction with Enterprise’s APIs through a clean interface.
Key features
Key features of MCPRental include modular design for specific functionalities, TypeScript support for type safety, comprehensive error handling, clear API abstraction, and stateless operations for reliability.
Where to use
MCPRental is applicable in the automotive rental industry, particularly for businesses that require integration with car rental services and wish to enhance their AI capabilities for customer interactions.
Overview
What is Mcprental
MCPRental is a suite of Model Context Protocol (MCP) servers designed to integrate with Enterprise Rent-A-Car’s APIs, facilitating AI assistants in tasks such as location searches, reservation management, and upgrade rate checks.
Use cases
Use cases for MCPRental include AI-driven customer support for finding rental locations, managing car reservations, and providing customers with upgrade options and pricing.
How to use
To use MCPRental, developers can set up the individual MCP servers for location search, upgrade rates, and reservations. Each server operates as a microservice, allowing seamless interaction with Enterprise’s APIs through a clean interface.
Key features
Key features of MCPRental include modular design for specific functionalities, TypeScript support for type safety, comprehensive error handling, clear API abstraction, and stateless operations for reliability.
Where to use
MCPRental is applicable in the automotive rental industry, particularly for businesses that require integration with car rental services and wish to enhance their AI capabilities for customer interactions.
Content
🚗 Enterprise MCP Servers
A comprehensive suite of Model Context Protocol (MCP) servers that integrate with Enterprise Rent-A-Car’s APIs, enabling AI assistants to search locations, manage reservations, and check upgrade rates.
📋 Table of Contents
- Overview
- Architecture
- Available MCP Servers
- Prerequisites
- Installation Guide
- Claude Desktop Configuration
- Usage Examples
- API Documentation
- Troubleshooting
- Development
- Security Notes
🎯 Overview
This repository contains three specialized MCP servers that provide seamless integration with Enterprise car rental services:
- Location Search - Find Enterprise rental locations by city, state, or airport
- Upgrade Rates - Check vehicle upgrade pricing and availability
- Reservations - Create, modify, view, and cancel car rental reservations
Each server is designed as an independent microservice, following MCP best practices and providing a clean interface for AI assistants to interact with Enterprise’s APIs.
🏗️ Architecture
Design Principles
- Modular Design: Each server handles a specific domain (locations, upgrades, reservations)
- TypeScript First: Full type safety and modern JavaScript features
- Error Resilience: Comprehensive error handling and informative error messages
- API Abstraction: Clean separation between MCP protocol and Enterprise API calls
- Stateless Operations: Each request is independent, ensuring reliability
Project Structure
EMMCP2/ ├── README.md # This file ├── enterprise-location-text-mcp/ # Location search server │ ├── index.ts # Server implementation │ ├── package.json # Dependencies and scripts │ ├── tsconfig.json # TypeScript configuration │ └── dist/ # Compiled JavaScript (after build) ├── enterprise-upgrade-rates/ # Upgrade rates server │ ├── index.ts # Server implementation │ ├── package.json # Dependencies and scripts │ ├── tsconfig.json # TypeScript configuration │ └── dist/ # Compiled JavaScript (after build) └── enterprise-reservation/ # Reservations server ├── index.ts # Server implementation ├── package.json # Dependencies and scripts ├── tsconfig.json # TypeScript configuration └── dist/ # Compiled JavaScript (after build)
Technical Stack
- Runtime: Node.js 18+ (required for modern JavaScript features)
- Language: TypeScript 5.0+
- Protocol: Model Context Protocol (MCP) 2024-11-05
- HTTP Client: node-fetch 3.x
- Transport: StdioServerTransport (standard input/output communication)
📦 Available MCP Servers
1. Enterprise Location Search (enterprise-location-text-mcp
)
Powerful text-based location search capabilities for finding Enterprise rental locations.
Available Tools:
search_locations_by_city
- Find locations in a specific citysearch_locations_by_state
- List all locations in a state/provincesearch_locations_by_airport
- Find airport or near-airport locations
Features:
- Multi-country support (US, CA, MX)
- Brand filtering (Enterprise, Alamo, National)
- Exotic/luxury vehicle location filtering
- Detailed location information including hours and contact details
2. Enterprise Upgrade Rates (enterprise-upgrade-rates
)
Check upgrade availability and pricing for existing or potential reservations.
Available Tools:
get_upgrade_rates
- Get detailed upgrade pricingget_session_info
- Check current session and reservation statuscheck_upgrade_availability
- Verify upgrade options for specific vehicle classes
Features:
- Real-time pricing information
- Session-based reservation workflow support
- Vehicle class upgrade paths
- Customer type and age-based pricing
3. Enterprise Reservations (enterprise-reservation
)
Complete reservation management system for creating and managing car rentals.
Available Tools:
create_reservation
- Book new car rentalsget_reservation_details
- Retrieve specific reservation informationlist_reservations
- Search reservations by customer or datemodify_reservation
- Update dates, locations, or vehicle classcancel_reservation
- Cancel bookings with optional reasons
Features:
- Full CRUD operations for reservations
- Customer information management
- Flexible date/time handling
- Multiple search criteria support
🔧 Prerequisites
Before installing, ensure you have:
-
Node.js 18 or higher - Download here
# Check your Node.js version node --version # Should show v18.0.0 or higher
-
npm (comes with Node.js)
# Check npm version npm --version
-
Claude Desktop - Download here
-
Git (for cloning the repository)
📥 Installation Guide
Step 1: Clone the Repository
# Clone the repository
git clone <your-repo-url>
cd EMMCP2
Step 2: Install Dependencies for Each Server
# Install Location Search server
cd enterprise-location-text-mcp
npm install
npm run build
# Install Upgrade Rates server
cd ../enterprise-upgrade-rates
npm install
npm run build
# Install Reservations server
cd ../enterprise-reservation
npm install
npm run build
# Return to root directory
cd ..
Step 3: Verify Successful Build
Check that all servers built successfully:
# You should see these files
ls -la enterprise-location-text-mcp/dist/index.js
ls -la enterprise-upgrade-rates/dist/index.js
ls -la enterprise-reservation/dist/index.js
If any files are missing, check for build errors in the respective directories.
🖥️ Claude Desktop Configuration
Step 1: Locate Your Configuration File
The Claude Desktop configuration file location varies by operating system:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
Step 2: Get Your Repository Path
Find the absolute path to your repository:
# In your EMMCP2 directory, run:
pwd
# This will output something like: /Users/username/Documents/EMMCP2
Step 3: Update Configuration
Open the configuration file in a text editor and add all three MCP servers:
{
"mcpServers": {
"enterprise-location-search": {
"command": "node",
"args": [
"<YOUR_PATH>/enterprise-location-text-mcp/dist/index.js"
]
},
"enterprise-upgrade-rates": {
"command": "node",
"args": [
"<YOUR_PATH>/enterprise-upgrade-rates/dist/index.js"
]
},
"enterprise-reservations": {
"command": "node",
"args": [
"<YOUR_PATH>/enterprise-reservation/dist/index.js"
]
}
}
}
Example with actual path (macOS):
{
"mcpServers": {
"enterprise-location-search": {
"command": "node",
"args": [
"/Users/b/Documents/EMMCP2/enterprise-location-text-mcp/dist/index.js"
]
},
"enterprise-upgrade-rates": {
"command": "node",
"args": [
"/Users/b/Documents/EMMCP2/enterprise-upgrade-rates/dist/index.js"
]
},
"enterprise-reservations": {
"command": "node",
"args": [
"/Users/b/Documents/EMMCP2/enterprise-reservation/dist/index.js"
]
}
}
}
Step 4: Restart Claude Desktop
Important: You must completely quit and restart Claude Desktop for the changes to take effect.
- macOS: Cmd+Q or right-click dock icon → Quit
- Windows: Right-click system tray icon → Exit
- Linux: Close all windows and ensure process is terminated
Then launch Claude Desktop again.
Step 5: Verify Installation
- Open Claude Desktop
- Start a new conversation
- Look for the 🔧 tools icon in the interface
- You should see all three Enterprise tool sets available
Test with: “What Enterprise car rental tools do you have available?”
💡 Usage Examples
Location Search
Find locations in a city:
"Find all Enterprise locations in Miami, Florida" "Show me car rental locations in Toronto, Canada" "List all National brand locations in Los Angeles"
Search by state/province:
"Show me all Enterprise locations in New York state" "List all rental locations in British Columbia, Canada"
Airport searches:
"Find Enterprise locations at LAX airport" "Show me rental locations near JFK" "Find car rental at Dallas Fort Worth airport"
Upgrade Rates
Check upgrade options:
"Check upgrade rates for reservation ABC123" "What vehicle upgrades are available for my rental?" "Get upgrade pricing for a pickup on June 15th at LAX"
Reservation Management
Create reservation:
"Create a car rental reservation: - Pickup: LAX on June 15, 2025 at 10:00 AM - Return: LAX on June 20, 2025 at 2:00 PM - Customer: John Doe ([email protected])"
View reservations:
"Show me reservation details for confirmation number RES123" "List all reservations for customer email [email protected]" "Find reservations between June 1 and June 30, 2025"
Modify reservation:
"Change reservation RES123 to pickup on June 16 instead" "Update my reservation to return at SFO instead of LAX" "Change vehicle class to full-size for reservation ABC123"
Cancel reservation:
"Cancel reservation RES123 due to change of plans" "Cancel my reservation with confirmation number ABC123"
📖 API Documentation
Enterprise API Architecture
The MCP servers integrate with two main Enterprise API systems:
1. Location Service API
- Base URL:
https://prd.location.enterprise.com/enterprise-sls/
- Purpose: Location search and information
- Authentication: None required (public API)
2. Session/Reservation API
- Base URL:
https://prd-east.webapi.enterprise.com/enterprise-ewt/
- Purpose: Reservations and upgrade management
- Authentication: Session-based workflow
Response Format
All MCP servers return structured JSON responses with consistent formatting:
🐛 Troubleshooting
Common Issues and Solutions
“Cannot find module” Error
Cause: Path in Claude Desktop config is incorrect
Solution:
- Verify the absolute path using
pwd
- Ensure no typos in the configuration
- Check that
/dist/index.js
files exist
“Server disconnected” Error
Cause: Build failed or runtime error
Solution:
- Rebuild the affected server:
npm run build
- Test manually:
node dist/index.js
- Check for error messages
Tools Not Showing in Claude Desktop
Cause: Configuration not loaded properly
Solutions:
- Ensure Claude Desktop is completely restarted
- Validate JSON syntax in config file
- Check for duplicate server names
Build Errors
Solution:
# Clean and rebuild
rm -rf node_modules dist
npm install
npm run build
Testing Individual Servers
You can test each server independently:
# Test location server
cd enterprise-location-text-mcp
node dist/index.js
# Should output: "Enterprise Location Text Search MCP server running on stdio"
# Test upgrade rates server
cd enterprise-upgrade-rates
node dist/index.js
# Should output: "Enterprise Upgrade Rates MCP Server running on stdio"
# Test reservations server
cd enterprise-reservation
node dist/index.js
# Should output: "Enterprise Reservations MCP Server running on stdio"
Press Ctrl+C to stop the test.
🔨 Development
Making Changes
- Edit the TypeScript source files (
index.ts
) - Rebuild the affected server:
npm run build
- Restart Claude Desktop to load changes
Development Mode
For active development with auto-reload:
npm run dev
Available Scripts
Each server includes these npm scripts:
npm run build
- Compile TypeScript to JavaScriptnpm run dev
- Development mode with auto-reloadnpm run clean
- Remove build artifactsnpm start
- Run the compiled server
Adding New Tools
To add new tools to a server:
- Add the tool definition in
ListToolsRequestSchema
handler - Implement the tool logic in
CallToolRequestSchema
handler - Add appropriate TypeScript interfaces
- Rebuild and test
🔒 Security Notes
- These servers connect to Enterprise’s production APIs
- No authentication credentials are stored in the code
- API endpoints are publicly accessible but rate-limited
- Ensure you have proper authorization for reservation operations
- Do not commit sensitive data to version control
📄 License
MIT License - See LICENSE file for details
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
📞 Support
For issues or questions:
- Create an issue in this repository
- Check Enterprise API documentation
- Reference MCP documentation
Last Updated: June 2025
Compatible with: Claude Desktop, MCP Protocol 2024-11-05
Node.js Required: 18.0.0 or higher