Skip to main content
Glama

Search businesses

find_local_businesses
Read-only

Start here. Find businesses that fit a need near a place. Give the service in a few plain words ("furnace repair", "water heater leak"), not the user's sentence; timing goes in open_at. Each result says why it fits, its hours and whether it is open right now (by its stated hours at its local time; "open:" is whether it is in business), the phone, and how to act, and the response ends with your next step. Five results by default; ask for more with limit, and add max_minutes to stay close.

Input Schema

NameRequiredDescriptionDefault
latNoThe user's latitude in decimal degrees, with lon: the most exact place to measure distance from
lonNoThe user's longitude in decimal degrees, with lat
zipNoThe user's 5-digit ZIP code, instead of place
needYesThe service in a few plain words: "furnace repair", "water heater leak", "bbq catering for 12". Not the user's whole sentence: matching is by meaning and exact words, so symptoms and timing hide the service. Timing goes in open_at, requirements in the filters
limitNoHow many results (default 5)
modelNoOptional: the model you run on (for example claude-sonnet-5-5 or gpt-5.5), kept with this report's provenance so what each model reports can be weighed over time. Leave it out if you do not know.
placeNoWhere the user is, always with its state: "Town, ST" (e.g. "Springfield, IL") or "Neighborhood, Town, ST" (e.g. "Castro, San Francisco, CA"); "City, CC-RR" with an ISO 3166-2 region outside the US. A place without a state is refused, with the towns it could be. Or send zip, or lat and lon, instead
actionNoOnly businesses that offer this: book, order, quote, call or message (comma means any)
detailNocompact (default) or full records
pricesNoOnly businesses that state prices
open_atNoOpen at a specific day and time in the business's local time, e.g. "sat 18:00"; or "now", "today", "tonight", "tomorrow", "tomorrow 9am". For a range like "this week", leave it out and judge from the hours shown
refinesNoThe search_id of an earlier search this one narrows (one choice of an "A or B", a more specific wording, an added requirement). Links the two so we learn what the first answer lacked
max_milesNoOnly businesses within this many miles of the place (businesses that serve online always pass)
completableNoOnly businesses an agent can complete the action with itself: a Truvon door, or the business's own MCP server, API or commerce endpoint once it has claimed its listing (treated the same); the rest are removed and counted
max_minutesNoOnly businesses within this many minutes of estimated driving (straight line with a road and river-crossing estimate, not a routing service), counted only where someone must be physically present; online and remote service always passes
include_closedNoAlso list businesses likely closed or closed (left out by default; open on each result says why)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Beyond readOnlyHint/openWorldHint, it discloses the result payload (why-it-fits rationale, hours, live open status including the caveat that "open" means in business, phone, how to act, and a trailing next-step hint), the default of five results, and that max_minutes is a straight-line estimate rather than real routing. No rate limits, auth, or cost behavior are mentioned.

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 "Start here." and packs the key input rules and output shape into a few dense sentences. The long middle sentence with nested parentheticals is harder to scan than it needs to be, but no sentence is filler.

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, no-output-schema search tool, the description covers entry-point role, input shaping, defaults, and return contents, which is most of what an agent needs. Gaps are minor: it doesn't explain the refines/search_id linking behavior or how compact vs full detail results differ.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already defines all 16 parameters in detail; the description mostly restates the need-vs-sentence distinction and the open_at/limit conventions. It adds only light framing (e.g. max_minutes "to stay close") that the schema does not already say better.

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?

"Start here. Find businesses that fit a need near a place" gives a specific verb, resource, and scope in one breath, and the imperative "Start here" positions it against siblings such as get_business_record and more_results which presuppose an existing search.

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 tells the agent when this is the right entry point and how to shape input (plain-words service, timing routed to open_at, extra requirements to the filters), and notes default result count vs asking for more with limit. It never names an alternative sibling explicitly, so the when-not-to-use side 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