Skip to main content
Glama
A1-x-Tech

mcp-google-business

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.1.0

  • Disambiguation5/5

    Each tool targets a distinct resource and action: accounts, locations, categories, attributes, metrics, reviews, and posts are all clearly separated. The only pair that could seem similar is get_daily_metrics and fetch_multi_daily_metrics, but their names and descriptions make the single-vs-batch distinction unambiguous.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern (list_accounts, get_location, update_location, create_local_post, delete_review_reply). The only outlier is raw_request, which is intentional as an escape hatch and does not disrupt the overall pattern.

    Tool Count4/5

    With 20 tools, the set is slightly on the heavier side but still well-scoped for Google Business Profile's broad domain. Each tool earns its place, covering accounts, locations, attributes, metrics, reviews, and posts, plus a raw request fallback.

    Completeness3/5

    The set covers most core workflows—locations (list/get/update), reviews (list/get/reply/delete reply), posts (CRUD), and metrics. However, there are notable gaps: no create_location or delete_location tools, and no way to read a location's attributes directly (only list metadata and update attributes).

  • Average 4.5/5 across 20 of 20 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 20 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable context: the API version caveat (legacy v4 API, never migrated to v1) and the fields returned. This provides behavioral insight beyond the annotations.

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

    Conciseness5/5

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

    The description is compact, with the main verb and resource in the first sentence, followed by a concise list of fields in the second. Every sentence contributes value, with no fluff or repetition.

    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?

    The description covers the tool's purpose, the returned post fields, and the API version caveat. While it doesn't mention pagination explicitly, the schema provides pageSize and pageToken, so the context is reasonably complete for a list operation without an output schema.

    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 the description does not need to explain parameters. The schema already documents each parameter (pageSize, accountId, pageToken, locationId) with clear descriptions. The description does not add extra parameter semantics.

    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 lists local posts for a location, with specific detail about post types (What's New / Event / Offer) and the resource name pattern. This distinguishes it from sibling create/update/delete tools.

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

    Usage Guidelines3/5

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

    The description implies this is for reading posts rather than modifying them, but it does not explicitly state when to use this tool over siblings or give exclusions. A brief alternative reference (e.g., 'use create_local_post to create') would improve clarity.

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

  • Behavior4/5

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

    Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds the behavior that a successful delete returns an empty response and that this tool is exclusive to the legacy v4 API, going beyond what annotations provide. It does not contradict annotations.

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

    Conciseness5/5

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

    The description is three concise sentences, each delivering distinct value: the action, the success response, and the critical legacy API context. No filler or redundancy, and the core purpose is front-loaded.

    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?

    For a destructive delete operation with no output schema, the description covers the action, the response format, and an important API constraint. It does not elaborate on error cases or idempotency details, but the annotations (destructive and idempotent hints) fill those gaps, making the description sufficiently 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?

    The input schema has 100% description coverage, with each parameter clearly documented (e.g., postId as the last segment of the post's name). The description adds no additional parameter semantics, so the baseline score of 3 applies.

    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 uses a specific verb ('Deletes') and resource ('local post from the Business Profile'), clearly differentiating this from sibling tools like create_local_post, update_local_post, and list_local_posts. It also notes the empty response and legacy v4 API context, leaving no ambiguity about the tool's function.

    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?

    The description provides essential context that local posts live only on the legacy v4 API and were never migrated to v1, implicitly guiding when this tool is applicable. It does not explicitly list alternatives or when-not-to-use scenarios, but the legacy API note is a clear usage signal.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint and destructiveHint, covering safety. The description adds valuable behavioral details: totalSize presence depends on filter, fields are controlled by readMask, and metadata must be requested for mapsUri/placeId/newReviewUri. This goes beyond annotations without contradicting them.

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

    Conciseness5/5

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

    Three sentences, each earning its place: purpose, id linkage, and conditional behavior. Front-loaded with the core verb and resource, no fluff or redundant restatement.

    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?

    For a list tool with no output schema, the description covers key caveats: id naming convention, totalSize condition, readMask effect, and metadata fields. It does not explicitly describe pagination behavior or default values, but the schema documents pageToken and pageSize defaults. Overall fairly complete for the tool's complexity.

    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% for all 6 parameters, so baseline is 3. The description adds some context about how the response id feeds locationId elsewhere, but this is output-related rather than param-specific. It reinforces readMask guidance already in the schema but doesn't materially extend parameter understanding.

    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 opens with 'Lists the business locations under an account', a specific verb+resource that clearly differentiates from siblings like get_location or list_accounts. It also states the API context (Business Information API) and explains how the returned id feeds other tools, further clarifying its role.

    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?

    The description provides context on when to use this tool: to get location IDs that feed locationId elsewhere (Performance API, reviews/posts). It also notes that totalSize only appears with a filter and that readMask limits fields, guiding usage. It does not explicitly name alternatives or say 'when not to use', but the guidance is clear.

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

  • Behavior4/5

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

    The description adds beyond annotations: empty response on success, legacy v4 only, and the scope (only the reply is deleted, not the review). This complements the destructiveHint and idempotentHint annotations; no contradictions.

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

    Conciseness5/5

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

    Two sentences, front-loaded with verb+resource, each sentence adds value. Extremely concise.

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

    Completeness5/5

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

    For a simple delete operation with no output schema, the description covers success behavior (empty response), scope, and API migration status. Enough for an agent to select and invoke correctly.

    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 the schema fully documents all three parameters. The description adds no additional parameter-level detail, meeting the baseline score.

    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?

    Specific verb 'Deletes' plus resource 'the business's reply to a review' clearly defines the action. The clarification that the review itself cannot be deleted distinguishes this from broader review deletion tools and prevents misuse.

    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?

    Provides a clear when-not: the review itself is customer-owned and cannot be deleted. It also notes the v4-only availability, guiding API choice. However, it doesn't explicitly name sibling tools like reply_to_review as the alternative for creating/updating replies.

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

  • Behavior5/5

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

    Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds crucial behavioral details beyond those: the multi-day lag, the meaning of missing values, and the int64-as-string serialization. This substantially improves agent understanding of response semantics.

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

    Conciseness5/5

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

    The description is concise yet information-dense, using two sentences to cover purpose, response shape, serialization, and lag. The structure is front-loaded with the core function, then details, and every clause carries value.

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

    Completeness5/5

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

    Given the simple parameter set and no output schema, the description fully equips the agent: it explains the response structure, value type, missing-data semantics, and latency behavior. This is complete for the tool's complexity.

    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 coverage is 100% and every parameter already has a clear description. The description adds no parameter-specific meaning beyond what the schema provides; it only repeats metric categories already captured by the enum. Baseline 3 is appropriate.

    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 a daily time series for one performance metric, listing the specific metric types. The 'ONE' qualifier distinguishes it from the sibling fetch_multi_daily_metrics, making the purpose and scope unambiguous.

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

    Usage Guidelines3/5

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

    The description implies usage for single-metric queries but does not explicitly reference alternatives or when not to use the tool. It lacks the direct 'use X instead' guidance seen in high-scoring examples, so the guidance is only implied.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds value by disclosing search behavior (exact/partial/fuzzy, relevance ranking) and the structure of each chain (name, chainNames, websites, locationCount), which enriches the agent's understanding beyond structured fields.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core action and search mode, followed by concise details about the return fields and usage hint. Every sentence earns its place with no redundancy or filler.

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

    Completeness5/5

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

    For a search tool with two parameters and no output schema, the description is complete: it explains what is searched, how it is matched, what is returned, and how to interpret the result for downstream usage. This fully equips the agent to invoke the tool effectively.

    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 both pageSize and chainName are already documented with descriptive text. The description reinforces that search is by name but doesn't add parameter-specific constraints or syntax beyond what the schema provides. It does add context about returned fields, but that's more output semantics than parameter semantics.

    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 searches business chains by name with exact/partial/fuzzy matching, and specifies the resource (business chains) and the outcome (ranked by relevance). It distinguishes itself from sibling tools like list_locations by focusing on chain-level search rather than listing locations.

    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?

    The description gives clear context on when to use this tool (searching for a chain by name) and even explains how to use the result ('Use the chain name when relating a location to its brand'). It doesn't explicitly mention alternatives or exclusions, but the intended use case is well implied.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint true, and destructiveHint false, so the safety profile is clear. The description adds useful behavioral context about the API version, path naming convention, and that the readMask controls which fields are returned, which goes beyond the annotations.

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

    Conciseness5/5

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

    The description is two sentences and directly states the core purpose, followed by a useful list of field options. It is front-loaded with the primary action and avoids irrelevant details, earning its place.

    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 tool's simplicity and the rich parameter descriptions in the schema, the description is adequately complete. It explains the API version, return a single location, and how readMask influences output. There's no output schema, but the description plus schema sufficiently cover what's needed for invocation.

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

    Parameters4/5

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

    Schema coverage is 100% and both parameters have descriptions. The description adds extra value by enumerating all possible readMask field choices (title, categories, etc.) and clarifying the acceptable formats for locationId, complementing the schema's example. This goes beyond what the schema alone provides.

    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 'Returns one location by id', specifying the exact resource and operation. It also distinguishes from sibling tools like list_locations and get_review by indicating it's a single-location lookup within the Business Information API.

    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?

    The description provides clear context for when to use this tool (fetching a single location by ID) and includes a subtle usage note about v1's bare path name. However, it does not explicitly mention alternatives or when not to use it, though the context implies it for single-location retrieval.

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

  • Behavior5/5

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

    Annotations already declare read-only/idempotent, but the description adds substantial behavioral detail: the exact response shape (reviews[] with name, reviewer, starRating, etc.), that starRating is an enum not a number, a pageSize cap of 50, and that reviews exist only on the legacy v4 API. This goes beyond structured annotations.

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

    Conciseness5/5

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

    Three sentences deliver core behavior, response contract, and a critical API-version caveat. Every clause is information-dense without redundancy, and the most important information is front-loaded.

    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 no output schema, the description compensates by fully describing the return shape, averageRating, totalReviewCount, and pagination cap. It also warns about the legacy v4 API. It doesn't cover error conditions or pageToken mechanics beyond schema, but that's acceptable for a read-only list operation.

    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?

    All 5 parameters have full schema descriptions (100% coverage), so the baseline is 3. The description adds minimal parameter-specific value beyond the schema—the pageSize cap and default ordering are already in the schema descriptions.

    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 states 'Lists reviews of a location' which is a specific verb-plus-resource, and adds 'newest-updated first by default' to clarify ordering. It clearly distinguishes from sibling get_review by focusing on plural reviews and includes the notable legacy v4 API context.

    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?

    The description gives clear context: what it lists, default sort, pageSize cap, and the legacy v4 API caveat. However, it does not explicitly compare with get_review or state when not to use it, so it falls short of explicit alternative guidance.

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

  • Behavior5/5

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

    Annotations already declare readOnly, openWorld, idempotent, and non-destructive. The description adds valuable behavioral details beyond annotations: the return shape matches list_reviews, starRating is an enum ONE..FIVE, reviewReply is conditional, and the API legacy constraint. This greatly enriches what an agent knows about the tool's behavior.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the core action, then delivering two high-value clarifications (return shape and API version). No wasted words.

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

    Completeness5/5

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

    For a simple getter, the description covers return shape via the list_reviews reference, enumerates the starRating values, specifies when reviewReply is present, and warns about the API version. With no output schema, this is sufficient context, and sibling tools (list_reviews, reply_to_review) make the ecosystem clear.

    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?

    Input schema fully documents all three parameters (100% coverage), including formats and source of reviewId. The description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 applies.

    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 it returns one review by id, with a specific verb and resource. It also explicitly distinguishes itself from list_reviews by noting the same shape as a list_reviews entry, making its scoped purpose unambiguous.

    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?

    The description provides important context: reviews live only on the legacy v4 API and were never migrated to v1, which guides when this tool should be used. It implicitly distinguishes from list_reviews (single vs. many) but does not explicitly name alternatives or exclusions.

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

  • Behavior5/5

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

    Beyond the annotations (readOnly, idempotent, etc.), the description adds valuable behavioral context: the personal account ordering, the unusually small pageSize cap at 20, and the need to follow nextPageToken. It also explains how the 'name' field feeds accountId into other tools.

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

    Conciseness5/5

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

    Three compact, information-dense sentences with no fluff. Front-loaded with the core purpose, then response fields, then a critical pagination caveat.

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

    Completeness5/5

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

    No output schema exists, so the description carries the burden of explaining return values. It lists all major fields, explains the id format, covers pagination, and specifies the pageSize cap. This is complete for a simple list tool.

    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 coverage is 100%, so the baseline is 3. The description does not add much about parameters themselves beyond what the schema already provides, though it reinforces the pageSize cap and nextPageToken behavior. The main added value is about the response structure, not the parameters.

    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 uses a specific verb ('Lists') and resource ('Google Business Profile accounts'), clearly distinguishing it from sibling tools like list_locations. It also defines the exact scope ('the authenticated user can access') and provides response field details.

    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?

    The description implies when to use it (to get accounts and account IDs for other tools) and notes the pagination cap. It does not explicitly name alternatives or exclusions, but context is clear enough for an agent to decide.

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

  • Behavior4/5

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

    Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds valuable context by outlining the structure of each returned entry (parent, valueType, displayName, repeatable, valueMetadata), which is not present in the schema or annotations. It stops short of discussing pagination or potential edge cases, but the added detail is meaningful.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core purpose, then usage alternatives, then return-field details. Every sentence earns its place with no filler or redundancy.

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

    Completeness5/5

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

    Given the tool's complexity (7 params, no output schema, rich annotations), the description covers the essential behaviors: what it lists, the two invocation modes, and the shape of each entry. It is fully sufficient for an agent to understand and invoke the tool correctly.

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

    Parameters4/5

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

    Schema coverage is 100%, so baseline is 3. The description enriches this by explaining the OR relationship between locationId and categoryName+regionCode, and clarifying that 'parent' corresponds to the attribute id used in update_location_attributes. This adds semantic meaning beyond individual parameter descriptions.

    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 uses a specific verb ('Lists') and clearly defines the resource ('attributes') with concrete examples and scope ('for a location or for a category+region'). It distinguishes from siblings like list_categories and update_location_attributes by focusing on attribute metadata and legal values.

    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?

    The description explicitly instructs when to pass locationId versus categoryName+regionCode, and references update_location_attributes as the consumer of the 'parent' id. While it doesn't name alternative tools for contrast, the usage pattern is clear and actionable.

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

  • Behavior4/5

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

    Annotations already mark the operation as read-only, idempotent, and non-destructive. The description adds meaningful behavioral detail about the taxonomy's downstream use and the additional data returned by view=FULL, going beyond what annotations convey without contradiction.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core action, and every clause provides useful context—usage, parameter effects, and relationships to sibling operations. No wasted words.

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

    Completeness5/5

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

    Despite lacking an output schema, the description outlines the primary returned fields (name, displayName, serviceTypes, moreHoursTypes) and explains how the taxonomy connects to other functions. It sufficiently covers the tool's purpose, parameters, and behavior for an agent to invoke it correctly.

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

    Parameters4/5

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

    Since schema coverage is 100%, the schema already documents all parameters. The description adds contextual meaning by explaining that filter narrows by display name and that category names are used as identifiers in other tools, providing value beyond raw parameter definitions.

    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 uses specific verbs ('Lists/searches') and a clear resource ('the reference taxonomy of business categories'), immediately distinguishing it from sibling tools like list_locations or list_attribute_metadata. The example 'gcid:restaurant' and the connection to other tools clarify its role.

    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?

    The description implicitly guides when to use the tool by stating that category names feed location.categories and categoryName, and explains how view and filter parameters affect results. It lacks an explicit 'when not to use' but provides clear contextual alignment with related operations.

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

  • Behavior5/5

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

    Beyond the readOnlyHint, openWorldHint, and idempotentHint annotations, the description discloses a critical behavioral nuance: insightsValue is a union that can be either an exact value or a threshold for low-volume keywords, and it explicitly warns against summing thresholds as exact counts. It also clarifies that months are calendar months and that the current month's data lags, which is useful for interpreting results.

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

    Conciseness5/5

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

    The description is just two sentences. The first establishes the primary purpose, and the second covers the response union and the key caveat about thresholds. Every sentence earns its place, and the most important warning is prominently placed.

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

    Completeness5/5

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

    For a tool with a union return type and time-sensitive data, the description fully covers the essential aspects: response shape, union semantics, month calendar handling, and the lag. Since the schema already documents all parameters and there is no output schema, this description is complete enough for an agent to invoke the tool and correctly interpret returns.

    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?

    All five parameters are already thoroughly described in the input schema (100% coverage), including formats, defaults, and the relationship of locationId to list_locations. The description does not add parameter-specific details, such as how startMonth and endMonth interact with the lag, so it remains at the schema-documented baseline of 3.

    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 begins with a specific verb and resource: 'Returns the search keywords that surfaced the business on Google, month by month.' This clearly communicates what the tool does and distinguishes it from siblings such as get_daily_metrics or search_chains by emphasizing monthly, keyword-level Google impression data. The title 'Monthly search keywords' reinforces the same.

    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?

    The description clearly implies when to use this tool—when you need monthly search keyword impressions—and adds practical context by noting that current month data appears with a lag, which helps set expectations. However, it does not explicitly mention alternatives, such as 'use search_chains for chain-level data' or 'use get_daily_metrics for daily trends,' and there are no explicit exclusions.

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

  • Behavior4/5

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

    Annotations already mark the tool as destructive and non-idempotent. The description adds valuable behavioral details: Bearer token auto-attachment, rejection of foreign-origin paths, and the v1 quirk that readMask/updateMask belong in query parameters. This goes beyond the annotations to explain safety and request construction nuances.

    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 a single dense paragraph but each sentence contributes meaning—purpose, service selection, path format, and quirks. It is front-loaded with the primary use case and remains appropriately sized for the tool's complexity, though it could benefit from a slight structural split.

    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?

    For a 5-parameter tool with no output schema, the description covers the essential operational context: supported services, path construction, auth, and a safety constraint. Since this is a raw API caller, the return format is inherently whatever the underlying API returns, so not describing it is acceptable. The description handles the critical gotchas.

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

    Parameters4/5

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

    Although the schema already describes each parameter, the description adds essential semantics for the service parameter by mapping each enum value to its host and API version. It also provides concrete path examples, which helps the agent construct valid paths beyond the schema's minimal definition.

    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 this tool is an 'escape hatch to call any Google Business Profile endpoint directly, for endpoints without a dedicated tool.' This uses a specific verb and resource, and immediately distinguishes it from the many sibling tools by specifying when it should be used.

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

    Usage Guidelines5/5

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

    It explicitly says to use this tool 'for endpoints without a dedicated tool,' which is a clear usage guideline. It also explains how to choose the correct service and describes the path format, giving the agent the context needed to decide when raw_request is appropriate.

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

  • Behavior5/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, and the description adds valuable behavioral context beyond that: the multi-day lag for recent metrics and that empty values near today are normal, not errors. It also discloses the response shape and that values are int64 strings, which is useful for parsing.

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

    Conciseness5/5

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

    The description is compact yet information-dense, covering purpose, relationship to sibling, response format, value types, quota benefit, and a critical data-lag caveat in just three sentences. Every sentence earns its place with no repetition or filler.

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

    Completeness5/5

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

    Despite having no output schema, the description explicitly outlines the nested response structure (multiDailyMetricTimeSeries[].dailyMetricTimeSeries[] of {dailyMetric, timeSeries.datedValues[]}), value type, and the lag behavior. This is complete for a complex batch tool, and the sibling differentiation and quota rationale cover the operational context.

    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?

    The input schema has 100% description coverage for all four parameters, so the schema already documents their meaning and constraints. The description adds context about batching and response structure, but does not add meaning for the parameters themselves beyond what the schema provides, so it stays at the baseline.

    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 daily time series for several performance metrics in one batched call, and explicitly differentiates it from the sibling tool get_daily_metrics by noting it returns 'same data as get_daily_metrics, but batched.' This is a specific verb+resource+scope definition with no ambiguity.

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

    Usage Guidelines5/5

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

    It gives explicit when-to-use guidance: 'Prefer this over several get_daily_metrics calls to save quota.' It also names the alternative (get_daily_metrics) and describes the batching advantage, making the choice between sibling tools clear.

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

  • Behavior5/5

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

    The description adds several behavioral details beyond the annotations: PUT upsert overwriting, verified-location requirement, rate limit of 10 edits/min, and v4-only availability. These complement the idempotent hint and readOnly=false without contradicting any annotations.

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

    Conciseness5/5

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

    Two sentences pack a large amount of relevant detail without redundancy. Information is ordered from the core verb to the implications, making it front-loaded.

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

    Completeness5/5

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

    Given the 4 required params and no output schema, the description covers prerequisites (verified locations), return value format (ReviewReply {comment, updateTime}), rate-limit implications, and API version. This is comprehensive for an AI agent to decide when and how to invoke it.

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

    Parameters4/5

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

    Schema covers all 4 params with descriptions, but the description adds meaning about the upsert effect on the existing reply and the reply text constraints. It clarifies that comment will replace any prior reply, which is not encoded in the schema, and notes the return value.

    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 opens with 'Creates OR replaces the business's public reply to a review,' which clearly identifies the action and resource. It also distinguishes itself from sibling tools like delete_review_reply and get_review by explaining the PUT upsert semantics and that it returns the ReviewReply.

    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 explains that this only works on verified locations, clarifies there is no separate create (calling again overwrites), and notes the legacy v4 API constraint. However, it doesn't explicitly name alternative tools for specific conditions (e.g., 'use delete_review_reply to remove'), so it misses the explicit alternatives benchmark.

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

  • Behavior5/5

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

    Annotations already establish mutation (readOnlyHint=false) and idempotency, but the description adds critical non-obvious behavior: PATCH semantics with updateMask, the 10-edits-per-minute hard cap, validateOnly behavior, and that it returns the updated Location. This exceeds what annotations alone convey.

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

    Conciseness5/5

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

    The description is four sentences, front-loaded with the core purpose, then usage, then the rate-limit caveat, and ends with return type. Every sentence earns its place with no redundancy.

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

    Completeness5/5

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

    For a mutation tool with no output schema, the description covers update semantics, an example, validation mode, rate limiting, batching advice, and return value. Sibling tools overlap but the description is complete enough to use correctly.

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

    Parameters4/5

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

    Schema coverage is 100%, so the baseline is 3, but the description adds a concrete example showing how location and updateMask interact, and clarifies validateOnly. This exceeds mere schema documentation.

    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 states a specific verb+resource ('Updates fields of a location') and clearly differentiates from sibling tools like update_location_attributes. It also specifies the PATCH method and the required updateMask, making the purpose unambiguous.

    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?

    The description provides clear usage context: how to pass new values, the role of updateMask, validateOnly for dry-run checks, and a rate limit note advising batching. It does not explicitly mention when to use this instead of alternatives, but the context is strong enough.

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

  • Behavior5/5

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

    Beyond annotations (readOnlyHint=false, idempotentHint=true, etc.), the description discloses the updateMask partial-update behavior, ALERT rejection risk, rate limit, legacy v4 API constraint, and return value. This is rich context that annotations alone do not provide. No contradiction with annotations.

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

    Conciseness5/5

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

    The description is dense but every sentence provides actionable information: patch semantics, field structure, restrictions, rate limit, API compatibility. No filler words or redundant repetition of schema content. Appropriately front-loaded with the core action and key constraint.

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

    Completeness5/5

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

    For a complex tool with 5 required params, nested objects, and no output schema, the description is complete: it explains the updateMask behavior, nested field hierarchy, required fields for EVENT/OFFER, media format, ALERT restrictions, rate limit, and legacy API context. An agent has all needed information to invoke it correctly.

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

    Parameters5/5

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

    Although schema covers each top-level parameter (100% coverage), the description adds substantial meaning for nested objects (callToAction, event, offer, media) with allowed values, required conditions, and examples for updateMask. This goes far beyond the schema's minimal descriptions, especially for the unstructured 'post' object.

    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 'Updates fields of an existing local post' with a specific verb and resource, and distinguishes it from sibling tools like create_local_post and delete_local_post by emphasizing 'existing' and the PATCH/updateMask mechanism. The scope is unambiguous.

    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?

    The description implies usage for existing posts and gives important context: ALERT posts are restricted/rejected and the 10 edits/min cap. It does not explicitly name alternatives like create_local_post for new posts, but the distinction is clear enough for an agent. Lacking explicit 'when not to use' but context is strong.

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

  • Behavior5/5

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

    The description goes well beyond the annotations, detailing PATCH semantics, the attributeMask default/clearing behavior, the required value formats (BOOL/ENUM, uriValues, repeatedEnumValue), and the rate limit cap. This adds significant behavioral context beyond the readOnlyHint/destructiveHint/idempotentHint annotations, with no contradictions.

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

    Conciseness5/5

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

    The description is concise and well-structured, with four sentences each containing essential information: purpose, attribute format, mask default/clearing, and rate limit. It is front-loaded with the tool's action and has no filler, making every sentence earn its place.

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

    Completeness5/5

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

    Given the tool's complexity (attribute update with flexible value types, mask logic) and the availability of strong annotations, the description covers all necessary aspects for selection and invocation. It explains how to use the tool effectively, including edge cases like clearing attributes, and even mentions the per-profile rate cap. No output schema exists, but the description's operational detail is sufficient for an update operation.

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

    Parameters5/5

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

    Although schema coverage is 100%, the description enriches parameter understanding substantially. It explains the source of attribute names from list_attribute_metadata's parent field, the allowed value shapes for the attributes array, and the default behavior of attributeMask. This goes beyond the schema's individual parameter descriptions and provides critical usage nuance.

    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's purpose: 'Updates attributes of a location (PATCH)' with a specific verb and resource. It distinguishes itself from siblings like update_location by focusing on attributes, and references list_attribute_metadata for attribute IDs, providing scope and precision.

    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?

    The description provides clear usage context, including how to construct attributes (name + value types), how attributeMask defaults to passed attribute names, and how to clear attributes by naming them in the mask with no values. It also mentions the rate limit cap. While it doesn't explicitly contrast with alternatives, the context makes the intended use clear.

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

  • Behavior5/5

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

    Annotations already set readOnlyHint=false and idempotentHint=false, but the description adds the return state (usually PROCESSING before LIVE), the rate limit, and the legacy-v4-API restriction. This goes beyond annotations and does not contradict them.

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

    Conciseness5/5

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

    The description is a single dense paragraph, front-loaded with the action and then systematically covering return format, ALERT restrictions, rate limits, and API scope. Every clause earns its place; no filler or schema repetition.

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

    Completeness5/5

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

    Given the complex nested LocalPost object and three required parameters, the description is thorough: it discloses the return value with state, warns about ALERT rejections, and informs about rate and API-version constraints. This is complete for a successful invocation.

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

    Parameters5/5

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

    While schema coverage is 100%, the description explains the nested `post` object fields in detail: topicType options, callToAction structure, required event/offer fields, and media format. This significantly helps construct a valid request beyond the schema's brief example.

    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 states 'Publishes a new local post on the Business Profile' with a specific verb and resource. This clearly distinguishes it from sibling tools like list_local_posts, update_local_post, and delete_local_post by focusing on creation.

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

    Usage Guidelines5/5

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

    The description explicitly warns that ALERT posts are restricted to Google-initiated campaigns and are typically rejected, and notes that local posts exist only on the legacy v4 API. It also mentions the 10 edits/min rate cap, providing clear when/when-not context.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-google-business MCP server

Copy to your README.md:

Score Badge

mcp-google-business MCP server

Copy to your README.md:

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/A1-x-Tech/mcp-google-business'

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