Navigation
Keboola MCP Server: Scale & Automate Data Workflows - MCP Implementation

Keboola MCP Server: Scale & Automate Data Workflows

Keboola MCP Server: Effortlessly scale and automate data workflows with seamless integration and enterprise-grade security. Power smarter decisions, today.

Research And Data
4.5(56 reviews)
84 saves
39 comments

Ranked in the top 3% of all AI tools in its category

About Keboola MCP Server

What is Keboola MCP Server: Scale & Automate Data Workflows?

Keboola MCP Server is a middleware solution designed to streamline interaction with Keboola Connection, enabling developers and data engineers to programmatically access and manipulate data assets. It acts as an intermediate layer, providing RESTful APIs and command-line interfaces to integrate data workflows into AI platforms like Cursor AI and Claude Desktop. This server facilitates scalable data operations while maintaining security and compatibility with Keboola's ecosystem.

How to Use Keboola MCP Server: Scale & Automate Data Workflows?

Implementation requires configuring credentials and transport protocols tailored to the target platform. For Claude Desktop, set up a JSON configuration specifying absolute paths to Python virtual environments and environment variables for credentials. For Cursor AI, choose between Server-Sent Events (SSE) or Standard I/O (stdio) protocols via the MCP configuration file. Activation involves restarting the AI client to ensure server connectivity.

Keboola MCP Server Features

Key Features of Keboola MCP Server: Scale & Automate Data Workflows?

  • Data Discovery: Enumerate buckets, tables, and component configurations within Keboola projects
  • Data Preview & Export: Generate table metadata snapshots and CSV exports for analysis
  • Transport Flexibility: Support for both stdio and SSE communication channels
  • Security Compliance: Enforced use of read-only Snowflake credentials and scoped API tokens
  • Development Tooling: Integrated testing (pytest), code formatting (black), and type checking (mypy)

Use Cases of Keboola MCP Server: Scale & Automate Data Workflows?

Typical applications include:

  • Automating ETL processes by triggering data exports through AI workflows
  • Building custom data catalogs for ML model training datasets
  • Debugging data pipelines using real-time SSE logs
  • Implementing CI/CD pipelines for data engineering artifacts
  • Enabling low-code data exploration through AI-driven interfaces

Keboola MCP Server FAQ

FAQ: Troubleshooting & Best Practices

Q: How do I resolve connection timeouts?
Verify API token validity, check firewall rules for port 443, and ensure SSL certificates are trusted.

Q: What credentials should I use?
Always provision scoped Snowflake read-only roles and Keboola API tokens with minimal permissions using the principle of least privilege.

Q: Why does my stdio channel fail?
Confirm Python interpreter paths are absolute and dependencies are installed in the specified virtual environment.

Q: Where can I find API documentation?
Official Keboola API Reference contains detailed endpoint specifications.

Content

Keboola MCP Server

CI codecov Keboola Explorer Server MCP server smithery badge

A Model Context Protocol (MCP) server for interacting with Keboola Connection. This server provides tools for listing and accessing data from Keboola Storage API.

Requirements

  • Keboola Storage API token
  • Snowflake Read Only Workspace

Note: The Snowflake package doesn't work with the latest version of Python. If you're using Python 3.12 and above, you'll need to downgrade to Python 3.11.

Installation

Installing via Smithery

To install Keboola Explorer for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install keboola-mcp-server --client claude

Manual Installation

First, clone the repository and create a virtual environment:

git clone https://github.com/keboola/keboola-mcp-server.git
cd keboola-mcp-server
python3 -m venv .venv
source .venv/bin/activate

Install the package in development mode:

pip3 install -e .

For development dependencies:

pip3 install -e ".[dev]"

Claude Desktop Setup

To use this server with Claude Desktop, follow these steps:

  1. Create or edit the Claude Desktop configuration file:
* **macOS** : `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows** : `%APPDATA%\Claude\claude_desktop_config.json`
  1. Add the following configuration (adjust paths according to your setup):
{
  "mcpServers": {
    "keboola": {
      "command": "/path/to/keboola-mcp-server/.venv/bin/python",
      "args": [
        "-m",
        "keboola_mcp_server.cli",
        "--log-level",
        "DEBUG",
        "--api-url",
        "https://connection.YOUR_REGION.keboola.com"
      ],
      "env": {
        "KBC_STORAGE_TOKEN": "your-keboola-storage-token",
        "PYTHONPATH": "/path/to/keboola-mcp-server/src",
        "KBC_SNOWFLAKE_ACCOUNT": "your-snowflake-account",
        "KBC_SNOWFLAKE_USER": "your-snowflake-user",
        "KBC_SNOWFLAKE_PASSWORD": "your-snowflake-password",
        "KBC_SNOWFLAKE_WAREHOUSE": "your-snowflake-warehouse",
        "KBC_SNOWFLAKE_DATABASE": "your-snowflake-database",
        "KBC_SNOWFLAKE_SCHEMA": "your-snowflake-schema",
        "KBC_SNOWFLAKE_ROLE": "your-snowflake-role"
      }
    }
  }
}

Replace:

  • /path/to/keboola-mcp-server with your actual path to the cloned repository
  • your-keboola-storage-token with your Keboola Storage API token
  • YOUR_REGION with your Keboola region (e.g., north-europe.azure, etc.). You can remove it if you region is just connection explicitly
  • your-snowflake-account with your Snowflake account identifier
  • your-snowflake-user with your Snowflake username
  • your-snowflake-password with your Snowflake password
  • your-snowflake-warehouse with your Snowflake warehouse name
  • your-snowflake-database with your Snowflake database name
  • your-snowflake-schema with your Snowflake schema name
  • your-snowflake-role with your Snowflake role name

Note: If you are using a specific version of Python (e.g. 3.11 due to some package compatibility issues), you'll need to update the command into using that specific version, e.g. /path/to/keboola-mcp-server/.venv/bin/python3.11

Note: The Snowflake credentials can be obtained by creating a Read Only Snowflake Workspace in your Keboola project (the same project where you got your Storage Token). The workspace will provide all the necessary Snowflake connection parameters.

  1. After updating the configuration:
    * Completely quit Claude Desktop (don't just close the window)
    * Restart Claude Desktop
    * Look for the hammer icon in the bottom right corner, indicating the server is connected

Troubleshooting

If you encounter connection issues:

  1. Check the logs in Claude Desktop for any error messages
  2. Verify your Keboola Storage API token is correct
  3. Ensure all paths in the configuration are absolute paths
  4. Confirm the virtual environment is properly activated and all dependencies are installed
  5. Make sure the PYTHONPATH points to the src directory

Cursor AI Setup

To use this server with Cursor AI, you have two options for configuring the transport method: Server-Sent Events (SSE) or Standard I/O (stdio).

  1. Create or edit the Cursor AI configuration file:
* Location: `~/.cursor/mcp.json`
  1. Add one of the following configurations (or both) based on your preferred transport method:

Option 1: Using Server-Sent Events (SSE)

{
  "mcpServers": {
    "keboola": {
      "url": "http://localhost:8000/sse?storage_token=YOUR_STORAGE_TOKEN&snowflake_account=YOUR_ACCOUNT&snowflake_user=YOUR_USER&snowflake_password=YOUR_PASSWORD&snowflake_database=YOUR_DATABASE&snowflake_schema=YOUR_SCHEMA&snowflake_warehouse=YOUR_WAREHOUSE"
    }
  }
}

Option 2: Using Standard I/O (stdio)

{
  "mcpServers": {
    "keboola": {
      "command": "/path/to/keboola-mcp-server/venv/bin/python",
      "args": [
        "-m",
        "keboola_mcp_server.cli",
        "--transport",
        "stdio"
      ],
      "env": {
        "KBC_STORAGE_TOKEN": "your-keboola-storage-token",
        "KBC_SNOWFLAKE_ACCOUNT": "your-snowflake-account",
        "KBC_SNOWFLAKE_USER": "your-snowflake-user",
        "KBC_SNOWFLAKE_PASSWORD": "your-snowflake-password",
        "KBC_SNOWFLAKE_DATABASE": "your-snowflake-database",
        "KBC_SNOWFLAKE_SCHEMA": "your-snowflake-schema",
        "KBC_SNOWFLAKE_WAREHOUSE": "your-snowflake-warehouse"
      }
    }
  }
}

Replace all placeholder values (YOUR_*) with your actual Keboola and Snowflake credentials. These can be obtained from your Keboola project's Read Only Snowflake Workspace.

After updating the configuration:

  1. Restart Cursor AI
  2. The MCP server should be automatically detected and available for use

Available Tools

The server provides the following tools for interacting with Keboola Connection:

  • List buckets and tables
  • Get bucket and table information
  • Preview table data
  • Export table data to CSV
  • List components and configurations

Development

Run tests:

pytest

Format code:

black .
isort .

Type checking:

mypy .

License

MIT License - see LICENSE file for details.

Related MCP Servers & Clients