MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

Advocate

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

Checks passed
12 / 22

2 failed · 8 not measured

Median response
1196 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
19

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
222

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1196 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name advocate.

  • Pass
    Lists tools

    tools/list returned 19 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1196 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1196 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    74 of 79 parameters have a description (94%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Fail
    Website matches publisher

    The website host does not match the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-07T03:33:41.783046Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Advocate

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http advocate https://api.advocatemcp.com/mcp

Capabilities

Tools 19

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.

Discovered
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.

Discovered
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 booking that takes no payment through Advocate answers payment_required false with a detail, not an error, and, if not confirmed yet, is confirmed with confirm_booking and the customer's code.

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

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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?'.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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 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.

Discovered
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.

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

Discovered
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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1196 ms19