将您的AI代理、MCP客户端(Cursor、Claude、Windsurf、VS Code等)和其他AI助手连接到Keboola。无需编写粘合代码即可暴露数据、转换、SQL查询和作业触发器。在需要时向代理提供正确的数据。
Keboola MCP Server 是一个开源桥梁,用于连接您的Keboola项目与现代AI工具。它将Keboola功能(如存储访问、SQL转换和作业触发器)转化为可调用工具,适用于Claude、Cursor、CrewAI、LangChain、Amazon Q等。
使用AI代理和MCP服务器,您可以:
使用Keboola MCP服务器最简单的方法是通过我们的远程MCP服务器。这种托管解决方案消除了本地设置、配置或安装的需求。
我们的远程服务器托管在每个多租户Keboola堆栈上,并支持OAuth身份验证。您可以通过任何支持远程SSE连接和OAuth身份验证的AI助手连接到它。
MCP服务器标签页https://mcp.<YOUR_REGION>.keboola.com/sseclaude mcp add --transport http keboola <URL> 安装(详见下文)Claude Code 是一个命令行接口工具,允许您通过终端与Claude互动。您可以使用简单的命令安装Keboola MCP服务器集成。
安装:
在您的终端中运行以下命令,将 <YOUR_REGION> 替换为您所在的Keboola区域:
claude mcp add --transport http keboola https://mcp.<YOUR_REGION>.keboola.com/mcp
区域特定命令:
| 区域 | 安装命令 |
|---|---|
| 美国弗吉尼亚AWS | claude mcp add --transport http keboola https://mcp.keboola.com/mcp |
| 美国弗吉尼亚GCP | claude mcp add --transport http keboola https://mcp.us-east4.gcp.keboola.com/mcp |
| 欧洲法兰克福AWS | claude mcp add --transport http keboola https://mcp.eu-central-1.keboola.com/mcp |
| 欧洲爱尔兰Azure | claude mcp add --transport http keboola https://mcp.north-europe.azure.keboola.com/mcp |
| 欧洲法兰克福GCP | claude mcp add --transport http keboola https://mcp.europe-west3.gcp.keboola.com/mcp |
使用:
安装后,您可以在Claude Code 中通过键入 /mcp 并选择要使用的Keboola工具来使用Keboola MCP服务器。
认证:
首次在Claude Code 中使用Keboola MCP服务器时,浏览器窗口会打开,提示您:
认证后,您可以直接从Claude Code 使用Keboola工具。
有关详细的设置说明和区域特定的URL,请参阅我们的远程服务器设置文档。
您可以在Keboola开发分支中安全地工作,而不影响生产数据。远程托管的MCP服务器尊重 KBC_BRANCH_ID 参数,并将所有操作范围限定于指定的分支。当导航到UI中的开发分支时,您可以在URL中找到开发分支ID,例如:https://connection.us-east4.gcp.keboola.com/admin/projects/PROJECT_ID/branch/BRANCH_ID/dashboard。分支ID必须在每次请求中使用头部 X-Branch-Id: <branchId> 提供,否则MCP服务器默认使用生产分支。这应该由AI客户端或处理服务器连接的环境管理。
在自己的机器上运行MCP服务器以获得完全控制和轻松开发。当您想要定制工具、本地调试或快速迭代时选择此方法。您将克隆仓库,根据服务器传输方式通过环境变量或头部设置Keboola凭证,安装依赖项并启动服务器。这种方法提供了最大的灵活性(自定义工具、本地日志记录、离线迭代),但需要手动设置,您自己管理更新和秘密。
服务器支持多种传输选项,这些选项可以通过提供 --transport <transport> 参数在启动服务器时选择:
stdio - 当未指定 --transport 时默认使用。标准输入/输出,通常用于单个客户端的本地部署。streamable-http - 通过HTTP远程运行服务器,具有双向流通道,允许客户端和服务器持续交换消息。通过 <url>/mcp 连接(例如,http://localhost:8000/mcp)。sse - 已弃用,建议使用 streamable-http。通过Server-Sent Events (SSE) 远程运行服务器,实现从服务器到客户端的一向事件流。通过 <url>/sse 连接(例如,http://localhost:8000/sse)。http-compat - 支持SSE和streamable-http的自定义传输。目前在Keboola远程服务器上使用,但很快将仅使用 streamable-http。对于客户端-服务器通信,必须提供Keboola凭证以使您能够在Keboola区域中使用项目。所需的是:KBC_STORAGE_TOKEN、KBC_STORAGE_API_URL、KBC_WORKSPACE_SCHEMA 和可选的 KBC_BRANCH_ID。可以采用两种方式提供这些凭证:
这是您在Keboola中的身份验证令牌:
关于如何创建和管理存储API令牌,请参考官方Keboola文档。
注意:如果您希望MCP服务器具有有限访问权限,请使用自定义存储令牌;如果您希望MCP访问项目中的所有内容,请使用主令牌。
这标识了您在Keboola中的工作区,并用于SQL查询。然而,这仅在使用自定义存储令牌而不是主令牌时才需要:
注意:手动创建工作区时,请勾选“授予对所有项目数据的只读访问权限”选项
注意:在BigQuery工作区中,KBC_WORKSPACE_SCHEMA被称为数据集名称,您只需点击连接并复制数据集名称
您的Keboola区域API URL取决于您的部署区域。您可以通过查看登录到Keboola项目的浏览器中的URL来确定您的区域:
| 区域 | API URL |
|---|---|
| AWS北美 | https://connection.keboola.com |
| AWS欧洲 | https://connection.eu-central-1.keboola.com |
| Google Cloud欧盟 | https://connection.europe-west3.gcp.keboola.com |
| Google Cloud美国 | https://connection.us-east4.gcp.keboola.com |
| Azure欧盟 | https://connection.north-europe.azure.keboola.com |
为了在一个特定的Keboola开发分支上操作,使用 KBC_BRANCH_ID 参数设置分支ID。MCP服务器将其功能范围限定于指定的分支,确保所有更改保持隔离且不影响生产分支。
KBC_BRANCH_ID 设置为分支的数字ID(例如,123456)。您可以在导航到UI中的开发分支时,在URL中找到开发分支ID,例如:https://connection.us-east4.gcp.keboola.com/admin/projects/PROJECT_ID/branch/BRANCH_ID/dashboard。X-Branch-Id: <branchId> 或 KBC_BRANCH_ID: <branchId> 按请求覆盖。确保您有:
注意:确保您已安装 uv。MCP客户端将使用它自动下载并运行Keboola MCP服务器。
安装uv:
macOS/Linux:
#if 您的机器上没有安装Homebrew,请使用:
# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 使用Homebrew安装
brew install uv
Windows:
# 使用安装脚本
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 或者使用pip
pip install uv
# 或者使用winget
winget install --id=astral-sh.uv -e
有关更多安装选项,请参阅官方uv文档。
根据您的需求,有四种使用Keboola MCP服务器的方式:
在这种模式下,Claude或Cursor会自动为您启动MCP服务器。您不需要在终端中运行任何命令。
{
"mcpServers": {
"keboola": {
"command": "uvx",
"args": ["keboola_mcp_server --transport <transport>"],
"env": {
"KBC_STORAGE_API_URL": "https://connection.YOUR_REGION.keboola.com",
"KBC_STORAGE_TOKEN": "your_keboola_storage_token",
"KBC_WORKSPACE_SCHEMA": "your_workspace_schema",
"KBC_BRANCH_ID": "your_branch_id_optional"
}
}
}
}
配置文件位置:
~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"keboola": {
"command": "uvx",
"args": ["keboola_mcp_server --transport <transport>"],
"env": {
"KBC_STORAGE_API_URL": "https://connection.YOUR_REGION.keboola.com",
你的_keboola_storage_token",
"KBC_WORKSPACE_SCHEMA": "your_workspace_schema",
"KBC_BRANCH_ID": "your_branch_id_optional"
}
}
}
}
注意:为MCP服务器使用简洁、描述性的名称。由于完整的工具名称包括服务器名称,并且必须保持在约60字符以内,较长的名称可能会在Cursor中被过滤掉,不会显示给代理。
当从Windows子系统Linux运行MCP服务器时,使用Cursor AI,使用以下配置:
{
"mcpServers": {
"keboola":{
"command": "wsl.exe",
"args": [
"bash",
"-c '",
"export KBC_STORAGE_API_URL=https://connection.YOUR_REGION.keboola.com &&",
"export KBC_STORAGE_TOKEN=your_keboola_storage_token &&",
"export KBC_WORKSPACE_SCHEMA=your_workspace_schema &&",
"export KBC_BRANCH_ID=your_branch_id_optional &&",
"/snap/bin/uvx keboola_mcp_server --transport <transport>",
"'"
]
}
}
}
对于正在开发MCP服务器代码本身的开发者:
{
"mcpServers": {
"keboola": {
"command": "/绝对路径/to/.venv/bin/python",
"args": [
"-m",
"keboola_mcp_server --transport <transport>"
],
"env": {
"KBC_STORAGE_API_URL": "https://connection.YOUR_REGION.keboola.com",
"KBC_STORAGE_TOKEN": "your_keboola_storage_token",
"KBC_WORKSPACE_SCHEMA": "your_workspace_schema",
"KBC_BRANCH_ID": "your_branch_id_optional"
}
}
}
}
您可以手动在终端中运行服务器进行测试或调试:
# 设置环境变量
export KBC_STORAGE_API_URL=https://connection.YOUR_REGION.keboola.com
export KBC_STORAGE_TOKEN=your_keboola_storage_token
export KBC_WORKSPACE_SCHEMA=your_workspace_schema
export KBC_BRANCH_ID=your_branch_id_optional
uvx keboola_mcp_server --transport sse
注意:此模式主要用于调试或测试。正常使用Claude或Cursor时,您不需要手动运行服务器。
注意:服务器将使用SSE传输并在
localhost:8000监听传入的SSE连接。您可以使用--port和--host参数使其监听其他地方。
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" \
-e KBC_BRANCH_ID="YOUR_BRANCH_ID_OPTIONAL" \
keboola/mcp-server:latest \
--transport sse \
--host 0.0.0.0
注意:服务器将使用SSE传输并在
localhost:8000监听传入的SSE连接。您可以更改-p来映射容器端口到其他地方。
| 场景 | 需要手动运行? | 使用此设置 |
|---|---|---|
| 使用Claude/Cursor | 否 | 在应用设置中配置MCP |
| 本地开发MCP | 否(Claude启动它) | 指定配置到Python路径 |
| 手动测试CLI | 是 | 使用终端运行 |
| 使用Docker | 是 | 运行Docker容器 |
一旦您的MCP客户端(Claude/Cursor)配置并运行,就可以开始查询您的Keboola数据: