Advocate

com.advocatemcpPublished by advocatemcp.comOfficial publisherv1.10.1Updated Nov 8, 2026

Find participating local businesses, read published facts, and request a quote, callback or booking.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Lets an assistant look up participating local businesses, read their published services, prices, credentials and policies, and request quotes, callbacks or…

What you can do
  • Search businesses by name, service or location and get their slugs and profiles
  • Read published services and prices, credentials, cancellation policies and booking routes
  • Check open appointment windows and reserve, confirm or cancel a booking
  • Get price quotes and payment handoff links for priced offers
  • Send quote requests, callback requests and update subscriptions, then read the business's answer
  • Hand off to a human operator or another agent, and ask a business's AI advocate a question
When to use it
Useful when a user wants to find a local service provider, compare published prices or credentials, check appointment availability, or start a quote, callback or booking with a business that participates in Advocate.
Requirements
A remote MCP endpoint at api.advocatemcp.com over streamable HTTP; no package, environment variable or header is declared. Some actions need customer contact details (email or phone) to receive confirmation codes, and paid bookings need a wallet credential.
Before you install
Many tools are not read-only: they create records on the business's side, send notifications, or are steps of a payment. create_booking_payment_link lets the agent pay with a wallet credential, so real money can be spent. Confirmation codes must come from the customer, never be generated. Quote estimates not matched to configured prices come from a third-party AI and are not firm merchant pricing. Questions sent to query_business_agent are processed by an AI provider and recorded, so no…

Installation

In SourceWeft

  1. Open Advocate in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.advocatemcp%2Fadvocate/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "advocate": {
      "type": "http",
      "url": "https://api.advocatemcp.com/mcp"
    }
  }
}

README

This repository has no README.

Tools

19

search_businesses

Search Businesses

Find registered businesses by search term and optional location; returns matches with their slugs. When no business matches every word, returns a few that match some of them, marked match: partial with matched_terms; check one fits before acting on it. Call it before the business-specific tools.

Parameterssearchrequiredlocation

get_credentials

Get Business 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.

Parametersslugrequired

get_cancellation_policy

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.

Parametersslugrequired

get_availability

Get Business 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 unsupported calendar or booking provider, call get_booking_destination to find its published public booking route.

Parametersslugrequiredwindow_endwindow_start

get_booking_destination

Get Booking Destination

Returns the public booking or inquiry route for a business. Use this before helping a user book an appointment: it distinguishes an external provider page, an active configured calendar using Advocate, an eligible quote-request form when neither booking route is available, and businesses with no supported destination. For native mode, booking_backend names the calendar Advocate books into and capabilities states whether availability, booking, cancellation and rescheduling are supported through Advocate. Cancellation is per booking: cancel_booking needs the cancel_token confirm_booking returned, or the one in a paid booking's payment receipt, so an agent cannot cancel a booking made on the page or one whose token it never received. External pages are links only; Advocate does not sync their availability or make bookings there. Request mode opens an editable form; sending requires explicit customer consent and confirms no time, price, payment, or booking.

Parametersslugrequired

list_services

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.

Parametersslugrequired

get_quote

Get Price 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?'.

Parametersslugrequiredparamsservicerequired

reserve_slot

Reserve Time 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 from get_quote (without it the answer is quote_required); no code is sent and the result's payment block carries the amount to pay instead.

Parametersslugrequiredagent_idoffer_idwindow_endrequiredwindow_startrequiredidempotency_keyrequiredcustomer_contactrequired

confirm_booking

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 uncertain; repeat confirm_booking later to check the stored outcome, but it never retries a provider write automatically. A paid booking (reserve_slot returned payment.required = true) has no code: this answers payment_required — pay it with create_booking_payment_link — or payment_in_flight while its payment is settling.

Parameterscoderequiredslugrequiredreservation_idrequiredbooking_authorization

initiate_handoff

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.

Parametersmoderequiredslugrequiredreasonmessagepurposeurgencyagent_idcontact_namecontact_emailcontact_phonereservation_ididempotency_keyrequired

request_callback

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.

Parametersslugrequiredreasonurgencyagent_idcontact_namecontact_emailcontact_phoneidempotency_keyrequiredpreferred_channel

subscribe_to_updates

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.

Parametersslugrequiredtopicsrequiredagent_idcontact_emailrequiredidempotency_keyrequired

query_business_agent

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, policies, or fit.

Parametersslugrequiredqueryrequiredstageagent_id

get_payment_handoff_url

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 continue with a priced offer. If the booking's deposit was already paid through create_booking_payment_link, this answers deposit_taken: do not send the person to pay again; the balance is due at the visit.

Parametersslugrequiredoffer_idrequired

request_service

Request a business quote

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.

Parametersbusiness_idrequired

submit_quote_request

Send a 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 request. Exclude medical, payment-card and authentication information.

Parametersconsentrequireddetailsrequiredservicerequiredbusiness_idrequiredcontact_namecontact_emailcontact_phonecontext_tokenrequiredidempotency_keyrequiredservice_addresspreferred_window

cancel_booking

Cancel Booking

Cancels a confirmed booking. A booking on the business's Advocate calendar that takes no payment through Advocate takes the cancel_token confirm_booking returned, and nothing was paid through it. A paid booking takes 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 continues. A paid booking's token is held only by the agent that paid. The token of a booking that takes no payment through Advocate is held by the agent that confirmed it and sits in the customer's emailed receipt. If such a booking is already cancelled (by an earlier call, the customer's emailed link, or the business), the answer is status already_cancelled with refund no_payment, and nothing changes. Cancelling a paid booking twice answers the error already_cancelled with its refund state.

Parametersslugrequiredcancel_tokenrequiredreservation_idrequired

get_request_status

Get Request Status

Reads the business's answer to a request this caller sent with submit_quote_request or request_callback, using the status_token that call returned. A business may take a while to answer; waiting is a normal result.

Parametersrequest_idrequiredstatus_tokenrequired

Version history

2
  1. v1.10.1LatestNov 7, 2026
  2. v1.0.0Sep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.