Search across published semantic models. Each search_targets entry picks an entity type (source, dimension, measure, view, or dimensional_value) with optional search_text; omitting search_text returns the most prominent items of that type. Results are sources with matched entities, ranked by relevance and prominence. Use scopes to narrow the search.
Typed search targets describing what to find. Each target specifies a target type and optional search text for semantic matching.
scopes?array<>|
Optional list of scopes to narrow the search. Results will be scoped to the union of these.
filter_params?|
Filter parameter values keyed by filter name. Used with sources that
declare #(filter) annotations. Each value is either a single string
or an array of strings (matches the dataplane API's filterParams
shape). When the new dimensional-index path is enabled and active
for a package whose target dimension declares #(filter, required),
the corresponding filter values MUST be supplied here — the request
will return 400 otherwise. Ignored on the legacy path.
user_prompt?|
Optional. The user's prompt that triggered this call, used for
observability and downstream ranking. On the first turn this is the
user's message verbatim. On follow-up turns where the user's message
doesn't convey intent (e.g. "yes" to an agent suggestion), synthesize
a short prompt that captures the intent of the turn. Use the same
value for every get_context call within a single turn.
limit?|
Maximum number of sources to return in this response (page size).
PREFER OMITTING THIS: results are ranked, so the default page
(20) already holds the best matches. When the caller supplies the
Max-Response-Chars header (the MCP tools always do), the
response is additionally bounded to that serialized size, so a page
over the budget comes back with fewer sources (cards are unchanged,
not stripped) plus a warning — a high limit does not guarantee
more sources. A large total_available is a signal to narrow with
search_text / scopes (or, on pure source listings, to page with
offset), not to raise limit. Reserve explicit limits above 20
for genuine bulk enumeration. Values above 150 are clamped to 150;
values below 1 are rejected with 400.
Range1 <= value
offset?|
Number of sources to skip before the returned page, copied from a
previous response's next_offset. Only meaningful on pure
source-listing requests (only source targets, none with
search_text) — listings have a deterministic order that can be
resumed, while semantically ranked results do not. A non-zero
offset alongside any search_text target or non-source target is
rejected with 400; negative values are rejected with 400.