Skip to main content
Glama
Jinko Hotel Booking MCP Server

Jinko Hotel Booking MCP Server

by dumyCq

Hotel Booking MCP Server

Source Attribution

This repository was originally from https://github.com/jinkoso/jinko-mcp

  • Original Author: Jinko

  • Original Repository is no longer available on GitHub

Related MCP server: DIDA Hotel MCP

Description

We are the first MCP server to give access to 2 millions of hotels with shopping and booking capabilities. You can integrate our MCP and start to sell within minutes in your agents. The prod version is available on request by requesting it on our website https://www.jinko.so/. Feel free to reach out!

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs - think of it as a USB-C port for AI applications, connecting models to external data sources and tools.

Features

  1. Find Place: Convert user's location query into standardized place information with coordinates

  2. Search Hotels: Search for available hotels based on location coordinates and booking requirements

  3. Get Hotel Details: Get comprehensive details about a specific hotel

  4. Book Hotel: Book a hotel by creating a quote and returning a payment link

  5. Get Facilities: Retrieve hotel facilities in different languages for filtering searches

Development

You can install the package globally:

npm install -g jinko-mcp-dev

Or run it directly with npx:

npx jinko-mcp-dev

Running the Server

Using npm

npm run start

Using npx (after publishing)

npx jinko-mcp-dev

The MCP server uses stdio transport, which means it can be used directly with MCP clients that support this transport type.

Installation

You can install our MCP locally for now. Remote support is coming. For developers that want access to the production environment and earn commission on sales, please contact us via our website https://www.jinko.so/.

{
  "mcpServers": {
    "jinko-travel": {
      "command": "npx",
      "args": [
        "jinko-mcp-dev@latest"
      ]
    }
  }
}

Tools

1. find-place

Convert a user's location query into standardized place information with coordinates.

Parameters:

  • query: User's input for place search (e.g., 'New York', 'Paris', 'Tokyo')

  • language (optional): Language for the place search, default: 'en'

This tool is essential when you need latitude and longitude for hotel searches but only have a text description. It accepts city names, hotel names, landmarks, or other location identifiers and returns a list of matching places with their details and precise coordinates.

2. search-hotels

Search for available hotels based on location coordinates and booking requirements.

Parameters:

  • latitude: Latitude of the location

  • longitude: Longitude of the location

  • check_in_date: Check-in date (YYYY-MM-DD), default: '2025-06-25'

  • check_out_date: Check-out date (YYYY-MM-DD), default: '2025-06-26'

  • adults: Number of adults, default: 2

  • children: Number of children, default: 0

  • facilities (optional): Facility IDs to filter hotels by, the IDs can be inferred with facilities resource

This tool returns a paginated list of hotels with their key details including name, address, star rating, price range, and available room types. Each hotel includes summary information about amenities and available rates. The results are limited to 50 hotels per request.

3. load-more-hotels

Retrieve additional hotel results from a previous search using the session_id.

Parameters:

  • session_id: Session ID from a previous search-hotels or load-more-hotels response

This tool continues pagination from a previous search-hotels request, returning the next batch of hotels with the same format and details as the original search.

4. get-hotel-details

Retrieve comprehensive details about a specific hotel identified by its ID.

Parameters:

  • session_id: The session ID from a previous search

  • hotel_id: ID of the hotel to get details for

This tool provides more extensive information than what's available in search results, including complete descriptions, all available room types, detailed rate information, cancellation policies, and full amenity lists.

5. book-hotel

Initiate a hotel booking process for a specific hotel and rate option.

Parameters:

  • session_id: The session ID from a previous search

  • hotel_id: ID of the hotel to book

  • rate_id: ID of the specific rate option the user has selected

This tool creates a booking quote for the specified hotel and room, and returns a payment link for the user to complete the booking.

6. get-facilities

Retrieve a list of hotel facilities in the specified language.

Parameters:

  • language: Language code for facility names (en, es, it, he, ar, de), default: 'en'

This tool must be called before search-hotels whenever the user mentions specific hotel amenities or requirements. It returns facility IDs that must be used with the search-hotels tool's facilities parameter to properly filter hotels.

Resources

The standard server provides hotel facilities data as resources in multiple languages:

  • English (en)

  • Spanish (es)

  • Italian (it)

  • Hebrew (he)

  • Arabic (ar)

  • German (de)

These resources can be accessed using the hotel://facilities/{language} URI pattern, where {language} is one of the supported language codes.

Facilities Data

The server includes built-in facilities data to provide information about hotel amenities. This data is used to filter hotel searches based on specific amenities requested by users.

Each facility includes:

  • facility_id: Unique identifier for the facility

  • facility: Name of the facility in English

  • sort: Sort order for display

  • translation: Array of translations in different languages

When using the get-facilities tool, the available facilities are returned as part of the response, allowing LLMs to use the appropriate facility IDs when filtering hotel searches with the search-hotels tool.

Workflow Example

A typical workflow for using the standard server would be:

  1. Use find-place to convert a user's location query into coordinates

  2. Use get-facilities to identify facility IDs for any amenities the user requested

  3. Use search-hotels with the coordinates and facility IDs to find matching hotels

  4. Use load-more-hotels if more results are needed beyond the initial 50

  5. Use get-hotel-details to retrieve comprehensive information about a specific hotel

  6. Use book-hotel to initiate the booking process and generate a payment link

Publishing to npm

To publish this package to npm, follow these steps:

  1. Make sure you have an npm account and are logged in:

    npm login
  2. Update the version number in package.json:

    npm version patch  # or minor or major
  3. Build the project:

    npm run build
  4. Publish to npm:

    npm publish

After publishing, users can install and run the package using npm or npx as described in the Installation section.

Available Tools

6 tools
book-hotelA

Initiate a hotel booking process for a specific hotel and rate option.

IMPORTANT WORKFLOW:

  1. Before calling this tool, you MUST present a specific hotel's all available rate options to the user using get-hotel-details

  2. The user MUST select a specific rate option they want to book

  3. This tool will generate a secure payment link that the user needs to open in their browser to complete the booking

The response includes a payment_link that must be prominently displayed to the user, along with booking details such as hotel name, check-in/out dates, and total price.

Inputs: hotel_id (required), rate_id (required), session_id (required).

find-placeA

Use this tool to convert a user's location query into standardized place information with coordinates. This is essential when you need latitude and longitude for hotel searches but only have a text description. The tool accepts city names, hotel names, landmarks, or other location identifiers and returns a list of matching places with their details and precise coordinates.

Inputs: query (required), language.

get-facilitiesA

IMPORTANT: ALWAYS USE THIS TOOL FIRST when a user mentions ANY specific hotel amenities or requirements.

This tool must be called BEFORE search-hotels whenever the user mentions requirements like:

  • Pet-friendly or traveling with pets/dogs/cats

  • WiFi or internet access

  • Swimming pools

  • Parking (free or paid)

  • Air conditioning or heating

  • Fitness center or gym

  • Restaurant or room service

  • Family rooms

  • Non-smoking rooms

  • Any other specific hotel features

The tool returns facility IDs that MUST be used with the search-hotels tool's facilities parameter to properly filter hotels. Without using this tool first, searches will not correctly filter for user-requested amenities.

Example workflow:

  1. User asks for "pet-friendly hotels in Paris"

  2. Call get-facilities to find the facility_id for "Pets allowed"

  3. Use that facility_id in the search-hotels facilities parameter

Inputs: language.

get-hotel-detailsA

Retrieve comprehensive details about a specific hotel identified by its ID. This tool provides more extensive information than what's available in search results, including complete descriptions, all available room types, detailed rate information, cancellation policies, and full amenity lists.

Use this tool when a user expresses interest in a specific hotel from search results to provide them with all available options and complete booking information.

Inputs: hotel_id (required), session_id (required).

load-more-hotelsA

Retrieve additional hotel results from a previous search using the session_id. This tool continues pagination from a previous search-hotels request, returning the next batch of hotels with the same format and details as the original search.

The response format matches search-hotels and includes information about whether further pagination is possible.

Inputs: session_id (required).

search-hotelsA

Search for available hotels based on location coordinates and booking requirements. This tool returns a paginated list of hotels with their key details including name, address, star rating, price range, and available room types. Each hotel includes summary information about amenities and available rates.

The results are limited to 50 hotels per request. If more results are available, you can retrieve them using the load-more-hotels tool with the returned session_id.

Inputs: latitude (required), longitude (required), adults, check_in_date, +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.5/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: find-place converts location queries, get-facilities retrieves amenity IDs, search-hotels finds hotels, get-hotel-details provides full hotel info, load-more-hotels handles pagination, and book-hotel initiates bookings. The descriptions explicitly define their roles, preventing misselection.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with hyphens (e.g., find-place, get-facilities, search-hotels). This uniformity makes the set predictable and easy to understand, with no deviations in style or convention.

    Tool Count5/5

    With 6 tools, the server is well-scoped for hotel booking, covering the full workflow from location search to booking. Each tool earns its place, providing essential steps without bloat or redundancy, typical for a focused domain like this.

    Completeness5/5

    The toolset offers complete coverage for hotel booking: location handling (find-place), amenity filtering (get-facilities), hotel search and pagination (search-hotels, load-more-hotels), detailed information (get-hotel-details), and booking initiation (book-hotel). No gaps exist, ensuring agents can handle the entire lifecycle without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers