Skip to main content
Glama
Crawlora MCP

Crawlora MCP

Official

datasets_google_map_facets

Returns aggregation counts for Google Maps business facets such as category, geography, and website status, enabling filtering and exploration of stored business records.

Instructions

Facet stored Google Maps businesses. Returns terms aggregation counts for Google Maps businesses. Facet enum: category, country, state, state_code, county, county_code, city, town, website_status. Category facet values are exact locale-specific Google Maps labels and can be localized, non-ASCII, or contain punctuation; pass a returned value unchanged to the category filter. state and county keep each country's own administrative vocabulary (e.g. Provincia de Madrid, Département du Nord); state_code and county_code are ISO 3166-2 codes populated today only for Canadian provinces and territories (e.g. CA-ON) and Irish counties (e.g. IE-D); every other record, including all US rows, carries no code and is absent from the code facets.

Input Schema

NameRequiredDescriptionDefault
qNoFull-text business search query, max 256 characters; every term must match the name, address, headline or category (filler words such as in, near and the are ignored)
latNoLatitude for radius filtering
lonNoLongitude for radius filtering
cityNoExact city filter, max 128 characters
sortNoSort enum: relevance, updated_at_desc, rating_desc, review_count_desc, distance_asc
townNoExact town filter, max 128 characters
facetYesFacet enum: category, country, state, state_code, county, county_code, city, town, website_status
stateNoExact state filter, max 128 characters
countyNoExact county filter, max 128 characters
countryNoCountry filter. Accepts the full English name (\
has_geoNoFilter by location presence: true keeps only mappable businesses with coordinates; false isolates locationless service-area businesses that have no map location
categoryNoExact locale-specific Google Maps category label; use the category facet to discover values, max 128 characters
radius_mNoRadius in meters, 1 through 50000; requires lat and lon when supplied
has_phoneNoFilter by phone presence
min_ratingNoMinimum rating, 0 through 5. Businesses with no aggregate Google rating are returned with rating null, so any min_rating above 0 excludes them.
state_codeNoExact ISO 3166-2 state/region code filter, e.g. CA-ON, max 128 characters. Only Canadian provinces and territories carry a code today, so US codes such as US-NV return no rows; filter other countries by state, county or city. Use facet=state_code to list values
county_codeNoExact ISO 3166-2 county/district code filter, e.g. IE-D, max 128 characters. Only Irish counties carry a code today; filter other countries by county or city. Use facet=county_code to list values
has_websiteNoFilter by website presence
min_review_countNoMinimum review count
permanently_closedNoClosure filter. true keeps only businesses Google marks Permanently closed; false excludes them, keeping every business not known to be closed. Most rows have never been status-checked and are returned with permanently_closed null, which means unknown, not open.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.17.16
    • changedInput schema / properties / county_code / description
      Previous value: -"Exact ISO 3166-2 county/district code filter, e.g. FR-59 or IT-RM, max 128 characters; use facet=county_code to discover values"New value: +"Exact ISO 3166-2 county/district code filter, e.g. IE-D, max 128 characters. Only Irish counties carry a code today; filter other countries by county or city. Use facet=county_code to list values"
    • changedInput schema / properties / q / description
      Previous value: -"Full-text business search query, max 256 characters"New value: +"Full-text business search query, max 256 characters; every term must match the name, address, headline or category (filler words such as in, near and the are ignored)"
    • changedInput schema / properties / state_code / description
      Previous value: -"Exact ISO 3166-2 state/region code filter, e.g. US-CA or FR-HDF, max 128 characters; use facet=state_code to discover values"New value: +"Exact ISO 3166-2 state/region code filter, e.g. CA-ON, max 128 characters. Only Canadian provinces and territories carry a code today, so US codes such as US-NV return no rows; filter other countries by state, county or city. Use facet=state_code to list values"
  2. Changed2 schema fields changedv1.17.5
    • addedInput schema / properties / facet / enum
      Added value: +[
      +  "category",
      +  "country",
      +  "state",
      +  "state_code",
      +  "county",
      +  "county_code",
      +  "city",
      +  "town",
      +  "website_status"
      +]
    • addedInput schema / properties / sort / enum
      Added value: +[
      +  "relevance",
      +  "updated_at_desc",
      +  "rating_desc",
      +  "review_count_desc",
      +  "distance_asc"
      +]
  3. Changed5 schema fields changedv1.16.2
    • changedInput schema / properties / country / description
      Previous value: -"Exact country filter, max 128 characters"New value: +"Country filter. Accepts the full English name (\\"
    • addedInput schema / properties / county_code
      Added value: +{
      +  "description": "Exact ISO 3166-2 county/district code filter, e.g. FR-59 or IT-RM, max 128 characters; use facet=county_code to discover values",
      +  "type": "string"
      +}
    • changedInput schema / properties / facet / description
      Previous value: -"Facet enum: category, country, state, county, city, town, website_status"New value: +"Facet enum: category, country, state, state_code, county, county_code, city, town, website_status"
    • addedInput schema / properties / permanently_closed
      Added value: +{
      +  "description": "Closure filter. true keeps only businesses Google marks Permanently closed; false excludes them, keeping every business not known to be closed. Most rows have never been status-checked and are returned with permanently_closed null, which means unknown, not open.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / state_code
      Added value: +{
      +  "description": "Exact ISO 3166-2 state/region code filter, e.g. US-CA or FR-HDF, max 128 characters; use facet=state_code to discover values",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / category / description
      Previous value: -"Exact category filter: a Google Maps type token in lower-case snake_case (e.g. dentist, bus_stop), max 128 characters"New value: +"Exact locale-specific Google Maps category label; use the category facet to discover values, max 128 characters"
  5. Changed3 schema fields changedv1.2.0
    • changedInput schema / properties / category / description
      Previous value: -"Exact category filter, max 128 characters"New value: +"Exact category filter: a Google Maps type token in lower-case snake_case (e.g. dentist, bus_stop), max 128 characters"
    • addedInput schema / properties / has_geo
      Added value: +{
      +  "description": "Filter by location presence: true keeps only mappable businesses with coordinates; false isolates locationless service-area businesses that have no map location",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / min_rating / description
      Previous value: -"Minimum rating, 0 through 5"New value: +"Minimum rating, 0 through 5. Businesses with no aggregate Google rating are returned with rating null, so any min_rating above 0 excludes them."
  6. Addedv1.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden, and it does well: it states the return shape (terms aggregation counts), warns category values are localized/non-ASCII/punctuated, and critically explains that state_code/county_code facets are absent for all US rows and most countries. It stops short of stating that counts respect the other filter params or any row/aggregation limits.

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?

Front-loaded with the core purpose, then the facet-specific caveats in descending importance. Some waste in restating the facet enum list that the schema already enumerates, and the administrative-vocabulary sentence is dense, but most sentences earn their place given the data quirks.

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 20-param, no-annotation, no-output-schema tool, the description gives the return shape and the key data-population caveats an agent needs to interpret empty facets. The main missing piece is whether the non-facet filters narrow the counts and any result-size limits, which a caller may need to know.

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, and the prose adds real value beyond the schema: it explains the admin-vocabulary semantics of state vs state_code (e.g. 'CA-ON', 'IE-D') and the ISO 3166-2 population limits. It does not clarify how the 19 other filter params interact with facet computation, so it isn't a full 5.

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

Purpose4/5

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

The description opens with a specific verb and resource: 'Facet stored Google Maps businesses. Returns terms aggregation counts.' An agent can tell this is an aggregation/facet operation rather than a record fetch. It does not explicitly name the sibling search/nearby tools, but the facet resource is unambiguous within the datasets_google_map_* family.

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 concrete usage guidance: pass a returned category value unchanged to the category filter, and it warns that state_code/county_code are only populated for Canadian and Irish records, so US/other rows will be absent. It implies you call this to discover filter values, but doesn't explicitly say 'use before search' or name the alternative tool for record retrieval.

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

Deploy Server

Other Tools