Problem
When listing Python transformations via kbagent config list or the get_configs MCP tool, the response does not include the folder (group) the transformation belongs to in the Keboola UI.
In the Keboola UI, transformations are visually organized into folders (e.g. "ZZZ Archive", "Production", "Sandbox"). This grouping is critical context when working with an AI agent — without it, the agent cannot distinguish active production transformations from archived/deprecated ones.
Steps to reproduce
kbagent --json config list --project iterable
or via MCP:
kbagent --json tool call get_configs --project iterable --input '{"component_ids": ["keboola.python-transformation-v2"]}'
Expected behavior
Each configuration entry should include its folder name, e.g.:
{
"config_id": "01jyh3rdnddk6td5avg441m2hd",
"config_name": "subscription.mailingFrequency remove",
"folder": "ZZZ Archive"
}
Current behavior
No folder field is returned. All transformations look equally relevant regardless of whether they are archived.
Impact
- AI agents cannot filter out archived transformations and waste context analyzing dead code
- Users have to manually identify which transformations are in which folder
- Any bulk operation (e.g. "fix all active transformations") risks touching archived configs
Notes
The Keboola Storage API (GET /v2/storage/components/{component_id}/configs) does not appear to return folder information in the response payload. It is possible that folders are stored as UI-level metadata not exposed via the API. If so, kbagent could fetch this metadata separately and merge it into the config list output.
Problem
When listing Python transformations via
kbagent config listor theget_configsMCP tool, the response does not include the folder (group) the transformation belongs to in the Keboola UI.In the Keboola UI, transformations are visually organized into folders (e.g. "ZZZ Archive", "Production", "Sandbox"). This grouping is critical context when working with an AI agent — without it, the agent cannot distinguish active production transformations from archived/deprecated ones.
Steps to reproduce
or via MCP:
kbagent --json tool call get_configs --project iterable --input '{"component_ids": ["keboola.python-transformation-v2"]}'Expected behavior
Each configuration entry should include its folder name, e.g.:
{ "config_id": "01jyh3rdnddk6td5avg441m2hd", "config_name": "subscription.mailingFrequency remove", "folder": "ZZZ Archive" }Current behavior
No folder field is returned. All transformations look equally relevant regardless of whether they are archived.
Impact
Notes
The Keboola Storage API (
GET /v2/storage/components/{component_id}/configs) does not appear to return folder information in the response payload. It is possible that folders are stored as UI-level metadata not exposed via the API. If so,kbagentcould fetch this metadata separately and merge it into the config list output.