# AdvocateMCP (remote · api.advocatemcp.com)

MCP layer for local businesses: discover, query, book, and transact with verified SMB AI agents.

- Trust score: 72/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.advocatemcp.com`: 72/100 (this document), [markdown](https://verifymcp.io/servers/com-advocatemcp-advocate/api.md), [page](https://verifymcp.io/servers/com-advocatemcp-advocate/api)

## Channel facts

- Endpoint: `https://api.advocatemcp.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 69/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 76/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1135 tokens (~113/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (50% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

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

### Codex

```toml
[mcp_servers.com-advocatemcp-advocate]
url = "https://api.advocatemcp.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-advocatemcp-advocate": {
      "type": "remote",
      "url": "https://api.advocatemcp.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-advocatemcp-advocate --url https://api.advocatemcp.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-advocatemcp-advocate:
    url: "https://api.advocatemcp.com/mcp"
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 70, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 67, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 66)

First indexed and scored.

## MCP tools (10)

### `search_businesses` (~87 tokens)

Search Businesses

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.

Input parameters:

- `location` (string): Optional location filter (city, state, or region). Narrows results geographically.
- `search` (string, required): Search term — matched against business name, description, services, and category

Output parameters:

- `results` (array)

### `get_credentials` (~88 tokens)

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.

Input parameters:

- `slug` (string, required): Business slug identifier

Output parameters:

- `bonded`
- `certifications` (array)
- `has_credentials` (boolean)
- `insured`
- `licenses` (array)
- `slug` (string)
- `summary` (string)

### `get_cancellation_policy` (~62 tokens)

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.

Input parameters:

- `slug` (string, required): Business slug identifier

Output parameters:

- `guidance_for_agent` (string)
- `has_policy` (boolean)
- `policy_text`
- `slug` (string)

### `get_availability` (~79 tokens)

Get Business Availability

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.

Input parameters:

- `slug` (string, required): Business slug identifier
- `window_end` (integer): Unix seconds; default now + 7 days
- `window_start` (integer): Unix seconds; default now

Output parameters:

- `generated_at` (number)
- `slots` (array)
- `source` (string)
- `timezone` (string)

### `get_quote` (~106 tokens)

Get Price Quote

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

Input parameters:

- `params` (object): Optional service parameters (e.g., {size:'large'})
- `service` (string, required): Requested service name to quote
- `slug` (string, required): Business slug identifier

Output parameters:

- `quote`
- `reason` (string)

### `reserve_slot` (~143 tokens)

Reserve Time Slot

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.

Input parameters:

- `agent_id` (string): Optional agent identifier
- `customer_contact` (object, required): Customer contact information
- `idempotency_key` (string, required): Unique key for idempotent reservation
- `slug` (string, required): Business slug identifier
- `window_end` (integer, required): Slot end (Unix seconds)
- `window_start` (integer, required): Slot start (Unix seconds)

### `initiate_handoff` (~158 tokens)

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). Idempotent: re-using the same idempotency_key returns the original handoff.

Input parameters:

- `agent_id` (string): Optional agent identifier
- `idempotency_key` (string, required): Unique key for idempotent handoff
- `message` (string): Message body for human-mode notification
- `mode` (string, required): Handoff mode: human (SMS/email) or agent (continuation URL)
- `purpose` (string): Purpose description for agent-mode continuation
- `reservation_id` (string): Optional link to a prior reservation
- `slug` (string, required): Business slug identifier

### `request_callback` (~164 tokens)

Request Callback

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.

Input parameters:

- `agent_id` (string): Optional agent identifier
- `contact_email` (string): End-user's email
- `contact_name` (string): End-user's name
- `contact_phone` (string): End-user's phone
- `idempotency_key` (string, required): Idempotency key
- `preferred_channel` (string): Channel the user prefers (default: any)
- `reason` (string): Why the user wants the callback
- `slug` (string, required): Business slug identifier
- `urgency` (string): How time-sensitive (default: normal)

### `subscribe_to_updates` (~121 tokens)

Subscribe to Updates

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.

Input parameters:

- `agent_id` (string): Optional agent identifier
- `contact_email` (string, required): Email to subscribe — confirmed via returned token
- `idempotency_key` (string, required): Idempotency key
- `slug` (string, required): Business slug identifier
- `topics` (array, required): Topic tags (e.g., ['deals', 'schedule_changes'])

### `query_business_agent` (~127 tokens)

Query Business Agent

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

Input parameters:

- `agent_id` (string): Optional self-asserted calling-agent id — used for logging/tuning only, never auth
- `query` (string, required): The visitor's question about this business
- `slug` (string, required): Business slug identifier
- `stage` (string): Optional buyer stage: browsing | comparing | committing

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-advocatemcp-advocate/api#diagnostics

## Score history

- 2026-08-03: 72
- 2026-08-02: 71
- 2026-08-01: 71
- 2026-07-31: 70
- 2026-07-30: 69
- 2026-07-29: 68
- 2026-07-28: 68
- 2026-07-27: 67
- 2026-07-26: 66

## Links

- Remote endpoint: https://api.advocatemcp.com/mcp
- Repository: https://github.com/cameronjmcewan-dev/advocatemcp
- Changelog RSS feed: https://verifymcp.io/servers/com-advocatemcp-advocate/api/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-advocatemcp-advocate/api/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-advocatemcp-advocate/api
