Skip to main content
Operator

MCP endpoints

Operator MCP endpoints for AI agents.

Operator exposes MCP endpoints for 35M local businesses. Agents can query the substrate through MCP, fall back to REST reads for business and market records, and use public live endpoints when they need browser-safe data. The contract is simple: read calls return structured local business context, write calls must be explicit, attributable, and reversible.

Developer quickstartREST API docsPricing

How agents connect

MCP clients should start with capability discovery, then call the narrowest tool that answers the user's request. The agent-to-MCP contract is intentionally conservative: include user intent in the tool arguments, preserve source URLs in the final answer, do not invent live availability, and request an API key before high-volume automation. A typical substrate query looks like this:

curl -s https://operator.fyi/api/mcp-v2 \
  -H "content-type: application/json" \
  -H "x-operator-key: $OPERATOR_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
  "params":{"name":"search_businesses","arguments":{"query":"roofers in austin"}}}' \
  | jq .

Endpoint catalog

MCP server v1

https://operator.fyi/api/mcp

Auth: Open for discovery; API key recommended for higher limits.

{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }
{ "tools": [{ "name": "find_contractors", "inputSchema": { "type": "object" } }] }

Agent use case: Let an agent discover available Operator tools before choosing a local business query.

MCP server v2 substrate query

https://operator.fyi/api/mcp-v2

Auth: Open for read calls; API key supported with X-Operator-Key.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "search_businesses", "arguments": { "query": "plumber honolulu" } } }
{ "content": [{ "type": "text", "text": "Ranked Operator businesses with market context." }] }

Agent use case: Ask the substrate for ranked businesses, markets, and agent-ready context.

Business profile data

https://operator.fyi/api/v1/business/{slug}

Auth: Open read endpoint.

GET /api/v1/business/abc-plumbing-honolulu
{ "slug": "abc-plumbing-honolulu", "name": "ABC Plumbing", "city": "Honolulu", "services": [] }

Agent use case: Resolve one business into structured profile data an agent can cite or compare.

Market data JSON

https://operator.fyi/api/v1/markets/{city}/data.json

Auth: Open read endpoint.

GET /api/v1/markets/honolulu/data.json
{ "city": "Honolulu", "business_count": 1240, "top_categories": [] }

Agent use case: Load a city snapshot before an agent ranks opportunities or competitors.

CORS-open business live data

https://operator.fyi/api/public/business-live/{slug}

Auth: Open public endpoint with CORS.

GET /api/public/business-live/abc-plumbing-honolulu
{ "business": { "name": "ABC Plumbing" }, "live": { "status": "indexed" } }

Agent use case: Let browser-based agents hydrate a public profile without a server proxy.

CORS-open market live data

https://operator.fyi/api/public/market-live/{city}

Auth: Open public endpoint with CORS.

GET /api/public/market-live/honolulu
{ "market": { "city": "Honolulu" }, "leaders": [], "updated_at": "2026-05-16" }

Agent use case: Give a client-side agent a live city market snapshot for scan and comparison flows.

For concrete substrate examples, compare the live Honolulu market with an indexed business search. The same records feed the MCP tools and the public pages, so agent answers can point users back to inspectable Operator URLs.

Free cost audit

See what you're overpaying for.

Two minutes. No credit card. We'll show you your Health Score and where your money is leaking.

Check my score, free
Tracking 35.2M+ businesses across 31,247+ cities