streamdeck_find_actions
Search configured Stream Deck buttons and dials across profiles/pages, then return paste-ready native action objects for writing pages. Filter by plugin, action, name, or controller.
Instructions
Search configured buttons and dials across Stream Deck profiles/pages and return paste-ready native action objects for streamdeck_write_page. Prefer this FIRST when building layouts that reuse installed plugins (Home Assistant, Hue, OBS, Spotify, Wave Link, etc.): each hit includes a 'button' object ready for write_page (controller + key + action) so encoder/dial hits stay on the Encoder grid. You can also pass hit.action with controller=hit.controller yourself. Filters: query (substring), plugin_uuid, action_uuid, plugin_name, controller (keypad|encoder), optional profile scope. Returns a fresh ActionID per hit so multi-copy pastes are safe. For protected Elgato manifests that streamdeck_read_plugins cannot enumerate, this is the reliable path — configure once in the Stream Deck app, then find and reuse.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "streamdeck_find_actions"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max hits to return (default 50, hard cap 200). When more match, truncated=true. | |
| query | No | Case-insensitive substring matched against plugin name, action name, title, plugin_uuid, and action_uuid. | |
| controller | No | Limit to 'keypad' (buttons) or 'encoder' (dials). Omit to search both. | |
| profile_id | No | Limit the scan to one profile by .sdProfile folder stem. | |
| action_uuid | No | Exact action UUID filter (case-insensitive). | |
| plugin_name | No | Exact plugin display name filter (case-insensitive). | |
| plugin_uuid | No | Exact plugin UUID filter (case-insensitive). | |
| profile_name | No | Limit the scan to one profile by display name. |