Skip to main content
Operator
Scan free
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.

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

AuthOpen 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 caseLet an agent discover available Operator tools before choosing a local business query.

MCP server v2 substrate query

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

AuthOpen 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 caseAsk the substrate for ranked businesses, markets, and agent-ready context.

Business profile data

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

AuthOpen read endpoint.

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

Agent use caseResolve one business into structured profile data an agent can cite or compare.

Market data JSON

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

AuthOpen read endpoint.

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

Agent use caseLoad a city snapshot before an agent ranks opportunities or competitors.

CORS-open business live data

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

AuthOpen public endpoint with CORS.

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

Agent use caseLet browser-based agents hydrate a public profile without a server proxy.

CORS-open market live data

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

AuthOpen public endpoint with CORS.

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

Agent use caseGive 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.