Skip to main content
Glama

CoreLoop Business Network

Server Details

Search real businesses, then read profiles, services and hours or contact them, in one endpoint.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct aspect of a business: availability hours, service comparison, agent endpoint metadata, full profile, service catalogue, directory search, and sending inquiries. No two tools overlap in purpose; boundaries are clear.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, with most retrieval tools sharing the get_business_ prefix (get_business_info, get_business_services, get_business_agent) and clear verbs for actions (search, check, compare, send). The pattern is predictable and unambiguous.

Tool Count5/5

Seven tools is well within the ideal 3-15 range and aptly covers the core operations of a business directory: search, view details, services, availability, compare, and inquire. Each tool earns its place with no redundancy.

Completeness5/5

The set covers the full user journey from searching the directory, retrieving business profiles and service details, checking availability, comparing offers, and initiating contact. It also includes agent metadata for programmatic integration. No obvious missing operations for the stated purpose.

Available Tools

7 tools
check_business_availabilityA
Read-only
Inspect

One business's opening hours, whether it is open right now, and when it next opens. Phase 1 returns published hours, not bookable slots.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessYesWhich business to ask: its CoreLoop slug, or the `business_id` returned by search_businesses. `business_id` is an opaque, stable, public routing identifier — safe to store and re-use across sessions, unchanged by a rename or a slug change, and carrying no sensitive information. Pass back exactly the value search_businesses gave you: do not parse it, do not infer meaning from its format, and do not construct one.
location_idNoWhich location's hours to return (id from get_info locations[]). Defaults to the primary location.

Output Schema

ParametersJSON Schema
NameRequiredDescription
localeNo
businessNo
timezoneNo
always_openNo
data_sourceNo
is_open_nowNo
location_idNo
last_updatedNo
next_open_atNo
location_labelNo
operating_hoursNo
Behavior3/5

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

The annotation readOnlyHint=true already signals a safe read operation. The description adds that it returns published hours not bookable slots, which is a useful limitation, but does not disclose other behaviors like network effects, rate limits, or what happens if the business is not found. No contradiction with annotations.

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 two sentences, front-loaded with the core purpose, and adds the Phase 1 distinction. Zero waste.

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?

Given the tool has an output schema and rich parameter descriptions, the description is sufficient for basic use. The 'Phase 1' note clarifies scope. Slightly missing is explicit guidance on when this tool is preferred over competitors, but overall adequate.

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 parameters are extensively described. The description adds the distinction between published hours and bookable slots, but the schema already covers all parameter semantics including the business_id opaque routing id. The description's 'Phase 1' note adds context but is not necessary for parameter usage.

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?

The description clearly states the tool returns a business's opening hours, current open status, and next opening time. It also distinguishes from 'bookable slots' and implicitly from siblings like search_businesses, though it doesn't explicitly differentiate from get_business_info which might also touch hours.

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?

The description gives a hint about context ('Phase 1 returns published hours, not bookable slots'), but does not explicitly state when to use this vs. get_business_info or other sibling tools. Usage context is implied for checking availability, but no clear alternatives or exclusions are provided.

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

compare_business_servicesA
Read-only
Inspect

Compare one business's services within a category or keyword, with a price/duration summary. Each row reports match_type, so you can tell an exact category hit from an incidental keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessYesWhich business to ask: its CoreLoop slug, or the `business_id` returned by search_businesses. `business_id` is an opaque, stable, public routing identifier — safe to store and re-use across sessions, unchanged by a rename or a slug change, and carrying no sensitive information. Pass back exactly the value search_businesses gave you: do not parse it, do not infer meaning from its format, and do not construct one.
compare_byNoRestrict the comparison to these fields. Recognised values: price, duration, description, includes (name, category and match_type are always present; unrecognised values are ignored). Omit for the full comparison view.
service_typeYesService category or keyword to compare. Matches category exactly first, then service name/description contains.

Output Schema

ParametersJSON Schema
NameRequiredDescription
localeNo
businessNo
servicesNo
verifiedNo
suggestionNo
data_sourceNo
last_updatedNo
service_typeNo
business_nameNo
comparison_summaryNo
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety profile. The description adds useful behavioral detail by explaining `match_type` as an output field, which helps interpret results, and mentions the price/duration summary. No contradiction with annotations.

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 two sentences, front-loaded with the core purpose and a key interpretative detail. Both sentences earn their place with no redundancy.

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?

Combined with annotations (read-only) and fully described schema with an output schema, the description sufficiently conveys what the tool does and how results are characterized. It could mention that only a single business is compared, but that is already embedded in 'one business's services.'

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 each parameter's meaning and constraints are fully described in the schema. The tool description adds no new parameter-specific semantics beyond what the schema provides, so the baseline score of 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 clearly states a specific verb ('Compare'), a resource ('one business's services'), and a scope ('within a category or keyword') with an output summary ('price/duration summary'). It also mentions `match_type` to distinguish exact hits from incidental ones, which differentiates it from siblings like get_business_services or search_businesses.

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 implies use when comparing a single business's service offerings by category or keyword, and highlights the value of `match_type`. However, it does not explicitly reference alternative tools or state when not to use it, so no exclusions are communicated.

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

get_business_agentA
Read-only
Inspect

The canonical ids and endpoint URLs for one business — its own MCP and A2A endpoints, agent card, llms.txt and public page, under protocol_urls. A null URL means that surface is switched off for this business right now: do not construct it yourself, and use one of the non-null surfaces instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessYesWhich business to ask: its CoreLoop slug, or the `business_id` returned by search_businesses. `business_id` is an opaque, stable, public routing identifier — safe to store and re-use across sessions, unchanged by a rename or a slug change, and carrying no sensitive information. Pass back exactly the value search_businesses gave you: do not parse it, do not infer meaning from its format, and do not construct one.

Output Schema

ParametersJSON Schema
NameRequiredDescription
businessNo
verifiedNo
protocolsNo
data_sourceNo
resolved_atNo
protocol_urlsNo
content_localeNo
tools_availableNo
available_localesNo
Behavior4/5

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

Beyond the readOnlyHint annotation, the description discloses the important null-means-disabled behavior and warns against constructing URLs. This enriches the operational understanding without repeating what the annotation already communicates.

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 two dense sentences: one for core purpose and one for the key behavioral caveat. It is front-loaded, free of filler, and every sentence adds value.

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?

Given this is a simple read-only tool with one parameter, a complete input schema, and an output schema, this description covers all operational essentials. The null-URL behavior and non-construction rule are exactly the additional context an agent needs.

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?

The tool description itself does not add parameter semantics, but schema description coverage is 100% and the `business` parameter is already richly explained in the input schema with opaque-ID guidance and pass-through instructions. Baseline 3 applies.

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 the function: retrieving canonical IDs and endpoint URLs for one business, including MCP/A2A endpoints, agent card, llms.txt, and public page under `protocol_urls`. This is a specific verb-plus-resource definition that distinguishes it from siblings like search_businesses or get_business_info.

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?

The description provides useful within-tool guidance about null URLs: do not construct them and use a non-null surface instead. However, it does not explicitly state when to prefer this tool over siblings such as get_business_info or compare_business_services, so the usage context is clear but not fully explicit.

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

get_business_infoA
Read-only
Inspect

Full profile for one business found through search_businesses: identity, locations, contact, policies, images, public documents and the languages it publishes in.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessYesWhich business to ask: its CoreLoop slug, or the `business_id` returned by search_businesses. `business_id` is an opaque, stable, public routing identifier — safe to store and re-use across sessions, unchanged by a rename or a slug change, and carrying no sensitive information. Pass back exactly the value search_businesses gave you: do not parse it, do not infer meaning from its format, and do not construct one.
sectionsNoWhich sections to include. Defaults to all.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
imagesNo
intakeNo
localeNo
contactNo
taglineNo
businessNo
categoryNo
keywordsNo
locationNo
policiesNo
verifiedNo
documentsNo
locationsNo
data_sourceNo
descriptionNo
last_updatedNo
subcategoriesNo
call_to_actionNo
tools_availableNo
available_localesNo
protocols_availableNo
asserts_no_physical_locationNo
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 bar for disclosure is lower. The description adds value by listing what the profile includes (identity, locations, contact, policies, images, public documents, languages), which goes beyond the annotations and helps the agent understand the data returned. No contradictions.

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, dense sentence that is front-loaded with 'Full profile' and immediately lists contents. Zero filler or redundant phrasing—every word contributes to the meaning.

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?

Given the existence of an output schema and 100% parameter schema coverage, the description does not need to explain return values. It provides a clear overview of the tool's scope, but could mention when to use it over siblings for full completeness; however, that falls more under usage guidance than contextual completeness.

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?

The input schema provides 100% coverage for both parameters, including detailed guidance on the business field (Opaque, stable, do not parse) and the sections enum. The tool description itself adds no additional parameter details, so per the rubric the baseline of 3 applies.

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+resource: "Full profile for one business" and enumerates the contents (identity, locations, contact, policies, images, public documents, languages). This clearly distinguishes it from sibling tools like get_business_services or check_business_availability, which have different scopes.

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 explicitly says the tool is 'for one business found through search_businesses', implying it should be used after a search and for a single entity. However, it does not explicitly state when not to use it or how it compares to alternatives like get_business_agent or compare_business_services, so only partial guidance is provided.

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

get_business_servicesA
Read-only
Inspect

One business's service catalogue, with filtering, sorting and pagination. Page with offset/limit and read has_more — the order is stable, so a second page will not repeat or skip a service.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNoNumber of results to skip (pagination)
sort_byNoField to sort by. Recognised values: price, duration, name, category (unrecognised values are ignored — results stay unsorted).
businessYesWhich business to ask: its CoreLoop slug, or the `business_id` returned by search_businesses. `business_id` is an opaque, stable, public routing identifier — safe to store and re-use across sessions, unchanged by a rename or a slug change, and carrying no sensitive information. Pass back exactly the value search_businesses gave you: do not parse it, do not infer meaning from its format, and do not construct one.
categoryNoFilter by service category
max_priceNoOnly services priced at or below this amount
min_priceNoOnly services priced at or above this amount
price_typeNoFilter by price type (e.g. fixed, from, range, hourly, free, contact, or unpublished for services with no price set)
sort_orderNoSort direction (defaults to asc)
max_durationNoOnly services lasting at most this many minutes
min_durationNoOnly services lasting at least this many minutes

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitNo
totalNo
localeNo
offsetNo
businessNo
has_moreNo
servicesNo
data_sourceNo
last_updatedNo
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds valuable behavioral detail: pagination via offset/limit, the need to read 'has_more', and a stability guarantee that prevents duplicate/skipped services across pages. This goes well beyond the annotations and gives the agent actionable knowledge.

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 sentences, no filler. The first sentence front-loads the core purpose; the second covers pagination mechanics and the stability guarantee. Every clause earns its place, and the structure is logical.

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 11 parameters and an output schema, the description captures the essential behavioral context (single-business scope, filtering/sorting/pagination) and specifically highlights the non-obvious pagination guarantee. With annotations and output schema covering safety and return values, the description is sufficient for an agent to invoke 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 description coverage is 91%, so parameters are already well-documented. The description's mention of `offset`/`limit` reinforces but does not add new meaning. With such high schema coverage, the baseline of 3 applies; the description does not compensate for any gaps but does not need to.

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 uses a specific verb+resource: 'service catalogue' for 'one business', which clearly distinguishes it from sibling tools like search_businesses (searching for businesses) and get_business_info (business info). It also lists key capabilities (filtering, sorting, pagination), making the tool's purpose immediately obvious.

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 provides clear scope context: it is for a single business's services. This implies when to use it (when you need a specific business's services) and when not (for cross-business search). It does not explicitly name alternatives or provide exclusionary guidance, so it falls short of a 5 but is stronger than mere implication.

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

search_businessesA
Read-only
Inspect

Search the CoreLoop business directory. Start here: every other tool on this endpoint needs a business, and each result carries the business_id and slug you pass to them as the business argument. business_id is a PUBLIC, OPAQUE, STABLE routing identifier: it is safe to store and re-use across sessions, it stays the same when a business renames itself or changes its slug, and it carries no sensitive information. Treat it as a token — do not parse it, do not derive meaning from its format, and do not construct one. Pass back exactly the value you were given. A result with asserts_no_physical_location: true has stated that it has no premises (consultants, trades, online-only) — it is intentionally absent from city search rather than missing data. false means no such statement was made; it does NOT imply premises. Results are returned in your requested language when the business has published a translation: send ?locale=<code> on the endpoint URL (takes precedence) or an Accept-Language header. Each result reports the language it is written in (locale), the business's original language (content_locale), and every language it is available in (available_locales). mcp_url, a2a_url and page_url — and every URL inside protocol_urls — are null when that surface is currently switched off for the business: a null is intentional (do not construct the URL yourself), and the business remains reachable through its non-null surfaces. data_source: "directory" marks these rows as the search projection; call get_business_info for the live profile. PAGING: one call returns at most limit results. Read has_more — a short page is not proof of the end — and pass next_cursor back as cursor for the next page. The cursor is opaque and bound to the filters and sort it was issued for: change any of them and it is rejected, so start a new search instead. limit may change between pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoFilter by city (case-insensitive exact match)
limitNoMaximum results per page (1-20). Out-of-range values are clamped, not rejected.
queryNoSearch query (business name or keyword)
cursorNoContinuation token from a previous response's `next_cursor`. Omit for the first page. It is opaque and bound to the filters and sort it was issued for: pass it back byte-for-byte, and change nothing except `limit` between pages — any other change makes it invalid and you must start a new search. At most 100 results are reachable by paging; narrow the filters to see beyond that.
sort_byNoSort results. Default: relevance
categoryNoFilter by business category (case-insensitive exact match). Canonical categories: Accounting & Tax, Agriculture & Farming, Automotive, Beauty & Wellness, Childcare & Family, Cleaning Services, Construction & Renovation, Creative & Arts, Education & Training, Events & Entertainment, Financial Services, Fitness & Sports, Food & Beverage, Funeral & Memorial, Health & Medical, Home Services, Legal Services, Media & Photography, Nonprofit & Community, Personal Care & Therapy, Pets & Animals, Professional Services, Real Estate, Religious & Spiritual, Retail & Shopping, Security Services, Sports & Recreation, Technology & IT, Transportation & Logistics, Travel & Tourism, Other
min_ratingNoMinimum average rating (0-5)
capabilitiesNoFilter by capability tags (e.g. real_time_booking, live_pricing, verified)
service_typeNoFilter by service type keyword
verified_onlyNoOnly show verified businesses
has_live_bookingNoOnly show businesses with real-time booking
has_live_catalogNoOnly show businesses with live catalog pricing

Output Schema

ParametersJSON Schema
NameRequiredDescription
has_moreNoTrue when more results exist beyond this page. Read this rather than inferring from `returned_count`: a short page is not proof of the end.
businessesNo
next_cursorNoOpaque continuation token, or null on the last page. Pass it back unchanged as `cursor` to get the next page. It is bound to this search's filters and sort — change them and it is rejected, so start a new search instead. Do not parse, modify or construct one.
returned_countNo
requested_localeNo
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It thoroughly discloses behavior: null URL semantics (do not construct yourself), asserts_no_physical_location meaning, locale/language behavior, cursor binding to filters, limit clamping, data_source meaning, and the 100-result paging limit. This is exceptionally comprehensive.

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 thorough and covers critical details (ID safety, language, paging, availability). It is dense but front-loaded with the purpose. Though long, every sentence adds value; the only minor deduction is that the length might be overwhelming, but it's structured logically.

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?

Given the 10 parametersaging rules, language behavior, and null semantics, the description covers everything needed for correct use. The output schema is not provided but the description explains key result fields (business_id, slug, asserts_no_physical_location, locale fields). Complete for a complex search tool.

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 description complements well the schema by explaining the `business_id` token semanticscars (public, opaque, stable), the cursor binding rules, and the meaning of nulls. However, it doesn't deeply elaborate on each parameter beyond what the schema provides—the schema already covers the fields well, so the baseline is 3 and the added context on business_id and cursor pushes it to 4.

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 the tool searches the CoreLoop business directory must start here and explicitly mentions that each result carries the business_id and slug needed by other tools. It distinguishes this from other tools by positioning it as the entry point that returns identifiers used elsewhere.

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?

Provides explicit guidance on when to use this tool (start here since every other tool needs a business), explains the importance of business_id, and even mentions alternative surfaces (get_business_info for live profile). The paging instructions with has_more and next_cursor are clear usage directives.

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

send_business_inquiryAInspect

Send a message to one business. This has a real side effect — it notifies the owner and delivers an email — and is rate-limited both per business and across this directory, so send one considered inquiry rather than a broadcast.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesInquiry message (plain text, max 2000 chars)
subjectNo
businessYesWhich business to ask: its CoreLoop slug, or the `business_id` returned by search_businesses. `business_id` is an opaque, stable, public routing identifier — safe to store and re-use across sessions, unchanged by a rename or a slug change, and carrying no sensitive information. Pass back exactly the value search_businesses gave you: do not parse it, do not infer meaning from its format, and do not construct one.
sender_nameYes
sender_emailNo
sender_phoneNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusNo
messageNo
businessNo
Behavior4/5

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

Honestly discloses the real side effects (notifies owner, delivers email) and both scopes of rate-limiting (per business and per directory), all consistent with annotations (readOnlyHint=false, idempotentHint=false). Adds meaningful context beyond the annotations, though it stops short of describing duplicate-send handling or failure semantics.

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 sentences, zero filler. The core purpose is front-loaded and the second sentence packs side-effect and usage guidance with real informational value. Every clause 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?

For a mutation tool with real-world effects, the description covers the crucial operational traits: side effects, rate limits, and single-target intent. The output schema covers return-value expectations, and annotations cover mutability, so the description fills the remaining critical gaps without redundancy.

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?

With schema coverage at 33%, the description only partially compensates. It reinforces the message and business intent ('one business'), but subject, sender_name, sender_email, and sender_phone are undocumented in both schema and description. The description does not extend meaning for the majority of parameters, though the schema's business field carries strong semantics on its own.

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?

Opens with a specific verb+resource ('Send a message to one business') and immediately differentiates from the read-only siblings (check/compare/get/search) as the sole write tool. The 'one business' scoping plus the side-effect disclosure leaves no ambiguity about what action this performs.

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?

The description gives actionable behavioral guidance ('send one considered inquiry rather than a broadcast') informed by rate limits, but it does not explicitly articulate when to use this tool vs. alternatives or state prerequisites. The schema's business parameter references search_businesses, which helps, but that lives in the schema, not the description.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides AI agents with access to real, verifiable businesses with provenance and source URLs, enabling natural-language business search and profile retrieval.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Search for local businesses worldwide. Structured data optimized for AI agents. • Search Millions of businesses over 49 countries (Europe, Northamerica, Southamerica, Asia, Oceania) • Quality & demand scoring for every business • Ranking based on real user click-through data • No API key needed, free access • Rate limit: 500 requests/hour per IP
    6
    1
    MIT
  • F
    license
    -
    quality
    -
    maintenance
    Search for local businesses worldwide. Structured data optimized for AI agents. • Search Millions of businesses over 49 countries (Europe, Northamerica, Southamerica, Asia, Oceania) • Quality & demand scoring for every business • Ranking based on real user click-through data • No API key needed, free access • Rate limit: 500 requests/hour per IP
  • A
    license
    A
    quality
    D
    maintenance
    Enables agents to search, retrieve, and contribute business data from a directory of 11M+ businesses across 195 countries, returning markdown prose by default.
    22
    115
    3
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources