How to Teach Your AI Agent to Build Keboola Data Apps

How to Teach Your AI Agent to Build Keboola Data Apps

30 Mar 2026 · 8 min read

You can build Data Apps inside Keboola with Kai. But what if you prefer working with Keboola via MCP, in Claude Code, Cursor, or another AI-powered editor? Want to build a JavaScript Data App that Kai doesn't support yet?

That's what the Keboola AI Kit is for. It's a set of skills you install into your agent so it knows how to work with Keboola - how to query your data, how to structure a Data App, how to deploy it.

Here's how to set it up.

Before you start

A heads up: this tutorial involves working with a terminal (for example in VS Code), GitHub, and external AI code editors like Claude Code. If you're comfortable with that, keep reading. If not, you can build Data Apps directly inside Keboola with Kai, start here: Build an Interactive Dashboard in 5 Minutes with Kai.

You should be comfortable with:

Step 1: Install the AI Kit

The AI Kit lives on GitHub: keboola/ai-kit

In Claude Code:

npx add-skill keboola/ai-kit

You'll see a prompt asking to install the add-skill package - type y to proceed. This is a one-time setup.

After cloning, you'll go through a few quick setup prompts:

1. Select skills

Skills are instruction files that teach your agent how to do specific things. The ai-kit repo has 13 of them covering different Keboola tasks. Pick dataapp-developer - it teaches your agent the rules for building Data Apps: how to connect to Keboola Storage, how to structure the code for deployment, how authentication works. Without it, your agent writes generic code. With it, your agent writes Keboola-ready code.

2. Select agents

This is asking: which code editors do you want these skills installed into? Each editor stores skills in a different folder (Claude Code uses .claude/skills, Cursor uses a different path). The "Universal" group at the top installs to a shared .agents/skills folder that many editors read automatically. You can pick multiple - if you use both Claude Code and Cursor, select both.

3. Installation scope

Project saves the skills inside your current project folder (committed to git with your code). Global saves them in your home directory, available in every project you open. Pick Global if you use Keboola across multiple projects.

4. Installation method

Symlink creates a shortcut pointing to one copy of the skill files. If the skills get updated later, every agent sees the update automatically. Copy duplicates the files into each agent's folder separately. Go with Symlink - when Keboola updates the ai-kit, you update once and it's everywhere.

5. Confirm

You'll see an installation summary with a security risk assessment. The installer checks the skill files for anything suspicious. "Safe / 0 alerts / Low Risk" means the skills are clean. Type Yes to proceed.

That's the install done. Your agent now has the Keboola Data App knowledge loaded.

Step 2: Connect your Keboola project via MCP

Your agent needs to talk to your Keboola project. The MCP Server handles this.

For Claude Code, type:

claude mcp add --transport http keboola https://mcp.YOUR-STACK.keboola.com/mcp

Replace YOUR-STACK with your Keboola region (e.g., europe-west3.gcp, us-east4.gcp, north-europe.azure). You'll authenticate via OAuth when prompted.

You can also find the URL in your Keboola Project Settings → MCP.

Command not working? MCP transport options evolve quickly. The latest setup instructions are always in two places:

Using Cursor, Windsurf, VS Code, or another editor? Each one connects slightly differently. Our MCP Server documentation has step-by-step setup for all supported editors, including the "Install in Cursor" one-click button.

Once connected, your agent can query your tables, read configurations, create transformations, and deploy Data Apps - all through natural language.

Step 3: Build a Data App

Now your agent knows your Keboola project data and configs (via MCP), and also knows how to build Data Apps properly (via the ai-kit skills). Now we describe what we want.

Example for a Streamlit dashboard:

Build a Keboola Data App that shows my top-selling products from the order table. Include filters for date range and product category. Deploy it to my project.

Your agent will:

  1. Query your project to understand the table structure
  2. Write the Streamlit code following Keboola's Data App patterns
  3. Deploy it through the MCP connection in your project

You can create Streamlit Data App directly in Keboola UI with Kai - Build an Interactive Dashboard in 5 Minutes with Kai.

Example for a JavaScript app:

Build me a JavaScript Data App that visualizes which products my customers buy together. Use a heatmap. Add filters for time period and minimum purchase count. Connect it to my Keboola project data.

The ai-kit skills teach your agent the keboola-config/ folder structure (nginx config, supervisord, setup script) that Python/JS Data Apps need. Without these skills, your agent wouldn't know this Keboola-specific requirement.

Important: Unlike Streamlit apps (where you can paste code directly into Keboola), JavaScript Data Apps require a Git repository. Your agent creates the files locally, you handle the deployment in Keboola UI.

Here's what the actual flow looks like:

Push your code to GitHub. Your agent can do this for you if you have gh CLI set up. Otherwise, create a repo manually and push. The repo can be private, Keboola will ask you to authenticate in the next step.

Create the Data App in Keboola UI:

  1. Go to Data Apps → Create New Python / JS Data App
  2. Enter your GitHub repo URL and username
  3. If the repo is private, create a GitHub Personal Access Token - generate one at github.com/settings/tokens/new with repo scope, then paste it in the token field
  4. Click "Load branches" and select main
  5. Add your secrets as Environment Variables in the Keboola UI. Your agent already knows these values from when it built the app (it read them from your project via MCP) - check your Claude Code conversation for the WORKSPACE_ID, BRANCH_ID, KBC_TOKEN, and KBC_URL it used
  6. Deploy

What ai-kit skills contains

The dataapp-developer plugin is focused on building Data Apps for Keboola. It teaches your agent:

For JavaScript Data Apps, the skills provide the keboola-config/ folder structure and deployment patterns, but the core knowledge is Python/Streamlit-oriented. Your agent fills in the JS framework knowledge from its general training.

Other plugins in the ai-kit:

Try it

  1. Install: npx add-skill keboola/ai-kit
  2. Connect: Add your Keboola MCP Server
  3. Build: Describe the Data App you want

That's it. Your agent now speaks Keboola.