Skip to main content
Glama
jie8357IOII

google-my-business-mcp

by jie8357IOII

gmb_performance_locations_searchkeywords_impressions_mo_4ba8b09f

Read-onlyIdempotent

Fetch monthly search keyword impressions for a Google Business Profile location. Identify keywords driving discovery in Search and Maps across a specified date range.

Instructions

GET v1/{+parent}/searchkeywords/impressions/monthly. Returns the search keywords used to find a business in search or maps. Each search keyword is accompanied by impressions which are aggregated on a monthly basis. Example request: GET https://businessprofileperformance.googleapis.com/v1/locations/12345/searchkeywords/impressions/monthly?monthly_range.start_month.year=2022&monthly_range.start_month.month=1&monthly_range.end_month.year=2022&monthly_range.end_month.month=3

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsNoSelector specifying which fields to include in a partial response.
parentYesRequired. The location for which the time series should be fetched. Format: locations/{location_id} where location_id is an unobfuscated listing id.
$.xgafvNoV1 error format.
pageSizeNoOptional. The number of results requested. The default page size is 100. Page size can be set to a maximum of 100.
pageTokenNoOptional. A token indicating the next paginated result to be returned.
quotaUserNoAvailable to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
prettyPrintNoReturns response with indentations and line breaks.
monthlyRange.endMonth.dayNoDay of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
monthlyRange.endMonth.yearNoYear of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
monthlyRange.endMonth.monthNoMonth of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
monthlyRange.startMonth.dayNoDay of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
monthlyRange.startMonth.yearNoYear of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
monthlyRange.startMonth.monthNoMonth of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds context that results are aggregated monthly, but does not describe pagination behavior, response format details, or any potential edge cases. This is acceptable but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the endpoint and a clear statement of purpose. The example request is useful but slightly verbose. All sentences contribute value with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (13 params) and no output schema, the description covers the core purpose and provides an illustrative example. It explains what is returned (keywords with monthly impressions). Missing details like pagination or response structure are partially covered by schema and annotations, making it fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already well-documented. The description adds no additional parameter semantics beyond the example request for monthlyRange, which is already covered by the schema. Baseline 3 is appropriate per guidelines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns search keywords used to find a business in search or maps, aggregated monthly. The verb 'Returns' and specific resource ('searchkeywords/impressions/monthly') make it distinct from siblings like getdailymetricstimeseries and fetchmultidailymetricstimeseries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context by describing the monthly aggregation and giving an example request. It implies when to use it (search keyword impressions) but does not explicitly mention alternatives or exclusions. However, the naming and description are sufficient to infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other 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/jie8357IOII/google-my-business-mcp'

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