返回市场
凯布卢卡-MCP服务器

凯布卢卡-MCP服务器

作者:keboola80 星标更新:2025-11-21

项目介绍

Ask DeepWiki

Keboola MCP Server

将您的AI代理、MCP客户端(CursorClaudeWindsurfVS Code等)和其他AI助手连接到Keboola。无需编写粘合代码即可暴露数据、转换、SQL查询和作业触发器。在需要时向代理提供正确的数据。

概览

Keboola MCP Server 是一个开源桥梁,用于连接您的Keboola项目与现代AI工具。它将Keboola功能(如存储访问、SQL转换和作业触发器)转化为可调用工具,适用于Claude、Cursor、CrewAI、LangChain、Amazon Q等。

功能

使用AI代理和MCP服务器,您可以:

  • 存储:直接查询表并管理表或桶描述
  • 组件:创建、列出并检查提取器、写入器、数据应用和转换配置
  • SQL:使用自然语言创建SQL转换
  • 作业:运行组件和转换,并检索作业执行详情
  • 流程:使用条件流程和编排流程构建和管理工作流管道
  • 数据应用:创建、部署和管理显示存储数据查询的Keboola Streamlit数据应用
  • 元数据:使用自然语言搜索、读取和更新项目文档和对象元数据
  • 开发分支:在生产环境之外的安全开发分支中工作,所有操作都限定于选定的分支。

🚀 快速开始:远程MCP服务器(最简单的方式)

使用Keboola MCP服务器最简单的方法是通过我们的远程MCP服务器。这种托管解决方案消除了本地设置、配置或安装的需求。

什么是远程MCP服务器?

我们的远程服务器托管在每个多租户Keboola堆栈上,并支持OAuth身份验证。您可以通过任何支持远程SSE连接和OAuth身份验证的AI助手连接到它。

如何连接

  1. 获取远程服务器URL:导航至您的Keboola项目设置 → MCP服务器标签页
  2. 复制服务器URL:它看起来像这样 https://mcp.<YOUR_REGION>.keboola.com/sse
  3. 配置您的AI助手:将URL粘贴到AI助手的MCP设置中
  4. 认证:您将被提示使用Keboola账户登录并选择您的项目

支持的客户端

  • Cursor:使用项目MCP服务器设置中的“安装到Cursor”按钮,或者点击此按钮 安装MCP服务器
  • Claude桌面:通过设置 → 集成添加集成
  • Claude Code:使用 claude mcp add --transport http keboola <URL> 安装(详见下文)
  • Windsurf:使用远程服务器URL进行配置
  • Make:使用远程服务器URL进行配置
  • 其他MCP客户端:使用远程服务器URL进行配置

Claude Code 设置

Claude Code 是一个命令行接口工具,允许您通过终端与Claude互动。您可以使用简单的命令安装Keboola MCP服务器集成。

安装:

在您的终端中运行以下命令,将 <YOUR_REGION> 替换为您所在的Keboola区域:

claude mcp add --transport http keboola https://mcp.<YOUR_REGION>.keboola.com/mcp

区域特定命令:

区域安装命令
美国弗吉尼亚AWSclaude mcp add --transport http keboola https://mcp.keboola.com/mcp
美国弗吉尼亚GCPclaude mcp add --transport http keboola https://mcp.us-east4.gcp.keboola.com/mcp
欧洲法兰克福AWSclaude mcp add --transport http keboola https://mcp.eu-central-1.keboola.com/mcp
欧洲爱尔兰Azureclaude mcp add --transport http keboola https://mcp.north-europe.azure.keboola.com/mcp
欧洲法兰克福GCPclaude mcp add --transport http keboola https://mcp.europe-west3.gcp.keboola.com/mcp

使用:

安装后,您可以在Claude Code 中通过键入 /mcp 并选择要使用的Keboola工具来使用Keboola MCP服务器。

认证:

首次在Claude Code 中使用Keboola MCP服务器时,浏览器窗口会打开,提示您:

  1. 使用Keboola账户登录
  2. 选择要连接的项目
  3. 授权连接

认证后,您可以直接从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服务器设置(自定义或开发方式)

在自己的机器上运行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_TOKENKBC_STORAGE_API_URLKBC_WORKSPACE_SCHEMA 和可选的 KBC_BRANCH_ID。可以采用两种方式提供这些凭证:

  • 个人使用(主要用于stdio传输):在启动服务器前设置环境变量。所有请求将重用这些预设凭证。
  • 多用户使用:在请求头中包含这些变量,以便每个请求使用提供的凭证。

KBC_STORAGE_TOKEN

这是您在Keboola中的身份验证令牌:

关于如何创建和管理存储API令牌,请参考官方Keboola文档

注意:如果您希望MCP服务器具有有限访问权限,请使用自定义存储令牌;如果您希望MCP访问项目中的所有内容,请使用主令牌。

KBC_WORKSPACE_SCHEMA

这标识了您在Keboola中的工作区,并用于SQL查询。然而,这仅在使用自定义存储令牌而不是主令牌时才需要

注意:手动创建工作区时,请勾选“授予对所有项目数据的只读访问权限”选项

注意:在BigQuery工作区中,KBC_WORKSPACE_SCHEMA被称为数据集名称,您只需点击连接并复制数据集名称

KBC_STORAGE_API_URL(Keboola区域)

您的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

KBC_BRANCH_ID(可选)

为了在一个特定的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
  • 在远程传输上,您可以使用HTTP头部 X-Branch-Id: <branchId>KBC_BRANCH_ID: <branchId> 按请求覆盖。

安装

确保您有:

  • 安装了Python 3.10+
  • 具有管理员权限的Keboola项目访问权
  • 您首选的MCP客户端(Claude、Cursor等)

注意:确保您已安装 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服务器

根据您的需求,有四种使用Keboola MCP服务器的方式:

方案A:集成模式(推荐)

在这种模式下,Claude或Cursor会自动为您启动MCP服务器。您不需要在终端中运行任何命令

  1. 配置您的MCP客户端(Claude/Cursor)以使用适当的设置
  2. 客户端将在需要时自动启动MCP服务器

Claude桌面配置

  1. 转到Claude(屏幕左上角)-> 设置 → 开发者 → 编辑配置(如果看不到claude_desktop_config.json,请创建它)
  2. 添加以下配置:
  3. 重启Claude桌面以使更改生效
{
  "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"
      }
    }
  }
}

配置文件位置:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

Cursor配置

  1. 转到设置 → MCP
  2. 点击 "+ 添加新的全局MCP服务器"
  3. 使用以下设置进行配置:
{
  "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中被过滤掉,不会显示给代理。

Cursor配置(Windows WSL)

当从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>",
          "'"
      ]
    }
  }
}

方案B:本地开发模式

对于正在开发MCP服务器代码本身的开发者:

  1. 克隆仓库并设置本地环境
  2. 配置Claude/Cursor以使用您的本地Python路径:
{
  "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"
      }
    }
  }
}

方案C:手动CLI模式(仅用于测试)

您可以手动在终端中运行服务器进行测试或调试:

# 设置环境变量
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 参数使其监听其他地方。

方案D:使用Docker

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服务器

一旦您的MCP客户端(Claude/Cursor)配置并运行,就可以开始查询您的Keboola数据: