com.advocatemcp/advocate
repo:https://github.com/cameronjmcewan-dev/advocatemcp
MCP layer for local businesses: discover, query, book, and transact with verified SMB AI agents.
- transport:
- remote
- credential class:
- open
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- cancel_bookingshallow
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 payment is refunded in full; after that the deposit is forfeited under the booking's policy (the result says which). Only the agent that paid holds the token. Cancelling twice answers already_cancelled.
- confirm_bookingshallow
Confirm a reservation made with reserve_slot. The customer received a 6-digit confirmation code at their own email or phone when the slot was reserved — the agent never generates or sees this code itself, only relays what the customer reads back. Confirming is what actually claims the slot: two people can hold overlapping pending reservations, but only the first to confirm keeps it.
- create_booking_payment_linkshallow
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.
- get_availabilityshallow
Return 30-minute availability windows for a business, derived from its configured operating hours with already-booked windows removed. Use this to show a user when a business can actually be booked. Windows held by a confirmed booking are never returned. Note that an unconfirmed offer does NOT withhold a window — two callers may hold overlapping offers and race to confirm_booking, so a returned window can still be lost to whoever confirms first.
- get_booking_destinationshallow
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. External pages are links only; Advocate does not sync their availability or make bookings there.
- get_cancellation_policyshallow
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.
- get_credentialsshallow
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.
- get_payment_handoff_urlshallow
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 continue with a priced offer.
- get_quoteshallow
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?'.
- initiate_handoffshallow
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.
- list_servicesshallow
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.
- query_business_agentshallow
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).
- request_callbackshallow
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.
- request_serviceshallow
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.
- reserve_slotshallow
Reserve a time slot at a business. Returns a pending_offer reservation and sends a 6-digit confirmation code to the customer's email or phone. The customer reads the code back to confirm via the confirm_booking tool. The reservation expires in 15 minutes if not confirmed. Idempotent: re-using the same idempotency_key returns the original reservation without resending the code.
- search_businessesshallow
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.
- submit_quote_requestshallow
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 request. Exclude medical, payment-card and authentication information.
- subscribe_to_updatesshallow
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.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/ee7cc4e3-565a-4e50-bc66-0dedf10a25ef)