AdvocateMCP
MCP layer for local businesses: discover, query, book, and transact with verified SMB AI agents.
| Endpoint | https://api.advocatemcp.com/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.0 |
| Now | 18 tools · grade B (86) · pin ts_f2ba1279dc8d80840800033e63d3a227 · protocol 2025-06-18 |
| First / last listed | 2026-11-02 00:12 UTC / 2026-11-02 00:12 UTC |
| Grade over time | 2026-11-02: B (86), 18 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: search_businesses get_credentials get_cancellation_policy get_availability get_booking_destination list_services get_quote reserve_slot confirm_booking initiate_handoff request_callback subscribe_to_updates query_business_agent get_payment_handoff_url request_service submit_quote_request create_booking_payment_link cancel_booking
search_businesses | Find registered businesses by search term and optional location; returns matches with their slugs. Call it before the business-specific tools. params: search*, location |
get_credentials | 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. params: slug* |
get_cancellation_policy | 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. params: slug* |
get_availability | Return available windows from the business's active configured calendar, using its selected timezone, duration, operating hours, and current local or connected-calendar occupancy; supported scheduling providers supply their own slots. Use a returned window to start a booking. Availability can change before confirmation, including when the calendar provider is unavailable. If this business uses an params: slug*, window_start, window_end |
get_booking_destination | Returns the public booking route for a business. Use this before helping a user book an appointment: it distinguishes an external provider page from an active configured calendar that uses the Advocate booking flow, and from businesses with no supported booking destination. For native mode, booking_backend names the calendar Advocate books into and capabilities states whether availability, booking params: slug* |
list_services | Lists the services a business has configured, with their prices and the exact arguments to quote each one. Call this BEFORE get_quote: the service name must match a configured service, and only a service marked payable returns an exact price with the offer_id that get_payment_handoff_url requires. Quoting a name that is not on this list silently falls back to an estimate with no offer. params: slug* |
get_quote | Return a price quote for a service at a business. Exact configured prices may create a time-limited offer; unmatched requests use a third-party AI estimate that is not firm merchant pricing and must be confirmed with the business. Use this when a user asks 'how much does X cost?' or 'what's the price for Y?'. params: slug*, service*, params |
reserve_slot | Reserve a time slot on an active configured calendar. Returns a pending_offer reservation and sends a 6-digit confirmation code to the customer's email or phone. The reservation expires in 15 minutes if not confirmed. Idempotent: re-using the same idempotency_key returns the original reservation without resending the code. At a business that takes a deposit for agent bookings, pass the offer_id fr params: slug*, window_start*, window_end*, customer_contact*, idempotency_key*, agent_id, offer_id |
confirm_booking | Confirm a reservation made with reserve_slot. Present the returned stored booking_details to the customer and relay only the customer-supplied 6-digit code received at their email or phone; never generate, guess, or fetch it. For an active configured calendar, a verified code attempts a direct commit to the selected calendar with no owner approval. booking_pending means the provider outcome is unc params: booking_authorization, slug*, reservation_id*, code* |
initiate_handoff | Begin a handoff from the agent to either a human operator (SMS/email via lead_routing_json) or another agent (signed continuation URL). In human mode the notification body is composed by the server from the contact and reason fields — callers supply those fields, not the message text. Idempotent: re-using the same idempotency_key returns the original handoff. params: slug*, reservation_id, mode*, contact_name, contact_email, contact_phone, urgency, reason, message, purpose, idempotency_key*, agent_id |
request_callback | Submit a callback request on behalf of a user. Advocate attempts a notification through the business's configured lead routing channel (SMS/email); provider acceptance is not proof the business read it. A failed or pending result can require direct follow-up or a retry. Idempotent: re-using the same idempotency_key returns the original request. params: slug*, contact_name, contact_email, contact_phone, preferred_channel, reason, urgency, idempotency_key*, agent_id |
subscribe_to_updates | Start a pending email subscription to updates from a business. Returns a confirmation URL that only the user must click within 7 days; no subscription is active until that confirmation. Idempotent: re-using the same idempotency_key returns the original subscription. params: slug*, contact_email*, topics*, idempotency_key*, agent_id |
query_business_agent | Ask a registered business's AI advocate a question and get a citation-ready answer plus a referral link. The question and the business's public profile are processed by an AI provider, and the question and answer are recorded to operate the service. Do not enter sensitive personal, medical, payment, or authentication information. Use this for questions about one business's services, hours, policie params: slug*, query*, agent_id, stage |
get_payment_handoff_url | Returns a plain-text summary of a priced offer (service, amount, currency, cancellation policy, and how long the price is valid) plus a URL on our domain that shows the same summary. The URL is for the CUSTOMER to open themselves in their own browser — do not open, fetch, or follow it yourself. Use this once get_quote or a booking flow has produced an offer_id and the user is ready to review or co params: slug*, offer_id* |
request_service | Open a quote-request form for a specific business using its public slug or provider_business_id obtained from search or the business feed. Shows the business and service catalog; does not send a request or book anything. The customer must review the form and explicitly consent before submitting. Operational access is logged. params: business_id* |
submit_quote_request | After the customer explicitly agrees, save their service requirements and contact details and send a notification to the business's configured email or opted-in SMS destination. This requests a business response, not a price commitment, booking or payment. Use context from request_service. Reuse the same idempotency_key AND details to check an uncertain submission; never automatically start a new params: business_id*, context_token*, idempotency_key*, contact_name, contact_email, contact_phone, service*, details*, consent* |
create_booking_payment_link | For a reservation that reserve_slot returned with payment.required = true: returns the MPP payment link, the amount charged now, and the balance due at the visit. The agent pays it itself (HTTP 402 challenge, then the person's wallet credential); no code is sent to the customer for a paid booking. A free booking answers not_payable — confirm it with confirm_booking and the customer's code instead. params: slug*, reservation_id* |
cancel_booking | Cancels a paid, confirmed booking using the cancel_token from its payment receipt. Within 60 minutes of paying, or before the business's refund window, the full refund is requested; report it as full only after the payment ledger confirms it. After that window the deposit is forfeited under the booking's policy. A pending refund means cancellation is complete while refund verification or retry con params: slug*, reservation_id*, cancel_token* |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.