Skip to main content
Glama

Local POI search (enrichment)

brave_local_search
Read-only

Brave Local Search API returns enriched information (address, phone, hours, rating) for location-search results. Access requires the Brave Search API Pro plan; currently US-only. Two-step flow: first call brave_web_search with result_filter=locations to obtain locations.results[].id, then pass them here. NOTE: This tool takes location IDs from a prior web-search response; if you have a free-text query, call brave_web_search first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsYesOne or more location IDs returned by a prior `brave_web_search` with `result_filter=locations`. Up to 20 IDs per call.
unitsNoMeasurement system.
ui_langNoUser interface language for the response, in the form <lang>-<country> (e.g. en-US).
search_langNo2-letter language code for the search. Defaults to en.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed22 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / count
      Removed value: -{
      -  "default": 10,
      -  "description": "Number of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)",
      -  "maximum": 20,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / country
      Removed value: -{
      -  "default": "US",
      -  "description": "Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.",
      -  "enum": [
      -    "ALL",
      -    "AR",
      -    "AU",
      -    "AT",
      -    "BE",
      -    "BR",
      -    "CA",
      -    "CL",
      -    "DK",
      -    "FI",
      -    "FR",
      -    "DE",
      -    "HK",
      -    "IN",
      -    "ID",
      -    "IT",
      -    "JP",
      -    "KR",
      -    "MY",
      -    "MX",
      -    "NL",
      -    "NZ",
      -    "NO",
      -    "CN",
      -    "PL",
      -    "PT",
      -    "PH",
      -    "RU",
      -    "SA",
      -    "ZA",
      -    "ES",
      -    "SE",
      -    "CH",
      -    "TW",
      -    "TR",
      -    "GB",
      -    "US"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / extra_snippets
      Removed value: -{
      -  "description": "A snippet is an excerpt from a page you get as a result of the query, and extra_snippets allow you to get up to 5 additional, alternative excerpts. Only available under Free AI, Base AI, Pro AI, Base Data, Pro Data and Custom plans.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / freshness
      Removed value: -{
      -  "description": "Filters search results by when they were discovered. The following values are supported: 'pd' - Discovered within the last 24 hours. 'pw' - Discovered within the last 7 days. 'pm' - Discovered within the last 31 days. 'py' - Discovered within the last 365 days. 'YYYY-MM-DDtoYYYY-MM-DD' - Timeframe is also supported by specifying the date range e.g. 2022-04-01to2022-07-30.",
      -  "enum": [
      -    "pd",
      -    "pw",
      -    "pm",
      -    "py",
      -    "YYYY-MM-DDtoYYYY-MM-DD"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / goggles
      Removed value: -{
      -  "description": "Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart).",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / ids
      Added value: +{
      +  "description": "One or more location IDs returned by a prior `brave_web_search` with `result_filter=locations`. Up to 20 IDs per call.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / offset
      Removed value: -{
      -  "default": 0,
      -  "description": "Pagination offset (max 9, default 0)",
      -  "maximum": 9,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / query
      Removed value: -{
      -  "description": "Search query (max 400 chars, 50 words)",
      -  "maxLength": 400,
      -  "type": "string"
      -}
    • removedInput schema / properties / result_filter
      Removed value: -{
      -  "default": [
      -    "web",
      -    "query"
      -  ],
      -  "description": "Result filter (default ['web', 'query'])",
      -  "items": {
      -    "enum": [
      -      "discussions",
      -      "faq",
      -      "infobox",
      -      "news",
      -      "query",
      -      "summarizer",
      -      "videos",
      -      "web",
      -      "locations",
      -      "rich"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / safesearch
      Removed value: -{
      -  "default": "moderate",
      -  "description": "Filters search results for adult content. The following values are supported: 'off' - No filtering. 'moderate' - Filters explicit content (e.g., images and videos), but allows adult domains in search results. 'strict' - Drops all adult content from search results. The default value is 'moderate'.",
      -  "enum": [
      -    "off",
      -    "moderate",
      -    "strict"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / search_lang / default
      Removed value: -"en"
    • changedInput schema / properties / search_lang / description
      Previous value: -"Search language preference. The 2 or more character language code for which the search results are provided."New value: +"2-letter language code for the search. Defaults to en."
    • removedInput schema / properties / search_lang / enum
      Removed value: -[
      -  "ar",
      -  "eu",
      -  "bn",
      -  "bg",
      -  "ca",
      -  "zh-hans",
      -  "zh-hant",
      -  "hr",
      -  "cs",
      -  "da",
      -  "nl",
      -  "en",
      -  "en-gb",
      -  "et",
      -  "fi",
      -  "fr",
      -  "gl",
      -  "de",
      -  "gu",
      -  "he",
      -  "hi",
      -  "hu",
      -  "is",
      -  "it",
      -  "jp",
      -  "kn",
      -  "ko",
      -  "lv",
      -  "lt",
      -  "ms",
      -  "ml",
      -  "mr",
      -  "nb",
      -  "pl",
      -  "pt-br",
      -  "pt-pt",
      -  "pa",
      -  "ro",
      -  "ru",
      -  "sr",
      -  "sk",
      -  "sl",
      -  "es",
      -  "sv",
      -  "ta",
      -  "te",
      -  "th",
      -  "tr",
      -  "uk",
      -  "vi"
      -]
    • removedInput schema / properties / spellcheck
      Removed value: -{
      -  "default": true,
      -  "description": "Whether to spellcheck the provided query.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / summary
      Removed value: -{
      -  "description": "This parameter enables summary key generation in web search results. This is required for summarizer to be enabled.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / text_decorations
      Removed value: -{
      -  "default": true,
      -  "description": "Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / ui_lang / default
      Removed value: -"en-US"
    • changedInput schema / properties / ui_lang / description
      Previous value: -"The language of the UI. The 2 or more character language code for which the search results are provided."New value: +"User interface language for the response, in the form <lang>-<country> (e.g. en-US)."
    • removedInput schema / properties / ui_lang / enum
      Removed value: -[
      -  "es-AR",
      -  "en-AU",
      -  "de-AT",
      -  "nl-BE",
      -  "fr-BE",
      -  "pt-BR",
      -  "en-CA",
      -  "fr-CA",
      -  "es-CL",
      -  "da-DK",
      -  "fi-FI",
      -  "fr-FR",
      -  "de-DE",
      -  "zh-HK",
      -  "en-IN",
      -  "en-ID",
      -  "it-IT",
      -  "ja-JP",
      -  "ko-KR",
      -  "en-MY",
      -  "es-MX",
      -  "nl-NL",
      -  "en-NZ",
      -  "no-NO",
      -  "zh-CN",
      -  "pl-PL",
      -  "en-PH",
      -  "ru-RU",
      -  "en-ZA",
      -  "es-ES",
      -  "sv-SE",
      -  "fr-CH",
      -  "de-CH",
      -  "zh-TW",
      -  "tr-TR",
      -  "en-GB",
      -  "en-US",
      -  "es-US"
      -]
    • changedInput schema / properties / units / description
      Previous value: -"The measurement units. If not provided, units are derived from search country."New value: +"Measurement system."
    • changedInput schema / required
      Previous value: -[
      -  "query"
      -]New value: +[
      +  "ids"
      +]
  2. Added
  3. Removed
  4. Added
  5. Removed
  6. Added
  7. Removed
  8. Added
  9. Removed
  10. Added
  11. Removed
  12. Added
  13. Removed
  14. Added
  15. Removed
  16. Added
  17. Removed
  18. Added
  19. Removed
  20. Changed4 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / units / anyOf
      Removed value: -[
      -  {
      -    "const": "metric",
      -    "type": "string"
      -  },
      -  {
      -    "const": "imperial",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / units / enum
      Added value: +[
      +  "metric",
      +  "imperial"
      +]
    • addedInput schema / properties / units / type
      Added value: +"string"
  21. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, non-destructive. Description adds context: requires Pro plan, US-only, two-step flow. No contradictions. Could mention rate limits or ID expiration, but sufficient.

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?

Single paragraph, no wasted words. Front-loaded with core purpose, then prerequisites and usage notes. Efficient and scannable.

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?

Covers main points: enrichment, prerequisites, US-only, Pro plan. No output schema, but mentions returned fields (address, phone, hours, rating). Could include idempotency or id lifespan, but adequate for typical use.

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 3. Description adds meaning for 'ids' parameter: source from prior search and limit of 20 IDs. Other parameters have schema descriptions, but no extra from description.

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 ('returns enriched information') and resource ('location-search results'), clearly distinguishing from siblings like brave_web_search by explaining the two-step flow.

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?

Explicitly states when to use (after brave_web_search with result_filter=locations) and when not (free-text queries should go to brave_web_search). Provides clear alternative with brave_web_search.

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.