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
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:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
{
"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",
"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 your 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-s 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.
If you encounter connection issues:
src
directoryTo use this server with Cursor AI, you have two options for configuring the transport method: Server-Sent Events (SSE) or Standard I/O (stdio).
~/.cursor/mcp.json
{
"mcpServers": {
"keboola": {
"url": "http://localhost:8000/sse?storage_token=YOUR_STORAGE_TOKEN&snowflake_account=YOUR_ACCOUNT&s snowflake_user=YOUR_USER&snowflake_password=YOUR_PASSWORD&snowflake_database=YOUR_DATABASE&snowflake_schema=YOUR_SCHEMA&snowflake_warehouse=YOUR_WAREHOUSE"
}
}
}
{
"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_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. Replace YOUR_REGION
with your Keboola region (e.g., north-europe.azure
, etc.). You can remove it if your region is just connection
explicitly.
After 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
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.
No description, website, or topics provided.
No releases published
No packages published