Skip to main content
Glama

brave_place_search

brave_place_search

Search for nearby places, businesses, cities, addresses, and streets by coordinates or location, and return structured POI details for local queries.

Instructions

Searches Brave's Place Search API. A single call may populate any combination of 'results' (POIs), 'cities', 'addresses', 'streets', and 'location' (the resolved search area), depending on the query's shape.

When to use:
    - POIs near coordinates or a named area (e.g. "coffee shops in Paris") -> 'results', each with structured business data (postal address, hours, contact, ratings, photos, categories, timezone).
    - Browsing general POIs (omit 'query'; supply 'latitude'+'longitude' or 'location').
    - Disambiguating a bare city name (e.g. "springfield") -> 'cities'.
    - Resolving a specific address (e.g. "350 5th avenue" with NYC coords) -> 'addresses' (often plus 'streets').
    - Looking up a street by name (e.g. "michigan avenue" with Chicago coords) -> 'streets'.

Inputs:
    - Anchor the search via 'latitude'+'longitude' or 'location' (or both). With neither, 'query' is required.
    - 'addresses' / 'streets' only surface when the query is address-/street-shaped AND geographically anchored.
    - 'location' format: US -- '<city> <state> <country>' (e.g. 'san francisco ca united states'); non-US -- '<city> <country>' (e.g. 'tokyo japan'). Capitalization and commas don't matter.
    - 'count' caps results (max 50, default 20). 'radius' (meters) biases toward closer results; it does NOT hard-limit the search area.

Input Schema

NameRequiredDescriptionDefault
countNoNumber of results to return. Maximum is 50. Default is 20.
queryNoQuery string. Shape influences the response: POI-like queries -> `results`; bare/ambiguous city names -> `cities`; address- or street-shaped queries with a geographic anchor -> `addresses` and/or `streets`. If omitted, returns general POIs in the supplied area.
unitsNoUnits of measurement for distance values. Defaults to 'metric'.
acceptNoThe default supported media type is application/json.
geolocNoOptional geolocation token used to refine results.
radiusNoBias toward results closer to the supplied coordinates, in meters. NOT a hard cutoff -- the API may still return more distant results. If omitted, the search is performed globally.
countryNoTwo-letter country code (ISO 3166-1 alpha-2) used to scope the search. Defaults to 'US'.
ui_langNoUser interface language for the response, usually of the form '<language>-<region>'. Defaults to 'en-US'.
latitudeNoLatitude of the geographical coordinates around which to search, in degrees (-90 to 90). Typically paired with `longitude`.
locationNoLocation string to search around, used as an alternative to `latitude` and `longitude`. For US locations prefer the form '<city> <state> <country name>' (e.g. 'san francisco ca united states'); for non-US locations use '<city> <country name>' (e.g. 'tokyo japan'). No commas or special characters needed; capitalization does not matter.
longitudeNoLongitude of the geographical coordinates around which to search, in degrees (-180 to 180). Typically paired with `latitude`.
safesearchNoSafe search level for the query results. 'off' - No filtering. 'moderate' - Filter out explicit content. 'strict' - Filter out explicit and suggestive content. Defaults to 'strict'.
spellcheckNoWhether to apply spellcheck before executing the search. Defaults to true.
user-agentNoThe user agent originating the request. Brave Search can utilize the user agent to provide a different experience depending on the device as described by the string. The user agent should follow the commonly used browser agent strings on each platform. For more information on curating user agents, see RFC 9110.
api-versionNoThe API version to use. This is denoted by the format YYYY-MM-DD. Default is the latest that is available. Read more about API versioning at https://api-dashboard.search.brave.com/documentation/guides/versioning.
search_langNoLanguage for the search results. Defaults to 'en'.
cache-controlNoBrave Search will return cached content by default. To prevent caching set the Cache-Control header to no-cache. This is currently done as best effort.

Output Schema

NameRequiredDescriptionDefault
typeYesTop-level response discriminator. Always "locations" for Place Search.
queryNo
citiesNoCity matches for the query. Typically populated when the query is a bare or ambiguous city name (e.g. "springfield", "san francisco").
resultsNoPoints of interest matching the search. Populated for POI-shaped queries.
streetsNoStreet matches. Typically populated when the query is a street name AND is geographically anchored via `latitude`+`longitude` or a specific `location`.
locationNoThe search area as resolved by the API (e.g. coordinates + city name). Useful for confirming the API interpreted the input as expected and for grounding follow-up queries.
addressesNoAddress matches. Typically populated when the query is a street + number AND is geographically anchored via `latitude`+`longitude` or a specific `location`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A5/5.0
Behavior5/5

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

The description discloses that a single call may populate any combination of fields based on query shape, that 'radius' is a bias rather than a hard limit, and that 'count' caps results. It also details 'location' format requirements. These behaviors extend well beyond the openWorldHint annotation.

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 well-organized with clear headings and bullet points, leading with purpose before details. It is dense with information but not redundant; every sentence contributes to selection or invocation understanding.

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?

The description covers all key usage scenarios, parameter interdependencies, and edge cases (e.g., radius not hard-limiting, location format). Given the output schema and full schema coverage, it omits only what is already structured, making it complete for an agent to call 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?

Even with 100% schema coverage, the description adds significant meaning: it maps query shapes to response types, requires geographic anchors for address/street queries, clarifies 'location' formatting, and explains radius/count behavior. This goes far beyond the schema's 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 clearly states it 'Searches Brave's Place Search API' and enumerates the response categories (results, cities, addresses, streets, location). The title and content unambiguously differentiate it from sibling search tools by focusing on places and geographic data.

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?

A dedicated 'When to use' section lists five distinct scenarios with concrete examples (POIs near coordinates, general browsing, city disambiguation, address resolution, street lookup). It also explains anchor requirements and query prerequisites, giving agents explicit decision criteria.

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