Labsco
keboola logo

Keboola MCP Server

β˜… 83

from keboola

An MCP server for interacting with the Keboola Connection data platform.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedPaid serviceAdvanced setup

Ask DeepWiki

Keboola MCP Server

Connect your AI agents, MCP clients (Cursor, Claude, Windsurf, VS Code ...) and other AI assistants to Keboola. Expose data, transformations, SQL queries, and job triggersβ€”no glue code required. Deliver the right data to agents when and where they need it.

Overview

Keboola MCP Server is an open-source bridge between your Keboola project and modern AI tools. It turns Keboola featuresβ€”like storage access, SQL transformations, and job triggersβ€”into callable tools for Claude, Cursor, CrewAI, LangChain, Amazon Q, and more.

Features

With the AI Agent and MCP Server, you can:

  • Storage: Query tables directly and manage table or bucket descriptions
  • Components: Create, List and inspect extractors, writers, data apps, and transformation configurations
  • SQL: Create SQL transformations with natural language
  • Jobs: Run components and transformations, and retrieve job execution details
  • Flows: Build and manage workflow pipelines using Conditional Flows and Orchestrator Flows.
  • Data Apps: Create, deploy and manage Keboola Streamlit Data Apps displaying your queries over storage data.
  • Metadata: Search, read, and update project documentation and object metadata using natural language
  • Dev Branches: Work safely in development branches outside of production, where all operations are scoped to the selected branch.

Using MCP Server

Once your MCP client (Claude/Cursor) is configured and running, you can start querying your Keboola data:

Verify Your Setup

You can start with a simple query to confirm everything is working:

Copy & paste β€” that's it
What buckets and tables are in my Keboola project?

Examples of What You Can Do

Data Exploration:

  • "What tables contain customer information?"
  • "Run a query to find the top 10 customers by revenue"

Data Analysis:

  • "Analyze my sales data by region for the last quarter"
  • "Find correlations between customer age and purchase frequency"

Data Pipelines:

  • "Create a SQL transformation that joins customer and order tables"
  • "Start the data extraction job for my Salesforce component"

Compatibility

MCP Client Support

MCP ClientSupport StatusConnection Method
Claude (Desktop & Web)βœ… supportedstdio
Cursorβœ… supportedstdio
Windsurf, Zed, Replitβœ… Supportedstdio
Codeium, Sourcegraphβœ… SupportedStreamable HTTP
Custom MCP Clientsβœ… SupportedStreamable HTTP or stdio

Supported Tools

Note: Your AI agents will automatically adjust to new tools.

For a complete list of available tools with detailed descriptions, parameters, and usage examples, see TOOLS.md.

Development

Installation

Basic setup:

Copy & paste β€” that's it
uv sync --extra dev

With the basic setup, you can use uv run tox to run tests and check code style.

Recommended setup:

Copy & paste β€” that's it
uv sync --extra dev --extra tests --extra integtests --extra codestyle

With the recommended setup, packages for testing and code style checking will be installed which allows IDEs like VsCode or Cursor to check the code or run tests during development.

Integration tests

To run integration tests locally, use uv run tox -e integtests. NOTE: You will need to set the following environment variables:

  • INTEGTEST_POOL_STORAGE_API_URL
  • INTEGTEST_STORAGE_TOKENS
  • INTEGTEST_STORAGE_TOKEN_STORAGE_BRANCHES

In order to get these values, you need dedicated Keboola projects for integration tests. Each test session creates its own read-only workspace, so no workspace schema needs to be configured. See integtests/README.md for detailed setup instructions and design documentation.

Updating uv.lock

Update the uv.lock file if you have added or removed dependencies. Also consider updating the lock with newer dependency versions when creating a release (uv lock --upgrade).

Updating Tool Documentation

When you make changes to any tool descriptions (docstrings in tool functions), you must regenerate the TOOLS.md documentation file to reflect these changes:

Copy & paste β€” that's it
uv run python -m src.keboola_mcp_server.generate_tool_docs

Releasing

We do not cut a release for every merged PR. Work lands on the trunk (main) continuously, and we release periodically once changes have been re-tested together β€” this avoids breaking working setups for users.

A release is made by pushing one or two git tags:

  • vX.Y.Z β€” the MCP server release (always)
  • agent-vX.Y.Z β€” the In Platform Agent release (only when the agent is being released too)

Either tag triggers release.yml CI, which builds and publishes the Docker image. KaiBench runs only on production vX.Y.Z tags (not agent-vX.Y.Z, and not -dev. prereleases). Use the release-notes skill β€” it prepares the release notes and draft PR and walks through tagging both vX.Y.Z and agent-vX.Y.Z.

Support and Feedback

⭐ The primary way to get help, report bugs, or request features is by opening an issue on GitHub. ⭐

The development team actively monitors issues and will respond as quickly as possible. For general information about Keboola, please use the resources below.

Resources

Connect