Skip to main content
Glama

search_places

Read-only

Search for addresses, streets, places and businesses by text and get GeoJSON features (the same shape as Mapbox Geocoding v6: feature_type, name, full_address, place_formatted, context, coordinates), best first. Businesses carry category, category_label and metadata (website, phone, opening_hours). proximity biases toward a point and adds distance_m; category (e.g. pharmacy, cafe) finds businesses of that kind, with or without q; place results carry boundary_id for the outline. autocomplete=true is a type-ahead, free up to ten times the monthly searches (shared out per day) and counted past that; the default counts one lookup against the workspace's monthly searches, on every plan. Show the returned attribution with the results. Past the plan it returns searches_exhausted and nothing is charged.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_places"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoWhat to find: an address ("12 Patrick Street, Cork"), a street, a place ("County Cork"), a business ("Tesco Cork"), or a kind of place in or near somewhere ("pharmacy in Cork", "hotels near the Cliffs of Moher"). Up to 256 characters; may be omitted when `category` or the address fields are given.
limitNoHow many results to return, 1 to 10. Default 5.
placeNoThe town or city, a district within it, the region (state, province, county) and the postcode.
typesNoOnly these kinds: country, region, district, place, locality, neighborhood, postcode, street, address, poi.
key_idNoThe map key (uuid from list_keys) to count the search against. Default: the workspace's first active secret key, else its first publishable one.
regionNo
streetNo
countryNoTwo-letter country codes to restrict to, e.g. ["ie"].
categoryNoBusinesses of these kinds, e.g. ["pharmacy"] or ["cafe", "bakery"]; implies types=poi.
languageNoLanguage for names, e.g. "en", "de", "es".
localityNo
postcodeNo
proximityNo[longitude, latitude] to bias results toward (and to get distance_m back).
autocompleteNoA fast match for a type-ahead: free up to ten times the month's searches (shared out per day), counted past that. The default (false) is a full, counted search.
address_line1NoAn address in parts instead of `q`: the street line ("77 Pearse Street"), or its number and street apart.
address_numberNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Goes well past the annotations (which only declare readOnly and closed-world) by disclosing billing: autocomplete is free up to ten times monthly searches and counted past that, the default costs one lookup against the workspace's monthly quota, and exhaustion returns searches_exhausted with nothing charged. It also states the attribution obligation and the exact error path, which an agent cannot infer from any structured field.

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

Conciseness3/5

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

Purpose and return shape are front-loaded, but the single dense paragraph packs billing, quota, attribution, error handling and per-parameter behavior into one block with no segmentation. The autocomplete pricing is restated from the schema's own parameter description, which is wasted length.

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 16-parameter tool with no output schema, the description does the heavy lifting on return shape, cost model and failure mode, which is exactly what is needed. Gaps remain around the limit range/pagination and how results differ from the POI-oriented siblings, but nothing critical to a correct call is missing.

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?

With 69% schema coverage the baseline is 3, but the description adds real meaning beyond the schema: proximity's dual role (bias plus distance_m), category's implication of types=poi and independence from q, and boundary_id on place results. Params like region, street, locality, postcode and address_number still get no description treatment, so it does not fully compensate for the coverage gap.

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?

States a specific verb and resource (search addresses, streets, places, businesses by text) and names the exact return shape (Mapbox Geocoding v6 GeoJSON fields), so an agent knows precisely what comes back. It does not distinguish itself from related siblings such as search_pois, reverse_geocode or poi_details, which is the only thing keeping it from a 5.

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?

Gives concrete mode-selection guidance: category works with or without q, proximity biases and returns distance_m, autocomplete=true is for type-ahead while the default is a full counted search. It stops short of saying when to reach for this tool instead of search_pois or reverse_geocode, so the sibling routing burden is left implicit.

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