About Hotel MCP
Hotel MCP is an MCP server in the Search category: hosted MCP server for hotel & accommodation data across Airbnb, Booking.com, Vrbo & Google Hotels — OAuth 2.1 + PKCE, seven read-only tools. Connect Claude, Cursor & other agents.
The repository has 1 stars and 0 forks.
Install
git clone https://github.com/tsepeti/hotel-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Hotel MCP
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Tatilsepeti Hotel Search MCP Server
Model Context Protocol (MCP) server for Tatilsepeti hotel search functionality.
Features
- Search Destinations: Find regions and locations
- List Hotels: Get hotel listings with filters
- Auto Token Management: Automatically fetches fresh tokens for each request
- Rich Hotel Data: Includes prices, ratings, amenities, campaigns
Installation
Using npx (Recommended)
npx tatilsepeti-hotel-mcp
From Source
npm install
# or
yarn install
Configuration
Required Environment Variables
Create a .env file or set environment variables:
API_URL=https://api.tatilsepeti.com/api/v1
API_TOKEN=your_api_token_here
BASE_URL=https://www.tatilsepeti.com
Or export directly:
export API_URL="https://api.tatilsepeti.com/api/v1"
export API_TOKEN="your_api_token"
export BASE_URL="https://www.tatilsepeti.com"
Usage
With Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"tatilsepeti-hotel": {
"command": "npx",
"args": ["tatilsepeti-hotel-mcp"],
"env": {
"API_URL": "https://api.tatilsepeti.com/api/v1",
"API_TOKEN": "your_api_token_here",
"BASE_URL": "https://www.tatilsepeti.com"
}
}
}
}
Manual Run
node mcp.js
Available Tools
1. search_destination
Search for travel destinations (regions/locations).
Parameters:
query(string): Destination name (e.g., "antalya", "bodrum", "istanbul")
Returns:
[
{
"regionId": 34,
"subRegionId": 0,
"type": 0,
"title": "Antalya"
}
]
2. list_hotels
List hotels for a specific region.
Parameters:
regionId(number): Region ID from search_destinationsubRegionId(number, optional): Sub-region ID (default: 0)type(number, optional): Type (default: 0)checkinDate(string): Check-in date (YYYY-MM-DD)checkoutDate(string): Check-out date (YYYY-MM-DD)adultCount(number, optional): Number of adults (default: 2)childCount(number, optional): Number of children (default: 0)childAges(array, optional): Ages of children (default: [])pageNumber(number, optional): Page number (default: 1)pageSize(number, optional): Hotels per page (default: 20)
Returns:
{
"totalCount": 155,
"currentPage": 1,
"pageSize": 20,
"showingCount": 20,
"hotels": [
{
"name": "Hotel Name",
"star": 5,
"score": 8.9,
"scoreText": "Harika",
"reviewCount": 150,
"location": "Kemer, Antalya",
"price": 10500,
"discountRate": 30,
"accommodation": "Her Şey Dahil",
"campaignName": "Son Dakika %30 İndirim",
"properties": ["Aquapark", "Spa", "Denize Sıfır"],
"isFreeCancellation": true,
"image": "https://cdn.tatilsepeti.com/...",
"link": "https://www.tatilsepeti.com/hotel-url"
}
]
}
Example Workflow
-
Search for destination:
User: "Antalya'da otel bul" → search_destination(query: "antalya") → Returns: regionId: 34 -
List hotels:
→ list_hotels( regionId: 34, checkinDate: "2025-12-24", checkoutDate: "2025-12-27", adultCount: 2 ) → Returns: 20 hotels with details
Features Included
- Static API token authentication
- Query string generation for hotel links
- Date formatting (YYYY-MM-DD → DD.MM.YYYY)
- Rich hotel details (properties, campaigns, reviews)
- Pagination support
- Environment variable configuration
Development
# Install dependencies
npm install
# Run MCP server
npm start
Architecture
┌─────────────────┐
│ Claude/Client │
└────────┬────────┘
│ MCP Protocol
│
┌────────▼────────┐
│ MCP Server │
│ (mcp.js) │
└────────┬────────┘
│
│ OAuth2 + REST
│
┌────────▼────────┐
│ Tatilsepeti API │
└─────────────────┘
License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.