Expedia Hotels MCP Server for CrewAI 10 tools — connect in under 2 minutes
Connect your CrewAI agents to Expedia Hotels through Vinkius, pass the Edge URL in the `mcps` parameter and every Expedia Hotels tool is auto-discovered at runtime. No credentials to manage, no infrastructure to maintain.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
from crewai import Agent, Task, Crew
agent = Agent(
role="Expedia Hotels Specialist",
goal="Help users interact with Expedia Hotels effectively",
backstory=(
"You are an expert at leveraging Expedia Hotels tools "
"for automation and data analysis."
),
# Your Vinkius token. get it at cloud.vinkius.com
mcps=["https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"],
)
task = Task(
description=(
"Explore all available tools in Expedia Hotels "
"and summarize their capabilities."
),
agent=agent,
expected_output=(
"A detailed summary of 10 available tools "
"and what they can do."
),
)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Expedia Hotels MCP Server
Connect Expedia Hotels to any AI agent via MCP.
How to Connect Expedia Hotels to CrewAI via MCP
Follow these steps to integrate the Expedia Hotels MCP Server with CrewAI.
Install CrewAI
Run pip install crewai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token from cloud.vinkius.com
Customize the agent
Adjust the role, goal, and backstory to fit your use case
Run the crew
Run python crew.py. CrewAI auto-discovers 10 tools from Expedia Hotels
Why Use CrewAI with the Expedia Hotels MCP Server
CrewAI Multi-Agent Orchestration Framework provides unique advantages when paired with Expedia Hotels through the Model Context Protocol.
Multi-agent collaboration lets you decompose complex workflows into specialized roles, one agent researches, another analyzes, a third generates reports, each with access to MCP tools
CrewAI's native MCP integration requires zero adapter code: pass Vinkius Edge URL directly in the `mcps` parameter and agents auto-discover every available tool at runtime
Built-in task delegation and shared memory mean agents can pass context between steps without manual state management, enabling multi-hop reasoning across tool calls
Sequential and hierarchical crew patterns map naturally to real-world workflows: enumerate subdomains → analyze DNS history → check WHOIS records → compile findings into actionable reports
Expedia Hotels + CrewAI Use Cases
Practical scenarios where CrewAI combined with the Expedia Hotels MCP Server delivers measurable value.
Automated multi-step research: a reconnaissance agent queries Expedia Hotels for raw data, then a second analyst agent cross-references findings and flags anomalies. all without human handoff
Scheduled intelligence reports: set up a crew that periodically queries Expedia Hotels, analyzes trends over time, and generates executive briefings in markdown or PDF format
Multi-source enrichment pipelines: chain Expedia Hotels tools with other MCP servers in the same crew, letting agents correlate data across multiple providers in a single workflow
Compliance and audit automation: a compliance agent queries Expedia Hotels against predefined policy rules, generates deviation reports, and routes findings to the appropriate team
Expedia Hotels MCP Tools for CrewAI (10)
These 10 tools become available when you connect Expedia Hotels to CrewAI via MCP:
book_hotel
This is a write action that results in an actual reservation. Required fields: property_id, check_in_date, check_out_date, room_id, rate_plan_id, guest first name, last name, and email. The room_id and rate_plan_id should be obtained from the check_availability or get_rate_plans tools. Include billing address and special requests if the user provides them. On success, returns an itinerary ID that can be used to retrieve or cancel the booking. ALWAYS confirm booking details with the user before executing this action. Book a hotel reservation through Expedia EAN
cancel_itinerary
This is a write action that modifies a real reservation. Whether a refund is available depends on the cancellation policy of the specific rate plan that was booked. Some rate plans are non-refundable. ALWAYS confirm the cancellation with the user and inform them of the applicable cancellation policy before executing this action. Returns the updated itinerary with cancellation status and any refund details. Cancel a hotel booking by itinerary ID
check_availability
Returns available room types, bed configurations, occupancy limits, cancellation policies, and pricing. Use this after a user has identified a hotel of interest to see what rooms are available for their desired stay dates. Required: property_id, check_in_date, check_out_date. Check room availability for a specific hotel property
check_price_match
This is part of Expedia's price match guarantee program. Required: property_id, check_in_date, check_out_date, competitor_url (URL where the lower price was found), and competitor_price (the lower price amount). Returns the price match result including whether the match was approved, the adjusted price if applicable, and any refund or credit details. Check if a hotel price matches a competitor's price
get_hotel_details
Returns property name, full address, phone number, star rating, guest rating, detailed descriptions, amenities list, policies (check-in/out times, pet policy, etc.), nearby attractions, and images. Use this to present rich hotel details to the user before they make a booking decision. Get detailed information about a specific hotel property
get_hotel_images
Returns image URLs in various categories (exterior, lobby, room, bathroom, pool, restaurant, etc.), along with image descriptions, captions, and subject IDs. Use this to display hotel photos to the user when browsing or presenting hotel details. Images are available in multiple sizes — the response includes URLs for each size variant. Get all images for a specific hotel property
get_itinerary
Returns booking status (confirmed, cancelled), property details, room information, check-in/check-out dates, guest details, total price paid, cancellation policy, and booking timestamps. Use this to check the status of a booking or to present booking confirmation details to the user. Get details of a hotel booking by itinerary ID
get_rate_plans
This includes standard rates, member-only deals, package rates, non-refundable options, and promotional pricing. Each rate plan includes details on meal plans (room only, breakfast included), cancellation policies, payment types (pay now vs pay at property), and total pricing. Use this to compare pricing options and present the best deals to the user. Get rate plans and pricing options for a hotel property
search_hotels
Use this to find hotels by destination region ID, check-in and check-out dates, number of rooms and guests. You can filter by amenities, price range, star rating, guest rating, and property type. The region ID can be obtained using the search_regions tool. Always provide check-in and check-out dates in ISO format (YYYY-MM-DD). Results include property IDs, names, locations, star ratings, and pricing information. Search for hotels using the Expedia EAN API
search_regions
This is the first step in a hotel search — you need a region_id to search for hotels. For example, searching for "Paris" returns the city region, specific neighborhoods, and nearby airports. Use this to help the user identify the correct destination before performing a hotel search. Returns region IDs, names, types, and hierarchy info. Search for destination regions by name
Troubleshooting Expedia Hotels MCP Server with CrewAI
Common issues when connecting Expedia Hotels to CrewAI through the Vinkius, and how to resolve them.
MCP tools not discovered
Agent not using tools
Timeout errors
Rate limiting or 429 errors
Expedia Hotels + CrewAI FAQ
Common questions about integrating Expedia Hotels MCP Server with CrewAI.
How does CrewAI discover and connect to MCP tools?
tools/list method. This means tools are always fresh and reflect the server's current capabilities. No tool schemas need to be hardcoded.Can different agents in the same crew use different MCP servers?
mcps list, so you can assign specific servers to specific roles. For example, a reconnaissance agent might use a domain intelligence server while an analysis agent uses a vulnerability database server.What happens when an MCP tool call fails during a crew run?
Can CrewAI agents call multiple MCP tools in parallel?
process=Process.parallel, each calling different MCP tools concurrently. This is ideal for workflows where separate data sources need to be queried simultaneously.Can I run CrewAI crews on a schedule (cron)?
crew.kickoff() method runs synchronously by default, making it straightforward to integrate into existing pipelines.Connect Expedia Hotels with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Expedia Hotels to CrewAI
Get your token, paste the configuration, and start using 10 tools in under 2 minutes. No API key management needed.
