Search Components
keel_components_searchSearch the Keel component catalog to find pipeline building blocks by keyword, semantic query, category, input/output type, or position (after/before) when assembling a strategy.
Instructions
Search the Keel pipeline component catalog — the chosen candidates go to keel_components_get_many, which verifies their types and slots. It matches keyword (narrows), a natural-language query (ranks), category, input_type / output_type, or pipeline position (after / before); clock_direction filters to one re-clocking direction (resample raw data fine → coarse, project signals coarse → fine). Domain concepts (beta hedge, regime) are components, found here. Returns compact entries (name, category, description, input/output type); one component's full contract is keel_components_get.
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": "keel_components_search"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Return components that can FOLLOW the named component (their input type accepts that component's output). | |
| limit | No | Maximum number of results (default 20); `total` is the number returned. | |
| query | No | Free-text semantic query — tokens are matched against name, category, and description with weighted scoring (name ×3, category ×2, description ×1); components scored > 0 return ranked by relevance. Combined with `keyword` (or the CLI positional keyword), the substring narrows first and the query ranks. | |
| before | No | Return components that can PRECEDE the named component (their output type matches that component's input). | |
| keyword | No | Case-insensitive substring match against name or description, e.g. `momentum` keeps the components mentioning it. `query` adds weighted token scoring across name/category/description. | |
| category | No | Restrict to one component category. | |
| input_type | No | Restrict to components consuming this type (e.g. `SignalSeries`). | |
| output_type | No | Restrict to components producing this type (e.g. `ForecastSeries`). | |
| sub_category | No | Restrict to one sub-category, case-insensitive exact match (e.g. `trade_reader`, `trade_action`, `trade_factory`). | |
| clock_direction | No | Restrict to components that change the bar clock in one direction. `resample` = fine → coarse aggregation of raw data (e.g. 1h OHLCV → 1d). `project` = coarse → fine, holding the last COMPLETED coarse bar across the finer grid (e.g. a 1d regime signal driving 1h execution) — the only safe way to move a signal down. `synth` = a data loader minting the entry clock. `keep` = leaves the clock untouched (most components). | |
| include_deprecated | No | Also return deprecated components (hidden by default); each carries `status` and `replacement_text`. A lookup by name (`keel_components_get`) always answers. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |