kbagent for AI agents
Give an AI coding agent safe control of Keboola with kbagent — the Claude Code plugin and /keboola subagent, read-only sandboxing, the conversation ID, and the kbagent context reference.
kbagent is built to be driven by AI coding agents (Claude Code, Cursor, Copilot), not just humans. It gives an agent a stable command surface, a machine-readable reference, and safety rails so it can operate Keboola without you handing over unrestricted access.
Claude Code plugin
Section titled “Claude Code plugin”The plugin installs via Claude Code’s marketplace, not as a downloaded file — so it’s a command you run in the assistant, not a button. It adds a /keboola slash command that spawns a keboola-expert subagent with fresh context and hard rules (fetch the current reference, dry-run first, prefer the CLI over raw REST/MCP, gate on version), plus a structured verification payload. kbagent doctor tells you whether the plugin is installed.
The plugin also adds /kbagent:setup, which does the whole first run in one go: it installs the CLI if it is missing, checks whether a project is already connected and skips ahead if so, otherwise signs you in through the browser and registers every project the session can reach, then runs kbagent doctor and suggests what to try first. It is safe to run twice. Pass a stack URL or a project name as its argument to aim it.
/kbagent:setup is a plugin slash command, which has two consequences worth knowing before you follow the steps below. It exists only after the plugin is installed, so the two /plugin lines are never optional. And it runs only inside Claude Code or Claude Desktop chat, never in a shell.
Set up your client
Section titled “Set up your client”Claude Code
Section titled “Claude Code”- Start Claude Code
claude - Add the marketplace
/plugin marketplace add keboola/ai-kit - Install the plugin
/plugin install kbagent@keboola-claude-kit - Run the setup command with your stack URL
/kbagent:setup https://connection.keboola.com
Four steps, and step 4 covers the rest: it installs the CLI, signs you in through the browser, registers your projects and verifies the result. There is no token to generate or paste.
Claude Desktop
Section titled “Claude Desktop”Same shape, but the marketplace and plugin steps go through Claude Desktop’s own plugin UI rather than slash commands.
- Open Settings → Plugins → Add → Add marketplace, paste
keboola/ai-kit, and click Sync. - In the plugin list, enable the plugin named exactly
kbagent. Don’t pickkeboola-cliin that same list: that is the unrelated legacykbcCLI. - In the chat, run
/kbagent:setup https://connection.keboola.com.
Cursor, VS Code, Codex, Devin Desktop
Section titled “Cursor, VS Code, Codex, Devin Desktop”No kbagent plugin exists for these clients yet, so /kbagent:setup is unavailable to them: it is a Claude Code plugin command. Set up by hand instead.
- Open the client.
- Install the CLI, following the tab for your operating system in Get started.
- Run
kbagent contextso the agent learns the command surface. - Connect your project.
- Verify with
kbagent doctor.
Plain terminal
Section titled “Plain terminal”No AI client involved: install the CLI, connect your project, and verify with kbagent doctor.
The context reference
Section titled “The context reference”Any agent — plugin or not — should start by loading the full command reference:
kbagent contextIt prints usage instructions and the complete, version-matched command list as Markdown, so the agent works from what your installed version actually supports rather than guessing.
Sandbox the agent
Section titled “Sandbox the agent”Don’t give an agent write access it doesn’t need. kbagent’s permission firewall lets you scope a session or a workspace:
# Read-only local workspace for an agentkbagent init --from-global --read-only
# Or block writes for a single sessionkbagent --deny-writes config listCombined with per-project scoped tokens (kbagent token …), you can let an agent explore and propose changes while you keep approval of anything destructive.
Set a conversation ID
Section titled “Set a conversation ID”Set a conversation ID before the agent runs commands, so platform observability can correlate the whole session (every request carries an X-Conversation-ID header):
export KBAGENT_CONVERSATION_ID="<unique-id>"How it fits with the other AI tools
Section titled “How it fits with the other AI tools”- kbagent — the agent’s hands on your projects from the terminal, with sandboxing.
- MCP server — direct tool calls over MCP; kbagent can also call MCP tools via
kbagent tool. - AI Kit — coding-assistant plugins for building Keboola components and apps.
- Kai — the in-product assistant;
kbagent kai ask -m "why did last night's load fail?"puts the same assistant in your shell (beta).
Next: Command reference →