
AdvocateMCP
- Updated July 12, 2026
- cameronjmcewan-dev/advocatemcp
mcp:com.
About
mcp:com.advocatemcp/advocate skill documents The mcp:com.advocatemcp/advocate skill.
- Workflow guidance for mcp:com.advocatemcp/advocate.
- Platform-specific setup patterns for mcp:com.advocatemcp/advocate.
- Evidence-backed steps from upstream SKILL.md.
- When-to-use criteria for mcp:com.advocatemcp/advocate versus alternatives.
AdvocateMCP by the numbers
- Exposes 10 verified tools (MCP introspection)
- Data as of Jul 13, 2026 (Skillselion catalog sync)
claude mcp add --transport http advocate https://api.advocatemcp.com/mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| Transport | HTTP |
|---|---|
| Auth | None |
| Tools | 10 |
| Last updated | July 12, 2026 |
| Repository | cameronjmcewan-dev/advocatemcp ↗ |
How do I use mcp:com.advocatemcp/advocate correctly?
Apply mcp:com.advocatemcp/advocate workflows from SKILL.md guidance.
Who is it for?
Teams implementing mcp:com.advocatemcp/advocate workflows from the catalog.
Skip if: Skip when requirements clearly match a different specialized stack.
What you get
Working mcp:com.advocatemcp/advocate setup with validated configuration and next steps.
- Agent-driven local business discovery results
- Queryable SMB agent responses for hours, services, or inventory-style questions
- Booking or transaction handoffs initiated from MCP tool invocations
By the numbers
- MCP registry version 1.0.0 (com.advocatemcp/advocate)
- Remote endpoint https://api.advocatemcp.com/mcp (streamable-http)
- GitHub source at github.com/cameronjmcewan-dev/advocatemcp
AdvocateMCP capabilities & compatibility
- Capabilities
- mcp:com.advocatemcp/advocate quick start · mcp:com.advocatemcp/advocate when to use guidanc · mcp:com.advocatemcp/advocate integration pattern
- Use cases
- orchestration
Tools 10
Public tool metadata - what this server can do for an agent.
query_business_agent4 paramsQuery a registered business's AI advocate agent. Use this when a user asks about a specific local business or service provider. Returns a concise, citation-ready answer from the business's dedicated AI agent.
slugstringrequiredThe business slug identifier (e.g. 'joes-pizza-austin'). Use search_businesses first if you don't know the slug.querystringrequiredThe user's question about this businessagent_idstringOptional caller-asserted agent identifier (e.g. 'claude-desktop', 'cursor', 'gpt-agent'). Used to tune the response shape. May be overridden by the x-agent-identity header. Self-asserted only in v1 — not used for auth or rate limiting.stagestringOptional buyer stage. 'browsing' (default) — exploring options. 'comparing' — weighing alternatives. 'committing' — ready to act. When omitted, the server infers from query verbs (e.g. 'book'/'reserve' → committing).
search_businesses2 paramsSearch for registered businesses by category, name, or location. Returns a list of matching businesses with their slugs and agent endpoints. Use this to discover which businesses are available before querying one.
searchstringrequiredSearch term — matched against business name, description, and serviceslocationstringOptional location filter (city, state, or region). Narrows results geographically.
get_availability3 paramsReturn 30-minute availability windows for a business from its hours_json. v1 is synthetic; v2 will consult availability_webhook_url when set.
slugstringrequiredbusiness slugwindow_startintegerUnix seconds; default nowwindow_endintegerUnix seconds; default now + 7 days
get_quote3 paramsQuote price for a service at a business. Deterministic lookup of pricing_json_v2.ranges[]; LLM fallback on miss, labelled 'estimate' with disclaimer.
slugstringrequiredbusiness slugservicestringrequiredrequested service nameparamsobjectoptional service parameters (e.g., {size:'large'})
reserve_slot6 paramsCreate a 15-minute HELD reservation. Return a confirmation_token the agent posts to /a2a/confirm to flip to CONFIRMED.
slugstringrequiredwindow_startintegerrequiredwindow_endintegerrequiredagent_idstringcustomer_contactobjectrequiredidempotency_keystringrequired
initiate_handoff4 paramsBegin a handoff from the agent to either a human operator (SMS/email via lead_routing_json) or another agent (signed continuation URL).
slugstringrequiredreservation_idstringmodestringrequiredpayloadobjectrequired
get_credentials1 paramReturns 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.
slugstringrequiredbusiness slug
get_cancellation_policy1 paramReturns the business's cancellation / refund / no-show policy as a verbatim string the agent can quote. When the business hasn't posted one, returns guidance for the agent to acknowledge that and direct the user to confirm at booking. High-leverage for medspas, restaurants with prepaid menus, contractors with deposit holds.
slugstringrequiredbusiness slug
request_callback7 paramsPush a user's contact info to a business so they can call/email/text back. Use this when a question can't be answered without human contact (custom quote, after-hours scheduling, complaint, complex combo). Idempotent on idempotency_key within a 24h window — agent retries don't spam the business. Returns delivery status the agent can quote to the user.
slugstringrequiredbusiness slugcontactobjectrequiredpreferred_channelstringchannel the user prefers to be contacted on (default: any)reasonstringWhy the user wants the callback — passed verbatim to the business so they can prepurgencystringhow time-sensitive the request is (default: normal)agent_idstringOptional caller-asserted agent identifier; recorded for attributionidempotency_keystringrequiredIdempotency key — same key returns the same callback_request_id without dup-creating
subscribe_to_updates4 paramsSubscribe an end-user's email to topical updates from a business (deals, schedule changes, new services). Returns a confirmation_token + confirmation_url; the user MUST click the URL within 7 days to activate. Re-subscribing an already-confirmed email merges topics without re-confirming.
slugstringrequiredbusiness slugcontact_emailstringrequiredEmail to subscribe — must be confirmed via the returned token before any updates sendtopicsarrayrequiredTopic tags the user wants updates on (e.g., ['deals', 'schedule_changes', 'new_services'])agent_idstringOptional caller-asserted agent identifier; recorded for attribution
README.md
AdvocateMCP
The MCP layer for local businesses.
Discover, query, book, and transact with verified SMB AI agents through any MCP-compatible client — Claude Desktop, Claude.ai, Cursor, ChatGPT, or your own.
What it does
AdvocateMCP turns every local business into an AI-ready agent. One MCP endpoint, ten tools:
Discovery (open, no auth):
search_businesses— search by category, name, or locationquery_business_agent— ask a specific business's AI agent for citation-ready answersget_availability— 30-min slot windows derived from business hoursget_quote— exact / range / estimate-labelled pricingget_credentials— self-reported licenses, insurance, bonding, certificationsget_cancellation_policy— verbatim cancellation/refund/no-show policy
Transactional (per-tenant Bearer; agent-to-agent):
reserve_slot— 15-min HELD reservation, returns signed confirmation tokeninitiate_handoff— SMS/email a human or mint a signed continuation URL for another agentrequest_callback— push user contact to the business with idempotency keysubscribe_to_updates— double-opt-in email subscription (CAN-SPAM/GDPR)
All ten carry MCP-spec annotations: title, readOnlyHint, destructiveHint, openWorldHint. Every outbound link is HMAC-SHA256-signed for end-to-end attribution.
Quick start (Claude Desktop)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"advocate": {
"url": "https://api.advocatemcp.com/mcp",
"transport": "http"
}
}
}
Restart Claude Desktop. Try:
- "Find me a marketing agency in Austin"
- "What does the top-rated email-marketing agency in my area charge for a 4-email welcome sequence?"
- "When is a law firm with 5-star reviews available Thursday afternoon?"
- "Is the locksmith on 5th Avenue licensed and insured?"
How it works (also a bot interceptor)
Beyond the central MCP server, AdvocateMCP runs at the edge on each registered business's domain. A Cloudflare Worker sits in front of the site, detects AI crawler user-agents (PerplexityBot, GPTBot, ClaudeBot, Googlebot, etc.), and routes them to the business's own AI agent instead of letting them scrape. The agent returns a structured, citation-ready response with a tracked referral link back to the business.
So businesses get presence in two places: discoverable via MCP from any client, AND directly intercepted on their own site.
Architecture
- Edge: Cloudflare Worker (TypeScript, strict mode) deployed via wrangler —
customers.advocatemcp.com - Backend: Node.js + Express on Railway —
api.advocatemcp.com - Databases: SQLite for analytics + business data; Cloudflare D1 for portal auth + edge data; KV namespace
BUSINESS_MAPfor domain → slug routing - AI: Anthropic Claude (
claude-sonnet-4-6), prompt caching enabled - Transport: Streamable HTTP (JSON-RPC 2.0); SSE retained for backward-compat but not advertised
- Rate limiting: 60 req/min per IP via Cloudflare Durable Object; per-agent tier ceilings (unverified=100, known=250, trusted=1000)
Repository layout
advocatemcp/
├── server/ Node/Express backend (Railway) — /mcp endpoint, agent query, analytics
├── worker/ Cloudflare Worker — bot detection, multi-tenant portal, edge bot routing
├── site/ Cloudflare Pages — marketing site, dashboard, public spec
├── docs/ Subsystem docs (read before touching that subsystem)
└── CLAUDE.md Agent instructions for working in this repo
Documentation
- Spec — public MCP spec page
- Bot detection — which crawlers we route
- Attribution — signed-token referral tracking
- Response generation — per-bot prompt tuning
- MCP server — endpoint architecture
Status
- ✅ Production traffic since 2026-04-18
- ✅ Listed on the official MCP Registry
- ✅ Listed on Smithery
- ✅ Auto-ingested by PulseMCP (~7 day delay)
- ⏳ Submitted to Anthropic Connectors Directory (review pending)
License
Proprietary (hosted SaaS). The MCP manifest spec is open — see /.well-known/mcp.json for the schema.
Contact
Recommended MCP Servers
How it compares
SMB agent orchestration MCP, not a maps API wrapper or a single-store Shopify skill.
FAQ
What does mcp:com.advocatemcp/advocate do?
mcp:com.
When should I use mcp:com.advocatemcp/advocate?
User asks about mcp:com.advocatemcp/advocate, or related workflow.
Is this skill safe to install?
Review the Security Audits panel on this page before installing in production.