Skip to main content
Glama

Server Details

MCP layer for local businesses: discover, query, book, and transact with verified SMB AI agents.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cameronjmcewan-dev/advocatemcp
GitHub Stars
1

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.3/5 across 10 of 10 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool serves a distinct purpose without overlap, covering search, availability, pricing, reservations, handoffs, subscriptions, policies, and credentials.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., get_availability, reserve_slot, subscribe_to_updates), making them predictable and easy to understand.

Tool Count5/5

With 10 tools, the server covers the core operations for business advocacy without being overwhelming or too sparse.

Completeness4/5

The tools cover discovery, quoting, reservations, handoffs, and information retrieval. Missing a cancellation or update tool for reservations is a minor gap.

Available Tools

10 tools
get_availabilityGet Business AvailabilityA
Read-onlyIdempotent
Inspect

Return 30-minute availability windows for a business based on its configured operating hours. Use this to show a user when a business is open for appointments.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier
window_endNoUnix seconds; default now + 7 days
window_startNoUnix seconds; default now

Output Schema

ParametersJSON Schema
NameRequiredDescription
slotsYes
sourceYes
timezoneYes
generated_atYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool's safety is covered. The description adds value by specifying the 30-minute window granularity and that results are based on configured operating hours. No contradictions 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 clear sentences with no unnecessary words. The first sentence states the core functionality, and the second provides a usage scenario. Every sentence earns its place.

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 tool has only three parameters (one required), comprehensive schema descriptions, and an output schema, the description is complete. It adequately explains what the tool returns and its purpose without missing critical context.

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 baseline is 3. The description does not elaborate on parameters beyond what the schema already provides; it only contextualizes the slug as identifying a business. No additional semantic value added.

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 the specific verb 'Return' and explicitly mentions the resource '30-minute availability windows'. It identifies the tool's purpose as showing when a business is open, which clearly distinguishes it from sibling tools like get_cancellation_policy or reserve_slot.

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 states 'Use this to show a user when a business is open for appointments', providing a clear context. However, it does not specify when not to use this tool or mention alternatives such as reserve_slot for booking.

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

get_cancellation_policyGet Cancellation PolicyA
Read-onlyIdempotent
Inspect

Returns the business's cancellation policy text. Use this when a user asks about cancellation terms, fees, or no-show policies. The response includes agent guidance on how to frame the policy with appropriate freshness caveats.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugYes
has_policyYes
policy_textYes
guidance_for_agentYes
Behavior4/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds that response includes agent guidance and freshness caveats, which is useful context beyond the 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?

Two concise sentences with no waste. First sentence states purpose, second provides usage guidance and response details. Front-loaded and efficient.

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 simple tool structure (1 param, read-only, idempotent, with output schema), the description fully covers purpose, usage, and response content. No gaps.

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 has 100% coverage for the single parameter 'slug' with its description. Description does not add additional meaning to the parameter beyond what schema already provides, so baseline score 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?

Description clearly states verb 'Returns' and resource 'cancellation policy text'. Distinguishes from siblings like get_availability or get_credentials by specifying exactly what business policy is returned.

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?

Explicitly says 'Use this when a user asks about cancellation terms, fees, or no-show policies' and mentions that response includes agent guidance on framing with freshness caveats.

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

get_credentialsGet Business CredentialsA
Read-onlyIdempotent
Inspect

Returns the business's self-reported licenses, insurance, bonding, and certifications. Use this for trust-sensitive verticals (contractors, healthcare, legal, locksmiths) when a user asks 'are they licensed?' or 'are they insured?'. The response carries explicit 'self-reported' framing so agents don't upgrade tenant claims to verified facts.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugYes
bondedYes
insuredYes
summaryYes
licensesYes
certificationsYes
has_credentialsYes
Behavior4/5

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

Annotations already indicate read-only, non-destructive, idempotent behavior. The description adds critical context: the response is 'self-reported' and agents should not upgrade claims to verified facts, which is valuable beyond the 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?

Two concise sentences: first states purpose, second provides usage guidelines and key behavioral note. No filler or redundancy; 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 the tool's simplicity (one parameter, output schema present, read-only), the description covers purpose, usage context, and critical behavioral nuance completely. No gaps remain.

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 description for the only parameter (slug). The description does not add additional parameter semantics beyond what the schema 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 clearly states the tool returns business credentials (licenses, insurance, etc.) and uses specific verbs. It is easily distinguishable from sibling tools like get_availability or get_cancellation_policy which cover different aspects.

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 recommends use for trust-sensitive verticals and gives example user queries ('are they licensed?'). While it lacks explicit 'do not use' statements, the guidance is clear and actionable.

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

get_quoteGet Price QuoteA
Idempotent
Inspect

Quote price for a service at a business. Some quotes are exact figures from the business's own configured pricing; others are estimates with a disclaimer when no configured price is found. Use this when a user asks 'how much does X cost?' or 'what's the price for Y?'.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier
paramsNoOptional service parameters (e.g., {size:'large'})
serviceYesRequested service name to quote

Output Schema

ParametersJSON Schema
NameRequiredDescription
quoteYes
reasonNo
Behavior4/5

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

Beyond annotations, description adds nuance: some quotes are exact from configured pricing, others are estimates with disclaimer. 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?

Two concise sentences, front-loaded with purpose, includes nuance and usage guidance. No wasted words.

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 tool complexity with 3 params and output schema, description adequately covers purpose, behavior, and usage. Output schema handles return values.

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 baseline 3. Description does not add detail beyond schema for individual parameters.

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?

Description clearly states it quotes price for a service at a business, distinguishes exact vs estimated quotes, and provides example queries. Differentiates from sibling tools like get_availability or get_cancellation_policy.

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 tells when to use with example user questions. Does not specify when not to use or list alternatives, but context is clear.

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

initiate_handoffInitiate HandoffA
Idempotent
Inspect

Begin a handoff from the agent to either a human operator (SMS/email via lead_routing_json) or another agent (signed continuation URL). Idempotent: re-using the same idempotency_key returns the original handoff.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesHandoff mode: human (SMS/email) or agent (continuation URL)
slugYesBusiness slug identifier
messageNoMessage body for human-mode notification
purposeNoPurpose description for agent-mode continuation
agent_idNoOptional agent identifier
reservation_idNoOptional link to a prior reservation
idempotency_keyYesUnique key for idempotent handoff
Behavior5/5

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

Description aligns with annotations (non-readOnly, non-destructive, idempotent) and adds valuable behavior details: what 'idempotent' means in practice, and the mechanisms (lead_routing_json for human, signed continuation URL for agent). 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?

Two sentences, each carrying essential information. Front-loaded with the core action and modes, followed by the idempotency note. No filler words.

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?

Covers the two handoff modes and idempotency, which are the key behavioral aspects. However, with no output schema, the description could hint at what the tool returns (only mentions idempotent case). Sibling tools like request_callback are not distinguished, leaving some usage ambiguity.

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 has 100% parameter descriptions, so the bar is high. The description adds context about idempotency_key behavior but does not enrich understanding of other parameters (e.g., slug, message, purpose) beyond the schema. Adequate but not exceptional.

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?

Clearly states the verb 'Begin a handoff' and specifies the two target types (human operator via SMS/email, or another agent via continuation URL), making it distinct from sibling tools like request_callback or query_business_agent.

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?

Provides context on the two modes and idempotency, but lacks explicit guidance on when to use this tool versus alternatives (e.g., request_callback). Does not state prerequisites or conditions for each mode.

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

query_business_agentQuery Business AgentAInspect

Ask a registered business's AI advocate a question and get a citation-ready answer plus a referral link. The answer is grounded ONLY in the business's public profile. Use this when a user asks something specific about one business (services, hours, policies, fit).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier
queryYesThe visitor's question about this business
stageNoOptional buyer stage: browsing | comparing | committing
agent_idNoOptional self-asserted calling-agent id — used for logging/tuning only, never auth
Behavior3/5

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

Annotations already declare readOnlyHint=false and openWorldHint=true. The description adds that answers are 'grounded ONLY in the business's public profile,' but does not elaborate on side effects, logging, or other behavioral traits. This is adequate but not exceptional given annotation coverage.

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 concise sentences: the first states what it does, the second guides usage. No filler, front-loaded with the core action.

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 4 parameters, no output schema, and annotations present, the description covers purpose, usage, and return format (citation-ready answer, referral link). It lacks details on error handling or prerequisites, but is sufficient for the tool's complexity.

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 baseline is 3. The description does not add extra meaning to parameters beyond what's in the schema. The schema already describes 'slug', 'query', 'stage', and 'agent_id' adequately.

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 verb ('ask'), resource ('business's AI advocate'), and output ('citation-ready answer plus a referral link'). It explicitly distinguishes this from sibling tools like 'get_availability' or 'get_cancellation_policy' by emphasizing open-ended questions about services, hours, policies, and fit.

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 explicitly says 'Use this when a user asks something specific about one business (services, hours, policies, fit).' This provides clear context for when to use the tool, though it does not explicitly mention when not to use it or name alternative tools.

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

request_callbackRequest CallbackA
Idempotent
Inspect

Submit a callback request on behalf of a user. The business is notified via their configured lead routing channel (SMS/email). Idempotent: re-using the same idempotency_key returns the original request.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier
reasonNoWhy the user wants the callback
urgencyNoHow time-sensitive (default: normal)
agent_idNoOptional agent identifier
contact_nameNoEnd-user's name
contact_emailNoEnd-user's email
contact_phoneNoEnd-user's phone
idempotency_keyYesIdempotency key
preferred_channelNoChannel the user prefers (default: any)
Behavior5/5

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

The description goes beyond annotations by detailing that the business is notified via their configured lead routing channel (SMS/email) and that the tool is idempotent: re-using the same idempotency_key returns the original request. No contradictions 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, each serving a distinct purpose: first states the action and notification, second states idempotency. No redundant or unnecessary words.

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?

The description covers the action, notification, and idempotency, but does not describe the return value or result format. Given the absence of an output schema, a brief note on what the tool returns would improve completeness. Nonetheless, essential behavior is captured.

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 baseline is 3. The description adds value by explaining the idempotency_key behavior, but it does not add meaning to other parameters beyond what the schema already provides.

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 verb 'Submit' and the resource 'a callback request on behalf of a user'. It distinguishes this tool from siblings like get_availability or reserve_slot by specifying the action of submitting a callback request and the notification mechanism. No ambiguity.

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 context for when to use the tool ('on behalf of a user') and explains the notification routing, but it does not explicitly exclude alternative scenarios or compare to other tools. It's clear but lacks explicit when-not guidance.

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

reserve_slotReserve Time SlotA
Idempotent
Inspect

Reserve a 30-minute time slot at a business. Returns a held reservation with an HMAC-signed confirmation token. The reservation expires in 15 minutes if not confirmed via /a2a/confirm. Idempotent: re-using the same idempotency_key returns the original reservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier
agent_idNoOptional agent identifier
window_endYesSlot end (Unix seconds)
window_startYesSlot start (Unix seconds)
idempotency_keyYesUnique key for idempotent reservation
customer_contactYesCustomer contact information
Behavior4/5

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

Annotations include idempotentHint=true but description adds value: explains return token, 15-minute expiration, idempotency behavior. No contradiction. Could still mention authentication needs if applicable, but sufficient for current context.

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 with no wasted words. Front-loaded with purpose, then behavioral details. Every sentence adds value. Excellent structure.

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?

Despite no output schema, description explains return value and critical behavior (expiration, idempotency, confirmation flow). Covers essential aspects for a complex tool with 6 parameters. Minor gap: no mention of error conditions.

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 baseline is 3. Description mentions '30-minute time slot' and idempotency_key behavior but does not add semantic detail for parameters beyond what schema provides (e.g., window_start format, customer_contact fields). Minimal enrichment.

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 verb 'Reserve' and the resource 'time slot at a business', and specifies the return of a held reservation with an HMAC-signed token. It distinguishes from sibling tools like 'get_availability' (retrieval) and 'request_callback' (different action).

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 implies usage context (e.g., expiration requires confirmation) but does not explicitly state when to use versus alternatives like 'get_availability' or 'request_callback'. No direct guidance on prerequisites or exclusions.

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-onlyIdempotent
Inspect

Search for registered businesses by category, name, or location. Returns a list of matching businesses with their slugs. Use this to discover which businesses are available before querying one.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchYesSearch term — matched against business name, description, services, and category
locationNoOptional location filter (city, state, or region). Narrows results geographically.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive hints. The description adds that it returns slugs and is for discovery, reinforcing safe behavior without 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?

Two sentences, each serving a distinct purpose: what it does and when to use. No wasted words or redundant 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 rich annotations, complete schema, and an output schema present, the description covers purpose, usage, and return value sufficiently. No critical gaps.

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 describes both parameters. The description adds little beyond the schema, only hinting at search fields (category, name, location). 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 clearly states the action 'search' and the resource 'registered businesses', specifying search criteria (category, name, location) and output (list with slugs). It distinguishes from siblings like 'query_business_agent' by focusing on discovery before querying.

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 advises to use this tool to discover businesses before querying one, providing clear context. Does not explicitly mention when not to use, but the guideline is sufficient for typical use.

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

subscribe_to_updatesSubscribe to UpdatesA
Idempotent
Inspect

Subscribe a user's email to updates from a business. Returns a confirmation URL the user must click within 7 days. Idempotent: re-using the same idempotency_key returns the original subscription.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBusiness slug identifier
topicsYesTopic tags (e.g., ['deals', 'schedule_changes'])
agent_idNoOptional agent identifier
contact_emailYesEmail to subscribe — confirmed via returned token
idempotency_keyYesIdempotency key
Behavior5/5

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

The description adds significant behavioral context beyond annotations: it discloses that a confirmation URL is returned and must be clicked within 7 days, and notes idempotency. This complements the idempotentHint annotation without contradiction.

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 long, front-loads the purpose, and immediately follows with key behavioral information. Every sentence adds value; no redundancy or unnecessary words.

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 subscription tool, the description covers the essential aspects: purpose, the confirmation process with a time constraint, and idempotency. No output schema is needed as the return value is described.

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 has 100% parameter description coverage, and the tool description does not add additional parameter-level details beyond what the schema already provides. It stays at baseline for a fully covered schema.

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 'Subscribe a user's email to updates from a business' with a specific verb and resource. It distinguishes itself from sibling tools (e.g., get_availability, query_business_agent) by being the only subscription-oriented tool.

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 context by mentioning the confirmation URL and 7-day expiry, which informs usage expectations. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.