Skip to main content
Glama

search_google_maps_reviews

Retrieve and analyze Google Maps reviews by specifying place ID, filters, and language to extract insights or compare ratings effectively.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
data_idNo数据ID
glNo地理位置
hlNo语言
next_page_tokenNo下一页令牌
place_idNo地点ID
ratingNo评分
reviews_limitNo评论数量限制
sort_byNo排序方式
topic_idNo主题ID

Implementation Reference

  • The handler function implementing the core logic of the 'search_google_maps_reviews' tool. It constructs the request parameters for the searchapi.io Google Maps reviews engine, enforces required parameters (place_id or data_id), adds optional parameters, calls the helper makeSearchapiRequest, and formats the response as MCP content.
    async (args) => { const params = { engine: 'google_maps_reviews' }; // 检查必填参数 if (args.place_id) { params.place_id = args.place_id; } else if (args.data_id) { params.data_id = args.data_id; } else { return { content: [{ type: 'text', text: JSON.stringify({ error: '必须提供place_id或data_id参数' }) }], isError: true }; } // 添加可选参数 const optionalParams = [ 'topic_id', 'next_page_token', 'sort_by', 'rating', 'hl', 'gl', 'reviews_limit' ]; 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 schema defining the input parameters for the 'search_google_maps_reviews' tool. All parameters are optional in schema, but handler logic requires either place_id or data_id.
    { place_id: z.string().optional().describe('地点ID'), data_id: z.string().optional().describe('数据ID'), topic_id: z.string().optional().describe('主题ID'), next_page_token: z.string().optional().describe('下一页令牌'), sort_by: z.string().optional().describe('排序方式'), rating: z.string().optional().describe('评分'), hl: z.string().optional().describe('语言'), gl: z.string().optional().describe('地理位置'), reviews_limit: z.string().optional().describe('评论数量限制') },
  • src/index.js:235-281 (registration)
    MCP server.tool registration for 'search_google_maps_reviews', including input schema and inline handler function.
    server.tool( 'search_google_maps_reviews', { place_id: z.string().optional().describe('地点ID'), data_id: z.string().optional().describe('数据ID'), topic_id: z.string().optional().describe('主题ID'), next_page_token: z.string().optional().describe('下一页令牌'), sort_by: z.string().optional().describe('排序方式'), rating: z.string().optional().describe('评分'), hl: z.string().optional().describe('语言'), gl: z.string().optional().describe('地理位置'), reviews_limit: z.string().optional().describe('评论数量限制') }, async (args) => { const params = { engine: 'google_maps_reviews' }; // 检查必填参数 if (args.place_id) { params.place_id = args.place_id; } else if (args.data_id) { params.data_id = args.data_id; } else { return { content: [{ type: 'text', text: JSON.stringify({ error: '必须提供place_id或data_id参数' }) }], isError: true }; } // 添加可选参数 const optionalParams = [ 'topic_id', 'next_page_token', 'sort_by', 'rating', 'hl', 'gl', 'reviews_limit' ]; 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 function used by the tool (and others) to make HTTP requests to searchapi.io API, handling API key injection, timeouts, and comprehensive error handling.
    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