AdvocateMCP
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.
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.
Tool Definition Quality
Average 4.3/5 across 10 of 10 tools scored.
Each tool serves a distinct purpose without overlap, covering search, availability, pricing, reservations, handoffs, subscriptions, policies, and credentials.
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.
With 10 tools, the server covers the core operations for business advocacy without being overwhelming or too sparse.
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 toolsget_availabilityGet Business AvailabilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier | |
| window_end | No | Unix seconds; default now + 7 days | |
| window_start | No | Unix seconds; default now |
Output Schema
| Name | Required | Description |
|---|---|---|
| slots | Yes | |
| source | Yes | |
| timezone | Yes | |
| generated_at | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 PolicyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | |
| has_policy | Yes | |
| policy_text | Yes | |
| guidance_for_agent | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 CredentialsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | |
| bonded | Yes | |
| insured | Yes | |
| summary | Yes | |
| licenses | Yes | |
| certifications | Yes | |
| has_credentials | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 QuoteAIdempotentInspect
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?'.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier | |
| params | No | Optional service parameters (e.g., {size:'large'}) | |
| service | Yes | Requested service name to quote |
Output Schema
| Name | Required | Description |
|---|---|---|
| quote | Yes | |
| reason | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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 HandoffAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Handoff mode: human (SMS/email) or agent (continuation URL) | |
| slug | Yes | Business slug identifier | |
| message | No | Message body for human-mode notification | |
| purpose | No | Purpose description for agent-mode continuation | |
| agent_id | No | Optional agent identifier | |
| reservation_id | No | Optional link to a prior reservation | |
| idempotency_key | Yes | Unique key for idempotent handoff |
Tool Definition Quality
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier | |
| query | Yes | The visitor's question about this business | |
| stage | No | Optional buyer stage: browsing | comparing | committing | |
| agent_id | No | Optional self-asserted calling-agent id — used for logging/tuning only, never auth |
Tool Definition Quality
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.
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.
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.
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.
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.
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 CallbackAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier | |
| reason | No | Why the user wants the callback | |
| urgency | No | How time-sensitive (default: normal) | |
| agent_id | No | Optional agent identifier | |
| contact_name | No | End-user's name | |
| contact_email | No | End-user's email | |
| contact_phone | No | End-user's phone | |
| idempotency_key | Yes | Idempotency key | |
| preferred_channel | No | Channel the user prefers (default: any) |
Tool Definition Quality
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.
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.
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.
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.
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.
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 SlotAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier | |
| agent_id | No | Optional agent identifier | |
| window_end | Yes | Slot end (Unix seconds) | |
| window_start | Yes | Slot start (Unix seconds) | |
| idempotency_key | Yes | Unique key for idempotent reservation | |
| customer_contact | Yes | Customer contact information |
Tool Definition Quality
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.
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.
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.
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.
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.
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 BusinessesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| search | Yes | Search term — matched against business name, description, services, and category | |
| location | No | Optional location filter (city, state, or region). Narrows results geographically. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 UpdatesAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Business slug identifier | |
| topics | Yes | Topic tags (e.g., ['deals', 'schedule_changes']) | |
| agent_id | No | Optional agent identifier | |
| contact_email | Yes | Email to subscribe — confirmed via returned token | |
| idempotency_key | Yes | Idempotency key |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!