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、获取元数据、预览数据等。
安装步骤
- 克隆仓库:
git clone https://github.com/keboola/keboola-mcp-server.git cd keboola-mcp-server - 创建虚拟环境:
python3 -m venv .venv source .venv/bin/activate - 安装项目依赖:
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 获取。
基本使用方法
- 按照上述服务器配置步骤,配置您的 MCP 客户端。
- 重启您的 MCP 客户端 (例如 Claude Desktop)。
- 检查客户端界面,通常在右下角会显示服务器连接状态图标(例如锤子图标),表示 Keboola Explorer MCP Server 已成功连接。
- 在 LLM 对话中,您可以指示 LLM 使用 Keboola Explorer 提供的工具来访问和查询 Keboola 数据。例如,您可以询问 "列出 Keboola 中的所有数据表" 或 "查询表 'your_table_id' 的数据"。
注意事项
- 确保您已正确安装 Python 环境和项目依赖。
- 仔细检查配置文件中的路径和凭据信息是否正确。
- 如果遇到连接问题,请查看 MCP 客户端的日志信息,并根据 Troubleshooting 章节排查问题。
信息
分类
数据库与文件