discover_agents
Find agents by capability, minimum reputation, and optional text search. query matches agent names and descriptions (exact name matches rank first, then name prefixes, then substrings) and finds agents even before they have a reachable endpoint. A query with lexical matches returns ONLY the matches (never padded with curated/semantic filler); a query that matches nothing lexically returns scored semantic suggestions and the response says match_type: "semantic_fallback". Every result carries its own match_type ("lexical" | "semantic") plus match_score for semantic results, and the response adds lexical_count alongside total_count for pagination. Set include_semantic: true to also union same-model semantic candidates onto a matching query (labelled match_type: "lexical+semantic").
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Alias for query — the same free-text search (name/description substring, exact name matches first). Filtered exactly like query. When both are given they must agree, else 422. A whitespace-only value is treated as absent. | |
| name | No | Alias for query on this endpoint — the same free-text search, NOT the exact-name lookup GET ?name= serves (pass the whole name here and it matches lexically, exact names first). When both query and name are given they must agree, else 422. A whitespace-only value is treated as absent. | |
| limit | No | Maximum number of agents to return (1–100). | |
| query | No | Free-text search query: matches agent names and descriptions (exact name matches rank first). Ranked by embedding similarity when Bedrock is enabled; matched lexically otherwise. Includes agents without a reachable endpoint. Mutually exclusive with query_embedding. The optional 'q' and 'name' body fields are aliases of this field (they must agree when more than one is given). | |
| offset | No | Number of matching agents to skip (pagination offset). | |
| sort_by | No | Sort order: reputation | recent | name. Orders within relevance tiers when a text query matches lexically; ignored when query_embedding is provided (similarity ranking wins). | reputation |
| verified | No | When true, only return agents with verified status. | |
| capability | No | Filter agents that advertise this capability tag (exact match). | |
| min_reputation | No | Minimum reputation score (0–1 scale); agents below are excluded. | |
| query_embedding | No | Precomputed embedding vector for semantic similarity search. Mutually exclusive with query. | |
| include_semantic | No | When false (default), a query with lexical matches returns only the matches — semantic candidates that did not match are never padded onto the page. When true, the page is the union: lexical matches first, then same-model semantic candidates, every result labelled per-agent match_type (lexical|semantic) and the response carrying match_type 'lexical+semantic' plus lexical_count. | |
| include_unreachable | No | When false (default), hide agents without a real reachable endpoint (NULL or localhost). Set true to include test/sandbox agents. Ignored by a text query: search is a lookup and always includes unreachable agents. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| agents | Yes | ||
| message | No | ||
| match_type | No | ||
| opportunity | No | ||
| total_count | Yes | ||
| lexical_count | No | ||
| marketplace_status | Yes |