UNPKG

jinko-mcp-dev

Version:

MCP server for Jinko Travel BFF

46 lines (45 loc) 1.86 kB
/** * Place-related tools for the hotel MCP server */ import { makeApiRequest, createYamlResponse } from "../../utils.js"; /** * Get place suggestions based on user input */ export async function autocompletePlaces(params) { // Make API request to get place suggestions const request = { "input": params.query, "language": "en", }; if (params.language) { request.language = params.language; } const autocompleteResult = await makeApiRequest("/api/v1/hotels/places/autocomplete", "POST", request); if (!autocompleteResult) { return createYamlResponse({ status: "error", message: "Failed to retrieve place suggestions. Please try again with a different query." }); } if (!autocompleteResult.predictions || autocompleteResult.predictions.length === 0) { return createYamlResponse({ status: "empty", message: "No places found matching your query. Please try a different search term." }); } // Format results for YAML response const placeSummaries = autocompleteResult.predictions.map((place, index) => ({ id: place.place_id, name: place.structured_formatting?.main_text || place.description, type: place.types || "Unknown", location: place.description || "", latitude: place.latitude, longitude: place.longitude, })); const response = { places: placeSummaries, count: autocompleteResult.predictions.length, message: "Found matching locations based on your search. Each result includes location coordinates that can be used with the search-hotels tool. If multiple locations match your query, please help the user select the most appropriate one based on their travel plans." }; return createYamlResponse(response); }