A Model Context Protocol (MCP) server for interacting with Keboola Connection. This server provides tools for listing and accessing data from Keboola Storage API.
A Model Context Protocol (MCP) server for interacting with Keboola Connection. This server provides tools for listing and accessing data from Keboola Storage API.
To install Keboola Explorer for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install keboola-mcp-server --client claude
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
pip3 install -U pip
Install the package in development mode:
pip3 install -e .
For development dependencies:
pip3 install -e ".[dev]"
To use this server with Claude Desktop, follow these steps:
Create or edit the Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
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",
"--api-url",
"https://connection.YOUR_REGION.keboola.com"
],
"env": {
"KBC_STORAGE_TOKEN": "your-keboola-storage-token",
"KBC_WORKSPACE_SCHEMA": "your-workspace-schema"
}
}
}
}
Replace:
/path/to/keboola-mcp-server
with your actual path to the cloned repositoryYOUR_REGION
with your Keboola region (e.g., north-europe.azure
, etc.). You can remove it if your region is just connection
explicitlyyour-keboola-storage-token
with your Keboola Storage API tokenyour-workspace-schema
with your Snowflake schema or BigQuery dataset of your workspaceNote: 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 Workspace can be created in your Keboola project. It is the same project where you got your Storage Token. The workspace will provide all the necessary connection parameters including the schema or dataset name.
If you encounter connection issues:
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).
Create or edit the Cursor AI configuration file:
~/.cursor/mcp.json
Add one of the following configurations (or all) based on your preferred transport method:
{
"mcpServers": {
"keboola": {
"url": "http://localhost:8000/sse?storage_token=YOUR-KEBOOLA-STORAGE-TOKEN&workspace_schema=YOUR-WORKSPACE-SCHEMA"
}
}
}
{
"mcpServers": {
"keboola": {
"command": "/path/to/keboola-mcp-server/.venv/bin/python",
"args": [
"-m",
"keboola_mcp_server",
"--transport",
"stdio",
"--api-url",
"https://connection.YOUR_REGION.keboola.com"
],
"env": {
"KBC_STORAGE_TOKEN": "your-keboola-storage-token",
"KBC_WORKSPACE_SCHEMA": "your-workspace-schema"
}
}
}
}
When running the MCP server from Windows Subsystem for Linux with Cursor AI, use this.
{
"mcpServers": {
"keboola": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"'source /wsl_path/to/keboola-mcp-server/.env",
"&&",
"/wsl_path/to/keboola-mcp-server/.venv/bin/python -m keboola_mcp_server.cli --transport stdio'"
]
}
}
}
/wsl_path/to/keboola-mcp-server/.env
file contains environment variables:export KBC_STORAGE_TOKEN="your-keboola-storage-token"
export KBC_WORKSPACE_SCHEMA="your-workspace-schema"
Replace:
/path/to/keboola-mcp-server
with your actual path to the cloned repositoryYOUR_REGION
with your Keboola region (e.g., north-europe.azure
, etc.). You can remove it if your region is just connection
explicitlyyour-keboola-storage-token
with your Keboola Storage API tokenyour-workspace-schema
with your Snowflake schema or BigQuery dataset of your workspaceAfter updating the configuration:
sse
transport make sure to start your MCP server. You can do so by running this in the activated
virtual environment where you built the server:
/path/to/keboola-mcp-server/.venv/bin/python -m keboola_mcp_server --transport sse --api-url https://connection.YOUR_REGION.keboola.com
If your Keboola project uses BigQuery backend you will need to set GOOGLE_APPLICATION_CREDENTIALS
environment variable
in addition to KBC_STORAGE_TOKEN
and KBC_WORKSPACE_SCHEMA
.
Connect
button).GOOGLE_APPLICATION_CREDENTIALS
environment variable.This will give your MCP server instance permissions to access your BigQuery workspace in Google Cloud.
The server provides the following tools for interacting with Keboola Connection:
Run tests:
pytest
Format code:
black .
isort .
Type checking:
mypy .
MIT License - see LICENSE file for details.