search_nodes
Search nodes of any kind by matching a partial query against all attributes, returning labeled results with display labels or human-readable identifiers.
Instructions
Find nodes of a specific kind by partial substring — use when you only know part of a value.
Matches the query as a substring against all attributes of the kind
via Infrahub's any__value filter with partial_match=True. Works
uniformly on concrete kinds (e.g. LocationSite) and abstract/generic
kinds (e.g. CoreNode) — agents can ping any kind without first
checking whether it has a name attribute.
For a filter on one specific attribute (or combining multiple filters),
use get_nodes with an explicit filters dict instead.
Each result is labelled with the node's display_label when present,
falling back to its HFID (kind-prefixed) and finally its UUID — so
generic-kind results that lack a display_label still return a
human-readable identifier rather than a bare UUID.
To discover available kinds, read the infrahub://schema resource.
If your client does not support MCP resources, call the get_schema tool instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Partial substring matched across all attributes of the kind via Infrahub's ``any__value`` filter with ``partial_match=True``. Works for both concrete kinds (e.g. ``LocationSite``) and abstract/generic kinds (e.g. ``CoreNode``). | |
| kind | Yes | Kind to search within. Check infrahub://schema for valid kinds. | |
| branch | No | Branch to query. Defaults to the default branch. | |
| limit | No | Maximum number of results to return. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |