Skip to main content
Glama

search_google_hotels_property

Search and retrieve detailed hotel property information from Google, including pricing, availability, and booking details based on specified dates, location, and guest preferences.

Input Schema

NameRequiredDescriptionDefault
adultsNo成人数量
check_in_dateYes入住日期
check_out_dateYes退房日期
childrenNo儿童数量
children_agesNo儿童年龄
currencyNo货币
glNo地理位置
hlNo语言
property_tokenYes物业令牌

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "adults": { "description": "成人数量", "type": "string" }, "check_in_date": { "description": "入住日期", "type": "string" }, "check_out_date": { "description": "退房日期", "type": "string" }, "children": { "description": "儿童数量", "type": "string" }, "children_ages": { "description": "儿童年龄", "type": "string" }, "currency": { "description": "货币", "type": "string" }, "gl": { "description": "地理位置", "type": "string" }, "hl": { "description": "语言", "type": "string" }, "property_token": { "description": "物业令牌", "type": "string" } }, "required": [ "property_token", "check_in_date", "check_out_date" ], "type": "object" }

Implementation Reference

  • The handler function for the 'search_google_hotels_property' tool. It constructs the API parameters using the 'google_hotels_property' engine, includes required and optional fields, calls the shared makeSearchapiRequest helper, and returns the API response as formatted text content.
    async (args) => { const params = { engine: 'google_hotels_property', property_token: args.property_token, check_in_date: args.check_in_date, check_out_date: args.check_out_date }; // 添加可选参数 const optionalParams = [ 'gl', 'hl', 'currency', 'adults', 'children', 'children_ages' ]; for (const key of optionalParams) { if (args[key] !== undefined) { params[key] = args[key]; } } const result = await makeSearchapiRequest(params); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; }
  • Zod input schema defining the parameters for the 'search_google_hotels_property' tool, including required property_token, check_in_date, check_out_date, and various optional filters.
    { property_token: z.string().describe('物业令牌'), check_in_date: z.string().describe('入住日期'), check_out_date: z.string().describe('退房日期'), gl: z.string().optional().describe('地理位置'), hl: z.string().optional().describe('语言'), currency: z.string().optional().describe('货币'), adults: z.string().optional().describe('成人数量'), children: z.string().optional().describe('儿童数量'), children_ages: z.string().optional().describe('儿童年龄') },
  • src/index.js:284-321 (registration)
    Registration of the 'search_google_hotels_property' tool on the MCP server using server.tool(), specifying the name, input schema, and handler function.
    server.tool( 'search_google_hotels_property', { property_token: z.string().describe('物业令牌'), check_in_date: z.string().describe('入住日期'), check_out_date: z.string().describe('退房日期'), gl: z.string().optional().describe('地理位置'), hl: z.string().optional().describe('语言'), currency: z.string().optional().describe('货币'), adults: z.string().optional().describe('成人数量'), children: z.string().optional().describe('儿童数量'), children_ages: z.string().optional().describe('儿童年龄') }, async (args) => { const params = { engine: 'google_hotels_property', property_token: args.property_token, check_in_date: args.check_in_date, check_out_date: args.check_out_date }; // 添加可选参数 const optionalParams = [ 'gl', 'hl', 'currency', 'adults', 'children', 'children_ages' ]; for (const key of optionalParams) { if (args[key] !== undefined) { params[key] = args[key]; } } const result = await makeSearchapiRequest(params); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } );
  • Shared helper utility function that makes HTTP requests to the SearchAPI.io endpoint, automatically adds the API key, handles timeouts and errors, and returns the data or error object. Used by the tool handler.
    async function makeSearchapiRequest(params) { // 确保API Key被添加到参数中 params.api_key = SEARCHAPI_API_KEY; try { const response = await axios.get(SEARCHAPI_URL, { params, timeout: 30000 // 30秒超时 }); return response.data; } catch (error) { let errorDetail = null; if (error.response) { try { errorDetail = error.response.data; } catch (e) { errorDetail = error.response.statusText; } } const errorMessage = `调用searchapi.io时出错: ${error.message}`; if (errorDetail) { return { error: `${errorMessage}, 详情: ${JSON.stringify(errorDetail)}` }; } return { error: errorMessage }; } }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lianshuang-photo/searchapi-mcp-nodejs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server