详细介绍
MCP Clickhouse 是一个专为 ClickHouse 数据库设计的服务器工具,允许用户通过 MCP 协议执行 SQL 查询、列举数据库和表。它基于 Model Context Protocol 构建,适用于需要快速访问和分析大量数据的场景,如数据分析、报表生成和实时查询处理。
核心功能
MCP Clickhouse 提供了以下核心功能,帮助用户高效管理 ClickHouse 数据库:
- 执行 SQL 查询:通过 `run_select_query` 命令,用户可以在 ClickHouse 集群上运行任意 SQL 查询。所有查询默认以只读模式执行,确保数据安全。
- 列出数据库:使用 `list_databases` 命令,可以获取 ClickHouse 实例中所有的数据库列表。
- 列出表:通过 `list_tables` 命令,可以查看指定数据库中的所有表。
安装方法
要使用 MCP Clickhouse,需要在项目中添加相应的依赖配置。以下是安装和配置的详细步骤:
[project.urls]
Homepage = "https://glama.ai/mcp/servers/yvjy4csvo1"确保已安装 Python 3.13 及其依赖项。可以使用以下命令安装依赖:
uv sync配置说明
MCP Clickhouse 通过环境变量进行配置,以下是常用环境变量及其作用:
- CLICKHOUSE_HOST:设置 ClickHouse 服务器的主机名或 IP 地址。
- CLICKHOUSE_PORT:设置 ClickHouse 服务器的端口(默认为 8123)。
- CLICKHOUSE_USER:设置连接 ClickHouse 的用户名。
- CLICKHOUSE_PASSWORD:设置连接 ClickHouse 的用户密码。
- CLICKHOUSE_DATABASE:设置要使用的数据库名称(可选,默认为 `default`)。
- CLICKHOUSE_SECURE:设置是否使用 HTTPS 连接(默认为 `false`)。
以下是一个本地开发环境的配置示例:
# 必需变量
CLICKHOUSE_HOST=localhost
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=clickhouse
# 可选变量:覆盖默认值
CLICKHOUSE_SECURE=false # 使用端口 8123 自动
CLICKHOUSE_VERIFY=false使用方法
配置完成后,可以通过以下命令启动 MCP Clickhouse 服务器:
uv run --with mcp-clickhouse --python 3.13 mcp-clickhouse启动后,即可通过 MCP 客户端发送命令执行 SQL 查询或管理数据库。
使用示例
以下是几个典型的使用示例:
SELECT * FROM users LIMIT 10;该命令将从 `users` 表中获取前 10 条记录。
LIST DATABASES;该命令将列出 ClickHouse 实例中的所有数据库。
LIST TABLES FROM default;该命令将列出 `default` 数据库中的所有表。
使用场景
MCP Clickhouse 适用于多种数据处理场景,包括:
- 数据分析:快速执行 SQL 查询,分析大量数据。
- 报表生成:通过 SQL 查询生成统计报表。
- 实时查询处理:支持实时数据查询,适用于仪表板和监控系统。
注意事项
使用 MCP Clickhouse 时,需要注意以下几点:
- 所有 SQL 查询默认以只读模式执行,确保数据安全。
- 需要确保 ClickHouse 实例已正确配置并可访问。
- 对于复杂查询,可能需要额外优化以提高性能。
MCP Clickhouse 通过 MCP 协议提供了一种高效、安全的方式来管理 ClickHouse 数据库,适用于需要快速访问和分析数据的多种场景。