development
location
documentation
public
AI
Keboola
What is Keboola MCP Server connects AI agents and clients to Keboola, exposing data and transformations.?
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 various AI assistants. The easiest way to use it is through the Remote MCP Server, which supports OAuth authentication and eliminates the need for local setup.
Documentation
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.
🚀 Quick Start: Remote MCP Server (Easiest Way)
The easiest way to use Keboola MCP Server is through our Remote MCP Server. This hosted solution eliminates the need for local setup, configuration, or installation.
What is the Remote MCP Server?
Our remote server is hosted on every multi-tenant Keboola stack and supports OAuth authentication. You can connect to it from any AI assistant that supports remote SSE connection and OAuth authentication.
How to Connect
Get your remote server URL: Navigate to your Keboola Project Settings → MCP Server tab
Copy the server URL: It will look like https://mcp.<YOUR_REGION>.keboola.com/sse
Configure your AI assistant: Paste the URL into your AI assistant's MCP settings
Authenticate: You'll be prompted to authenticate with your Keboola account and select your project
Supported Clients
Cursor: Use the "Install In Cursor" button in your project's MCP Server settings or click
this button
Claude Desktop: Add the integration via Settings → Integrations
Note: If you want the MCP server to have limited access, use custom storage token, if you want the MCP to access everything in your project, use the master token.
KBC_WORKSPACE_SCHEMA
This identifies your workspace in Keboola and is used for SQL queries. However, this is only required if you're using a custom storage token instead of the Master Token:
If using Master Token: The workspace is created automatically behind the scenes
Note: When creating a workspace manually, check Grant read-only access to all Project data option
Note: KBC_WORKSPACE_SCHEMA is called Dataset Name in BigQuery workspaces, you simply click connect and copy the Dataset Name
Keboola Region
Your Keboola API URL depends on your deployment region. You can determine your region by looking at the URL in your browser when logged into your Keboola project:
Region
API URL
AWS North America
https://connection.keboola.com
AWS Europe
https://connection.eu-central-1.keboola.com
Google Cloud EU
https://connection.europe-west3.gcp.keboola.com
Google Cloud US
https://connection.us-east4.gcp.keboola.com
Azure EU
https://connection.north-europe.azure.keboola.com
Running Keboola MCP Server
There are four ways to use the Keboola MCP Server, depending on your needs:
Option A: Integrated Mode (Recommended)
In this mode, Claude or Cursor automatically starts the MCP server for you. You do not need to run any commands in your terminal.
Configure your MCP client (Claude/Cursor) with the appropriate settings
The client will automatically launch the MCP server when needed
Claude Desktop Configuration
Go to Claude (top left corner of your screen) -> Settings → Developer → Edit Config (if you don't see the claude_desktop_config.json, create it)
Note: Use short, descriptive names for MCP servers. Since the full tool name includes the server name and must stay under ~60 characters, longer names may be filtered out in Cursor and will not be displayed to the Agent.
Cursor Configuration for Windows WSL
When running the MCP server from Windows Subsystem for Linux with Cursor AI, use this configuration:
Note: This mode is primarily for debugging or testing. For normal use with Claude or Cursor,
you do not need to manually run the server.
Note: The server will use the SSE transport and listen on localhost:8000 for the incoming SSE connections.
You can use --port and --host parameters to make it listen elsewhere.
Option D: Using Docker
docker pull keboola/mcp-server:latest
docker run \
- -name keboola_mcp_server \
- -rm \
- it \
- p 127.0.0.1:8000:8000 \
- e KBC_STORAGE_API_URL="https://connection.YOUR_REGION.keboola.com" \
- e KBC_STORAGE_TOKEN="YOUR_KEBOOLA_STORAGE_TOKEN" \
- e KBC_WORKSPACE_SCHEMA="YOUR_WORKSPACE_SCHEMA" \
keboola/mcp-server:latest \
- -transport sse \
- -host 0.0.0.0
Note: The server will use the SSE transport and listen on localhost:8000 for the incoming SSE connections.
You can change -p to map the container's port somewhere else.
Do I Need to Start the Server Myself?
Scenario
Need to Run Manually?
Use This Setup
Using Claude/Cursor
No
Configure MCP in app settings
Developing MCP locally
No (Claude starts it)
Point config to python path
Testing CLI manually
Yes
Use terminal to run
Using Docker
Yes
Run docker container
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:
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 Client
Support Status
Connection Method
Claude (Desktop & Web)
✅ supported
stdio
Cursor
✅ supported
stdio
Windsurf, Zed, Replit
✅ Supported
stdio
Codeium, Sourcegraph
✅ Supported
HTTP+SSE
Custom MCP Clients
✅ Supported
HTTP+SSE or stdio
Supported Tools
Note: Your AI agents will automatically adjust to new tools.
Category
Tool
Description
Project
get_project_info
Gets structured information about your Keboola project
Storage
list_buckets
Lists all storage buckets in your Keboola project
get_bucket
Retrieves detailed information about a specific bucket
list_tables
Returns all tables within a specific bucket
get_table
Provides detailed information for a specific table
update_bucket_description
Updates the description of a bucket
update_column_description
Updates the description for a given column in a table
update_table_description
Updates the description of a table
SQL
query_table
Executes custom SQL queries against your data
get_sql_dialect
Identifies whether your workspace uses Snowflake or BigQuery SQL dialect
Component
create_config
Creates a component configuration with custom parameters
add_config_row
Creates a component configuration row with custom parameters
create_sql_transformation
Creates an SQL transformation with custom queries
find_component_id
Returns list of component IDs that match the given query
get_component
Gets information about a specific component given its ID
get_config
Gets information about a specific component/transformation configuration
get_config_examples
Retrieves sample configuration examples for a specific component
list_configs
Retrieves configurations of components present in the project
list_transformations
Retrieves transformation configurations in the project
update_config
Updates a specific component configuration
update_config_row
Updates a specific component configuration row
update_sql_transformation
Updates an existing SQL transformation configuration
Job
retrieve_jobs
Lists and filters jobs by status, component, or configuration
get_job_detail
Returns comprehensive details about a specific job
start_job
Triggers a component or transformation job to run
Flow
create_flow
Creates a new flow configuration in Keboola
get_flow
Gets detailed information about a specific flow configuration.
get_flow_schema
Returns the JSON schema that defines the structure of Flow configurations
list_flows
Retrieves flow configurations from the project
update_flow
Updates an existing flow configuration in Keboola
Documentation
docs_query
Searches Keboola documentation based on natural language queries
Troubleshooting# Common Issues
Issue
Solution
Authentication Errors
Verify KBC_STORAGE_TOKEN is valid
Workspace Issues
Confirm KBC_WORKSPACE_SCHEMA is correct
Connection Timeout
Check network connectivity
Development# Installation
Basic setup:
uv sync --extra dev
With the basic setup, you can use uv run tox to run tests and check code style.
Recommended setup:
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_STORAGE_API_URL
INTEGTEST_STORAGE_TOKEN
INTEGTEST_WORKSPACE_SCHEMA
In order to get these values, you need a dedicated Keboola project for integration tests.
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).
The development team actively monitors issues and will respond as quickly as possible. For general information about Keboola, please use the resources below.