Skip to main content
Glama

Bezal — Local Business Intelligence for AI Agents

Server Details

Search 7,000+ local service businesses across America by category, location, or keyword.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
83.9% over 73 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 9 tools

Disambiguation3/5

The three search tools overlap significantly: search_businesses accepts location and category, search_by_city accepts location plus category, and search_by_service handles exact service queries. Descriptions do offer guidance (e.g. exact service vs category), but an agent still has to reason about which search entry point to pick. The remaining tools (get_business, get_reviews, get_service_catalog, compare_businesses, check_business_availability, list_categories) are cleanly distinct.

Naming Consistency5/5

All nine tools use a consistent snake_case verb_noun pattern (check_, compare_, get_, list_, search_). The prefixes accurately reflect behavior and there are no mixed conventions or vague standalone verbs.

Tool Count5/5

Nine tools is well within the 3-15 ideal range and each one maps to a real capability of a local business directory. No tool feels redundant enough to remove, and the surface is not bloated.

Completeness4/5

The server covers the core read-only directory workflow: discovery (categories, three search modes), detail (profile, reviews, service catalog, availability) and comparison. Minor gaps exist, such as no direct lookup by name/slug without search and no way to page through or filter reviews, but agents can work around these.

Available Tools

9 tools
check_business_availabilityCheck business availabilityA
Read-only
Inspect

Check whether a business is open on a date, based on its posted opening hours. Hours are shared only for providers on a paid Bezal plan, and other listings come back with open set to "unknown". It doesn't know about bookings, so confirm a time with the business.

NameRequiredDescriptionDefault
dateYesISO date (YYYY-MM-DD)
business_idYesBusiness UUID

TDQS

A4.5/5.0
Behavior5/5

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

Annotations cover the read-only/open-world safety profile, but the description adds critical behavior the annotations cannot convey: opening hours are only available for paid Bezal plan providers, and other listings return open as "unknown". It also discloses the bookings blind spot, which materially affects how an agent should interpret and act on the result.

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?

Three sentences, each earning its place: purpose first, then the data-availability constraint, then the practical limitation. No repetition or padding, and the most important caveat is front-loaded after the purpose.

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?

For a two-parameter read tool with no output schema, the description covers purpose, data availability semantics, the meaning of an "unknown" result, and the confirm-with-business caveat. An agent has everything it needs to call and interpret this correctly.

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 description coverage is 100%, with both business_id and date fully documented (UUID and ISO YYYY-MM-DD). The description adds no parameter-level detail, so the schema is doing all the work here; baseline 3 is appropriate.

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?

States a specific verb and resource: checking whether a business is open on a given date based on posted opening hours. This is clearly distinct from siblings like get_business or search_businesses, which retrieve entity data rather than availability.

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?

The description gives clear when-to-use context and a strong when-not-to-rely caveat: it doesn't know about bookings, so a time should be confirmed with the business. It also states the paid-plan restriction. It does not explicitly name alternative sibling tools, but the usage boundaries are otherwise clear.

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

compare_businessesCompare businessesA
Read-only
Inspect

Compare up to 5 businesses side by side: the public profile fields plus services, BezalRank and whether the profile is claimed. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only for providers on a higher paid plan.

NameRequiredDescriptionDefault
business_idsYesArray of business UUIDs to compare

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description adds genuinely new behavioral context: which fields are always returned and that phone, website, address, hours, photos and coordinates are gated behind a paid plan, with the description text gated behind a higher plan. This warns the agent that results are legitimately sparse for non-paying providers rather than broken.

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?

Two sentences, front-loaded with the capability before the field list, and every clause conveys real information. The second sentence is dense and long, but none of it is filler given the plan-gating detail.

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?

With no output schema, the description carries the return-value burden itself and does so by enumerating the standard fields and the conditionally available ones. For a one-parameter read tool, an agent has everything needed to call it and interpret partial results.

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% with a single business_ids array already carrying minItems=1, maxItems=5 and UUID format. The description reinforces the maximum of 5 and clarifies these are business identifiers, adding a small amount of meaning beyond the schema but no new format or ordering guidance.

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 (compare) plus the resource (businesses) and the batch scope ('up to 5 businesses side by side'), which implicitly separates it from the single-record get_business sibling. It never names an alternative tool outright, so differentiation is inferable rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the word 'compare' – the description never says when to prefer this over repeated get_business calls, nor any exclusion such as 'do not use for a single business'. No prerequisites or error conditions are given.

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

get_businessGet a business profileA
Read-only
Inspect

Get the public Bezal profile for one business by UUID. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only for providers on a higher paid plan. For services, use get_service_catalog.

NameRequiredDescriptionDefault
idYesThe UUID of the business to look up

TDQS

A4.2/5.0
Behavior4/5

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

Beyond readOnlyHint=true and openWorldHint=false, the description discloses a genuinely non-obvious behavioral trait: field visibility depends on the provider's paid plan tier, so agents know some fields may be absent. It omits what happens when the UUID is invalid or the business does not exist.

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 the core action and return shape, and the sibling redirect is placed last where it belongs. The paid-plan sentence is dense with conditional clauses but each clause conveys real information.

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?

With one parameter, full schema coverage, annotations covering the safety profile and no output schema, the description's enumeration of returned fields and their plan-based conditionality is sufficient for an agent to call and interpret the result.

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% with a single UUID parameter fully described, so the schema carries the semantics. The description only restates the key type ('by UUID'), adding no ambiguity resolution such as whether external or internal IDs are accepted.

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?

States a specific verb and resource ('Get the public Bezal profile for one business') plus the key ('by UUID'), which immediately separates it from the search_* siblings. It also names the correct sibling for a related but distinct resource type.

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?

Explicitly redirects to get_service_catalog for services, giving a clear when-not rule. It does not, however, tell the agent how to obtain the UUID (e.g., via search_businesses) or address bulk lookups versus compare_businesses.

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

get_reviewsGet reviewsA
Read-only
Inspect

Get reviews for a specific business: Bezal reviews (rating, text, verified flag, date and the reviewer as first name and last initial) plus the Google rating and review count.

NameRequiredDescriptionDefault
limitNoMax reviews to return
business_idYesBusiness UUID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds useful value by disclosing the composition of the response (Bezal reviews with rating/text/verified/date/reviewer name form, plus Google rating and review count), but says nothing about ordering, pagination, or what happens when limit truncates results.

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?

A single front-loaded sentence that names the resource first and then enumerates returned fields; nothing is wasted. Slightly dense parenthetical but appropriate for the amount of information.

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 simple two-param read tool with full schema coverage and no output schema, the description adequately covers what is returned, including reviewer anonymization, which is important context. Only ordering/pagination and limit-edge behavior are missing.

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%, with limit and business_id both documented in the schema, so baseline is 3. The description mentions 'a specific business' consistent with business_id but adds no detail on limit behavior or truncation beyond what the schema states.

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 (get reviews for a specific business) and enumerates the returned fields, which distinguishes it from siblings like get_business or compare_businesses. It doesn't explicitly contrast with a sibling, so it stops short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'for a specific business' (needs a business_id), but there is no explicit when-to-use/when-not guidance or named alternative such as get_business for general business info. An agent can infer the scenario but not the boundaries.

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

get_service_catalogGet service catalogA
Read-only
Inspect

Get services and pricing for a specific business. Falls back to the list of service names if no priced catalog exists.

NameRequiredDescriptionDefault
business_idYesBusiness UUID

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral value beyond that by disclosing a fallback path: if no priced catalog exists, the tool returns service names only, which tells the agent to expect variable result shape.

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?

Two short sentences, zero padding. The primary behavior is front-loaded and the fallback condition follows immediately.

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 read-only, single-parameter lookup with no output schema, the description conveys what is returned (services and pricing, or service names as a fallback). Only edge behavior such as an unknown business_id is left unstated, which is a minor gap.

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?

There is a single parameter with 100% schema description coverage, so the schema fully documents business_id including its UUID format and pattern. The description adds no further parameter meaning, which is the expected baseline here.

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?

Names a specific verb and resource ('Get services and pricing') scoped to 'a specific business'. The business-scoping implicitly distinguishes it from search_by_service, which searches businesses by service, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the phrase 'for a specific business', which suggests calling this once you already have a business_id rather than searching. However, there is no explicit statement of when to prefer this over get_business, search_by_service, or compare_businesses.

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

list_categoriesList categoriesA
Read-only
Inspect

List all available business categories in the directory.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered structurally. The word 'all' usefully signals a complete, unpaginated enumeration of a closed directory, but the description says nothing about caching/staleness or the shape of each returned category.

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?

A single front-loaded sentence with zero filler; every word carries meaning and the scope qualifier arrives immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter reference-listing tool with annotations covering the safety profile, the description is adequate but thin. With no output schema, it doesn't indicate whether categories come back as names, IDs, or nested objects, which is the one thing an agent would still need to know.

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?

The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate. No misleading parameter claims are made.

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 (list) and resource (business categories) with an explicit scope ('all available ... in the directory'), which separates it from the search/get siblings in the directory. It doesn't name a sibling or state what the categories are used for, so it falls short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use statement is given; the usage (fetching the category vocabulary, likely to feed search_by_service or search_businesses) is only implied by the tool's name and the sibling set. An agent can infer the purpose but gets no routing guidance.

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

search_businessesSearch businessesA
Read-only
Inspect

Search local business profiles on Bezal by name, category, or location. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only for providers on a higher paid plan.

NameRequiredDescriptionDefault
cityNoCity name
limitNoNumber of results to return (1-20)
queryNoFree-text search across business name and description
stateNoTwo-letter state code or full state name
categoryNoCategory keyword (e.g. "plumbing", "hr consulting")

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine beyond-schema context: which result fields are tier-gated (phone, website, address, hours, photos, coordinates only for paid plans; description only for higher tiers) and what quote_request_url is for. It omits ordering, total-count, and empty-result behavior, but the data-availability disclosure is substantive.

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?

Three front-loaded sentences: what it does, what every result contains, and what is gated. No filler. The final clause ('and the description only for providers on a higher paid plan') is slightly tangled but each sentence earns its place.

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?

With no output schema, the description usefully enumerates the returned fields and their tier conditions, which is exactly the information an agent needs to interpret results. Gaps remain around result ordering, pagination/total counts, and behavior with zero matches, but the core completeness bar for a read-only search tool is met.

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 description coverage is 100%, so all five parameters are already documented, including the query's coverage of 'business name and description' and the limit range. The description only loosely maps to those parameters ('by name, category, or location') without adding format, matching, or combination semantics. Baseline 3 applies when the schema carries the load.

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 local business profiles on Bezal by name, category, or location.' An agent immediately knows this is a discovery/search tool over business entities. It does not, however, explicitly distinguish itself from siblings like search_by_city or search_by_service, which cover overlapping lookup modes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the 'by name, category, or location' phrasing; there is no explicit when-to-use or when-to-prefer-a-sibling statement. It never says whether search_by_city or search_by_service should be used instead when the intent is purely geographic or purely categorical.

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

search_by_citySearch by cityA
Read-only
Inspect

Search for businesses in a specific city, optionally filtered by category. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only for providers on a higher paid plan.

NameRequiredDescriptionDefault
cityYesCity name
limitNoMax results
stateNoTwo-letter state code or full name
categoryNoCategory keyword filter

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description carries most of the burden and does it well: it discloses the exact result field set and, importantly, that phone/website/address/hours/photos/coordinates and the description are gated by paid plan tier — a non-obvious data-availability constraint an agent must know before trusting results. It does not cover result ordering, empty-result behavior, or pagination.

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 the core purpose in the first sentence, then return-shape details. The long second sentence is dense but every clause carries real information about tier-gated fields; nothing 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?

With no output schema, the description does the necessary work of enumerating returned fields and flagging tier-dependent availability. Remaining gaps are minor: sorting, result count behavior against the limit cap, and what an empty result looks like.

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 description coverage is 100% and all four parameters are documented in the schema, so the baseline applies. The description reinforces that city is the scoping input and category is an optional filter but adds no format or semantics beyond what the schema already states.

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?

States a specific verb and resource (search businesses) plus the scope that separates it from the generic search_businesses and search_by_service siblings: a specific city, with an optional category filter. An agent can route to it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the city scoping and the optional category filter, but there is no explicit when-to-use guidance, no mention of when search_businesses or search_by_service would be preferable, and no stated prerequisites or exclusion conditions.

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

search_by_serviceSearch by serviceA
Read-only
Inspect

Find businesses that list a specific service, when you know the exact service rather than the category (for example "Drain cleaning" rather than "plumbing"). Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only for providers on a higher paid plan.

NameRequiredDescriptionDefault
locationNoOptional city or state to filter by
service_typeYesExact service offered (matched against the services list)

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as a read-only, closed-world search, but the description adds substantial behavioral context: it lists returned fields and explains that phone, website, address, hours, photos and coordinates are only available for paid-plan providers. This is exactly the kind of non-obvious data-availability constraint an agent needs before selecting the tool.

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 three sentences, front-loaded with the core purpose and the exact-service distinction. Every sentence earns its place by adding usage guidance or return-value constraints.

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?

There is no output schema, so the description compensates by listing core return fields and explaining plan-based field availability. Combined with the annotations and fully described parameters, it gives enough context to call the tool correctly.

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 both parameters are already documented in the input schema. The description reinforces that service_type should be an exact service rather than a category and gives an example, but it does not add syntax or matching details beyond what the schema already provides, so baseline 3 is appropriate.

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 action and resource: finding businesses that list a specific service. It immediately distinguishes this from category-based lookup with a concrete example, so an agent can tell exactly what the tool returns.

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 clearly states when to use this tool: when you know the exact service rather than the category. The contrast with category lookup is useful, but it does not explicitly name sibling tools such as list_categories or search_businesses, leaving some routing inference to the agent.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Removedget_provider_details
    • Removedrequest_service
    • Removedsearch_providers
    • Removedsubmit_quote_request
  2. 7 tool updates
    • Changedcheck_business_availability1 field changed
      • addedInput schema / properties / date / pattern
        Added value: +"^\\d{4}-\\d{2}-\\d{2}$"
    • Changedrequest_service4 fields changed
      • addedInput schema / properties / message / maxLength
        Added value: +4000
      • addedInput schema / properties / seeker_email / maxLength
        Added value: +254
      • addedInput schema / properties / seeker_name / maxLength
        Added value: +200
      • addedInput schema / properties / service_needed / maxLength
        Added value: +200
    • Changedsearch_businesses4 fields changed
      • addedInput schema / properties / category / maxLength
        Added value: +100
      • addedInput schema / properties / city / maxLength
        Added value: +100
      • addedInput schema / properties / query / maxLength
        Added value: +200
      • addedInput schema / properties / state / maxLength
        Added value: +40
    • Changedsearch_by_city3 fields changed
      • addedInput schema / properties / category / maxLength
        Added value: +100
      • addedInput schema / properties / city / maxLength
        Added value: +100
      • addedInput schema / properties / state / maxLength
        Added value: +40
    • Changedsearch_by_service3 fields changed
      • addedInput schema / properties / location / maxLength
        Added value: +100
      • changedInput schema / properties / service_type / description
        Previous value: -"Exact service offered (matched against the services array)"New value: +"Exact service offered (matched against the services list)"
      • addedInput schema / properties / service_type / maxLength
        Added value: +100
    • Changedsearch_providers3 fields changed
      • addedInput schema / properties / category / maxLength
        Added value: +100
      • addedInput schema / properties / location / maxLength
        Added value: +100
      • addedInput schema / properties / query / maxLength
        Added value: +200
    • Changedsubmit_quote_request3 fields changed
      • addedInput schema / properties / message / maxLength
        Added value: +4000
      • addedInput schema / properties / seeker_email / maxLength
        Added value: +254
      • addedInput schema / properties / seeker_name / maxLength
        Added value: +200
  3. 5 tool updates
    • Addedcheck_business_availability
    • Addedcompare_businesses
    • Addedget_reviews
    • Addedget_service_catalog
    • Addedsearch_by_city
  4. 7 tool updates
    • Addedget_business
    • Changedget_provider_details1 field changed
      • removedInput schema / properties / business_id / description
        Removed value: -"The UUID of the business to look up"
    • Addedrequest_service
    • Addedsearch_businesses
    • Addedsearch_by_service
    • Changedsearch_providers4 fields changed
      • removedInput schema / properties / category / description
        Removed value: -"Business category to filter by (e.g. \"plumbing\", \"accounting\")"
      • removedInput schema / properties / limit / description
        Removed value: -"Number of results to return (1-20, default 5)"
      • removedInput schema / properties / location / description
        Removed value: -"City name or state (e.g. \"Hartford\", \"Connecticut\", \"CT\")"
      • removedInput schema / properties / query / description
        Removed value: -"Free-text search across business name and description"
    • Changedsubmit_quote_request4 fields changed
      • removedInput schema / properties / business_id / description
        Removed value: -"The UUID of the business to request a quote from"
      • removedInput schema / properties / message / description
        Removed value: -"Description of what the seeker needs"
      • removedInput schema / properties / seeker_email / description
        Removed value: -"Email address of the person requesting the quote"
      • removedInput schema / properties / seeker_name / description
        Removed value: -"Name of the person requesting the quote"
  5. 4 tool updates
    • First observedget_provider_details
    • First observedlist_categories
    • First observedsearch_providers
    • First observedsubmit_quote_request

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Access ServiceGraph — a structured catalog of 100k+ US professional-services firms (law, marketing, consulting, accounting, IT services, architecture, engineering, HR, PR, design) with filters for industry, services offered, location, size, ratings, and third-party listing presence.
    61
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Retrieves vetted Local Services Ads businesses (Google Guaranteed or Screened) as clean JSON for any service and US city, enabling lead generation, local SEO monitoring, and competitor tracking.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    The owner-verified local business data + service & menu-price layer for AI agents. Owner-authored business profiles where every response carries provenance — verification level, completeness score, freshness timestamps, and upstream sources. * Search & profiles — find businesses by name, category, city, or geo-radius; full profiles with contacts, hours, media, ratings. * Price layer
    -
  • A
    license
    A
    quality
    B
    maintenance
    Find 76,000+ curated healthcare service vendors across 25 categories and all 50 US states. Search by category, specialty, city, state, and EHR system to identify billing, credentialing, EHR, and practice-consulting vendors that serve medical practices.
    3
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources