Skip to main content
Glama

Find the right Google Places match for a business name

search_businesses

Search Google Places by business name to get matching placeIds, preventing ambiguous or wrong-business selection before creating a site.

Instructions

Search Google Places for a business by name. Returns up to 5 candidates. Free, no credits, no side effects. REQUIRED before create_site whenever you have only a business name (no placeId already in hand). Common names like "Acme Plumbing" or "Pizza Place" will silently resolve to the wrong business if you skip this step. Do NOT skip search just because you're confident about the name — the customer's local context isn't enough to guarantee Google Places ranks the right one first. Each result includes placeId, name, address, phone, rating, userRatingCount, and businessType. Present the top 2–3 results to the user (city + rating count) and ask which one. If exactly one result comes back, you can proceed without confirmation. If multiple come back and you have high confidence from other user context, you may pick the one with the highest userRatingCount, but only call that out — never silently auto-pick. Canonical flow: 1. search_businesses({ query, location? }) → user picks (or single result auto-picks) 2. create_site({ businessName, contactEmail, placeId: }) On transient failure (timeout, 5xx, network error): retry ONCE. If the retry also fails, tell the user "the disambiguation lookup is temporarily unavailable" and ASK whether to proceed without a placeId (in which case create_site will auto-resolve from businessName + businessLocation — coin flip for common names). Do NOT silently fall through to gathering create_site fields from the user — that wastes their time and bypasses the safety of disambiguation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesBusiness name to search for. Free-form text Google Places will search (e.g. "Acme Plumbing", "Mike's BBQ").
locationNoOptional location hint to narrow the search (e.g. "Austin, TX", "78704", "near downtown Dallas"). Strongly recommended for common names — omitting it lets Google rank by global popularity, which usually picks the wrong business.
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the tool is free, has no side effects, returns up to 5 candidates, and can silently resolve to the wrong business if skipped. It also details retry behavior, auto-pick rules, and exact fields returned—highly transparent about behavior and edge cases.

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?

The description is longer than average, but every sentence earns its place: it covers the canonical flow, risks, failure handling, and result fields. It is well-structured with clear sections (purpose, requirement, flow, failure). Slightly verbose but not wasteful for a tool that gates a critical workflow.

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?

Despite having no output schema, the description lists the exact fields returned (placeId, name, address, phone, rating, userRatingCount, businessType), explains how to present results to the user, and covers fallback behavior if the tool fails. Given the tool's complexity and central role in disambiguation, the description fully equips an agent to use it correctly.

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 is 3. The description adds value beyond the schema by explaining that 'query' is free-form business text and by strongly recommending 'location' for common names to avoid globally popular wrong matches. It also contextualizes how the parameters interact with the disambiguation purpose, which goes beyond the schema's simple field 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 states a specific verb ('Search Google Places for a business by name') and resource ('Google Places'), and clearly distinguishes it from sibling tools like create_site and list_sites by framing it as a lookup/disambiguation step. It also specifies the return candidate count, which concretely defines its function.

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?

The description explicitly declares when to use this tool ('REQUIRED before create_site whenever you have only a business name'), provides a canonical flow, and gives alternative handling for failures (retry once, then ask the user about proceeding without a placeId). It also warns against skipping search even when confident, which is strong usage guidance beyond basics.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/northbeamsoftware/warpweb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server