Search the RoloCache catalog and return matching vendors.
All three parameters are optional and combinable. With no parameters,
returns all indexed vendors.
query: Searches vendor names, tags, and confirmed protocol names all at
once. Examples: "hotel", "car rental", "corporate travel", "MCP".
Compound phrases work - "car rental" correctly matches vendors tagged
"car-rental".
protocol: Exact match against confirmed protocol names. Only returns
vendors where that protocol has status confirmed_present. Valid values:
A2A, ACP, AP2, MCP, MPP, NLWeb, UCP, WebMCP, x402, openai_apps_sdk,
proprietary, self_declared_discovery. An unrecognized value returns
empty results, not an error.
has_agent_interface: Exact match against "true", "false", or "partial".
"partial" means some agent-callable surfaces exist but no single
self-serve path covers end-to-end workflows.
Results only include vendors with real, current scan data. Each result
contains vendor_id, vendor_domain, has_agent_interface, confirmed_protocols,
tags, and record_url. Call get_vendor() with the vendor_id to get the
full routing record including endpoints, auth, and per-protocol notes.