Turns local businesses into queryable AI agents through a single MCP endpoint. Ten tools split into discovery (search businesses, query their agent, check availability, get quotes and credentials) and transactional (reserve slots, request callbacks, initiate handoffs). The discovery tools work without auth, while transactional ones use bearer tokens for agent-to-agent coordination. It also runs a Cloudflare Worker that intercepts AI crawlers hitting business websites and routes them to structured agent responses instead of letting them scrape. Built on Claude Sonnet with prompt caching, backed by SQLite and D1, rate-limited per IP and agent tier. Useful when you need to book services or get pricing from local SMBs directly through an AI interface.
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.
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 policyTransactional (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.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"advocate": {
"url": "https://api.advocatemcp.com/mcp",
"transport": "http"
}
}
}
Restart Claude Desktop. Try:
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.
customers.advocatemcp.comapi.advocatemcp.comBUSINESS_MAP for domain → slug routingclaude-sonnet-4-6), prompt caching enabledadvocatemcp/
├── 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
Proprietary (hosted SaaS). The MCP manifest spec is open — see /.well-known/mcp.json for the schema.