Skip to main content
Glama

Score local presence

score_local_presence
Read-onlyIdempotent

Score a local business on three pillars, website (45 percent), Google reviews (30 percent) and Google Business Profile (25 percent), and return an overall 0 to 100 score, a letter grade, each pillar with its verdict, and the top fixes. The website pillar comes from a live scan when a website is given. Review and profile facts (rating, review count, phone, address, hours) are supplied by the caller from the user or from a public listing; this tool does not look them up. A pillar with no facts is marked unknown and left out of the overall score rather than scored as zero.

Input Schema

NameRequiredDescriptionDefault
cityNo
hoursNoPublished hours by day, for example {"Monday": "8 AM to 5 PM"}.
phoneNoPhone number shown on the listing.
stateNo
tradeNoThe trade in snake case, for example plumbing, hvac, roofing, electrical, dental, restaurant.
ratingNoGoogle star rating, 1.0 to 5.0.
addressNoStreet address shown on the listing.
websiteNoThe business website, if it has one. It is scanned live.
open_24_7NoTrue when the listing says open 24 hours.
source_urlsNoWhere the listing facts came from, such as the Google Maps URL.
details_readNoTrue only when the full listing was read, including its hours and website link. Missing hours or a missing website are only scored when this is true.
listing_seenNoTrue when the Google Business Profile was actually looked at. Defaults to true when a rating, review count or Google Maps URL is given.
review_countNoNumber of Google reviews.
business_nameYes
emergency_serviceNoTrue when the listing says it takes emergency or after-hours work.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, the description discloses real behavior: a live network scan is triggered by the website parameter (openWorld), the tool performs no external lookups for reviews/profile data, and missing facts produce an 'unknown' pillar that is excluded from the overall score rather than counted as zero. That last rule materially changes how an agent should interpret results and is not derivable from the schema or annotations.

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?

Three sentences, front-loaded with the scoring model and output before moving to sourcing rules. The first sentence is dense with parenthetical weights but every clause earns its place; there is no filler or 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?

With 15 parameters, nested hour objects and no output schema, the description compensates well: it describes the return shape (overall score, letter grade, pillar verdicts, top fixes) and defines the scoring weights and the unknown-pillar rule. An agent has what it needs to call this 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 already around 80%, so the baseline is 3, and the description adds genuine meaning on top: it explains the sourcing contract for rating/review_count/phone/address/hours and clarifies that the website value feeds a live scan. The 'unknown vs zero' note also indirectly informs the intent behind details_read and listing_seen, though it doesn't spell those flags out.

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 concrete verb and resource ('Score a local business') and enumerates the exact scoring model: website 45%, reviews 30%, Google Business Profile 25%, with a 0-100 overall and letter grade. It also names the return artifacts (per-pillar verdicts, top fixes), making it clearly distinguishable from the sibling scan_website, which only inspects a site.

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 sets the key usage boundary: the website pillar is scanned live when a URL is given, while review and profile facts are caller-supplied and 'this tool does not look them up.' That tells an agent what must be gathered before calling. It stops short of explicitly naming when to prefer a sibling tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources