Keboola Explorer MCP Server 使用说明

项目简介

Keboola Explorer MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 客户端提供对 Keboola Connection 数据源的安全访问能力。它允许 LLM 通过标准化的 MCP 协议,便捷地浏览 Keboola 中的数据目录、查看数据表信息以及执行 SQL 查询,从而实现更智能的数据分析和应用集成。

主要功能点

  • 资源浏览: 列出和查看 Keboola 项目中的 Bucket(数据存储桶)、Table(数据表)以及 Component(组件)信息。
  • 数据表详情: 获取数据表的详细元数据,包括列名、主键、创建时间、数据大小等,并提供用于 SQL 查询的数据库标识符。
  • 数据查询: 通过 SQL 查询工具,安全地从 Snowflake 数据仓库中检索数据,支持指定查询列、过滤条件和限制返回行数。
  • 工具集成: 提供一系列预定义的工具,方便 LLM 客户端执行常见的数据操作,如列出 Bucket 和 Table、获取元数据、预览数据等。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/keboola/keboola-mcp-server.git
    cd keboola-mcp-server
  2. 创建虚拟环境:
    python3 -m venv .venv
    source .venv/bin/activate
  3. 安装项目依赖:
    pip3 install -e .

服务器配置

要将 Keboola Explorer MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端的 MCP 服务器设置。以下是一个 'claude_desktop_config.json' 文件的配置示例,请根据您的实际环境进行修改:

{
  "mcpServers": {
    "keboola": {
      "command": "/path/to/keboola-mcp-server/.venv/bin/python",
      "args": [
        "-m",
        "keboola_mcp_server.cli",
        "--log-level",
        "INFO",
        "--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"
      }
    }
  }
}

配置参数说明:

  • '"keboola"': 服务器名称,您可以自定义。
  • '"command"': Python 解释器路径,指向您为 Keboola MCP Server 创建的虚拟环境中的 Python 可执行文件。
  • '"args"': 启动服务器的命令行参数:
    • '"-m", "keboola_mcp_server.cli"': 指定运行 'keboola_mcp_server.cli' 模块作为入口点。
    • '"--log-level", "INFO"': 设置日志级别,可选值包括 DEBUG, INFO, WARNING, ERROR, CRITICAL。
    • '"--api-url", "https://connection.YOUR_REGION.keboola.com"': Keboola Storage API 的 URL。请将 'YOUR_REGION' 替换为您的 Keboola 区域,如果您的区域是默认的 'connection',则可以省略。
  • '"env"': 环境变量配置:
    • '"KBC_STORAGE_TOKEN"': 您的 Keboola Storage API Token,用于访问 Keboola 数据。
    • '"PYTHONPATH"': Python 模块搜索路径,需要包含 'src' 目录,以便服务器能找到项目代码。
    • '"KBC_SNOWFLAKE_ACCOUNT"': 您的 Snowflake 账户标识符。
    • '"KBC_SNOWFLAKE_USER"': 您的 Snowflake 用户名。
    • '"KBC_SNOWFLAKE_PASSWORD"': 您的 Snowflake 密码。
    • '"KBC_SNOWFLAKE_WAREHOUSE"': 您的 Snowflake 仓库名称。
    • '"KBC_SNOWFLAKE_DATABASE"': 您的 Snowflake 数据库名称。
    • '"KBC_SNOWFLAKE_SCHEMA"': 您的 Snowflake Schema 名称。
    • '"KBC_SNOWFLAKE_ROLE"': 您的 Snowflake 角色名称。

重要提示:

  • 请将 '/path/to/keboola-mcp-server' 替换为您克隆仓库的实际路径。
  • 请务必替换所有 'your-' 开头的占位符为您的 Keboola 和 Snowflake 凭据。
  • Snowflake 凭据可以通过在 Keboola 项目中创建只读 Snowflake Workspace 获取。

基本使用方法

  1. 按照上述服务器配置步骤,配置您的 MCP 客户端。
  2. 重启您的 MCP 客户端 (例如 Claude Desktop)。
  3. 检查客户端界面,通常在右下角会显示服务器连接状态图标(例如锤子图标),表示 Keboola Explorer MCP Server 已成功连接。
  4. 在 LLM 对话中,您可以指示 LLM 使用 Keboola Explorer 提供的工具来访问和查询 Keboola 数据。例如,您可以询问 "列出 Keboola 中的所有数据表" 或 "查询表 'your_table_id' 的数据"。

注意事项

  • 确保您已正确安装 Python 环境和项目依赖。
  • 仔细检查配置文件中的路径和凭据信息是否正确。
  • 如果遇到连接问题,请查看 MCP 客户端的日志信息,并根据 Troubleshooting 章节排查问题。

信息

分类

数据库与文件