jordanrburger_keboola-mcp-server
Keboola Explorer MCP Server is a Claude MCP server designed to manage and explore your Keboola Connection project, providing tools to interact with Keboola's Storage API. It allows users to manage buckets, tables, and components efficiently through a structured command setup.
Keboola Explorer MCP Server
A Claude MCP server for exploring and managing your Keboola Connection project. This server provides tools and resources to interact with Keboola's Storage API, allowing you to browse buckets, tables, and components.
Prerequisites
- Claude Desktop installed and updated to the latest version
- Python 3.10 or higher
- A Keboola Storage API token
Installation
- First, install the
uv
package manager:
# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- Clone the repository and set up the environment:
# Clone the repository
git clone https://github.com/jordanrburger/keboola-mcp-server.git
cd keboola-mcp-server
# Create virtual environment
uv venv
# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
# Install dependencies
uv add "mcp[cli]" httpx pandas
Claude Desktop Configuration
- Find the full path to your
uv
executable:
which uv # On macOS/Linux
where uv # On Windows
- Create or edit the Claude Desktop configuration file:
Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Content:
{
"mcpServers": {
"keboola": {
"command": "/absolute/path/to/uv",
"args": [
"--directory",
"/absolute/path/to/your/keboola-mcp-server",
"run",
"server.py"
],
"env": {
"KEBOOLA_STORAGE_TOKEN": "your-token-here",
"KEBOOLA_STORAGE_API_URL": "https://connection.keboola.com" // Optional, defaults to this value
}
}
}
}
Replace:
/absolute/path/to/uv
with the output fromwhich uv
orwhere uv
/absolute/path/to/your/keboola-mcp-server
with the full path to your project directoryyour-token-here
with your Keboola Storage API token
Starting the Server
-
After setting up 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 of Claude's input box. This indicates the server is connected successfully.
Available Tools
Bucket Management
list_all_buckets
: Lists all buckets in your project with their basic informationget_bucket_info
: Get detailed information about a specific bucket
Table Management
list_bucket_tables_tool
: Lists all tables in a specific bucketget_table_info
: Get detailed information about a specific tableget_table_preview
: Preview data from a specific table (up to 100 rows by default)
Component Management
list_component_configs
: List all configurations for a specific component
Available Resources
keboola://buckets
: List all available bucketskeboola://buckets/{bucket_id}/tables
: List all tables in a specific bucketkeboola://components
: List all available components
Example Usage
Once connected, you can ask Claude to perform various operations. Here are some example prompts:
- "List all buckets in my Keboola project"
- "Show me the contents of table X"
- "What configurations are available for component Y?"
For programmatic usage:
# List all buckets
result = await list_all_buckets()
# Get information about a specific bucket
bucket_info = await get_bucket_info("in.c-my-bucket")
# List tables in a bucket
tables = await list_bucket_tables_tool("in.c-my-bucket")
# Preview table data
preview = await get_table_preview("in.c-my-bucket.my-table", limit=10)
Troubleshooting
Common Issues
-
No hammer icon appears:
- Verify your configuration file is in the correct location
- Check that all paths in the config are absolute paths
- Make sure
uv
is using its full path - Restart Claude Desktop completely
-
Connection errors:
- Check Claude's logs at:
- macOS:
~/Library/Logs/Claude/mcp*.log
- Windows:
%APPDATA%\Claude\logs\mcp*.log
- macOS:
- Verify your Keboola token is valid
- Ensure all dependencies are installed
- Check Claude's logs at:
-
Server startup issues: Test the server directly:
KEBOOLA_STORAGE_TOKEN=your-token-here mcp dev server.py
Getting Logs
To view logs in real-time:
# On macOS/Linux
tail -n 50 -f ~/Library/Logs/Claude/mcp*.log
# On Windows
type "%APPDATA%\Claude\logs\mcp*.log"
Security
- Your Storage API token is required and should be kept secure
- The token is passed securely through environment variables
- All API requests are made over HTTPS
Error Handling
The server includes error handling for:
- Missing environment variables
- API authentication issues
- Invalid bucket or table IDs
- Network connectivity problems