ClickHouse MCP Server

ClickHouse MCP Server

site icon
2025.04.17 167
Python数据库管理数据分析数据库
mcp-clickhouse 是一个为 ClickHouse 数据库设计的 MCP 服务器,提供了一系列工具来执行 SQL 查询、列出数据库和表等操作。它支持通过环境变量配置 ClickHouse 连接,适用于开发和生产环境。
View on GitHub

Overview

基本能力

产品定位

mcp-clickhouse 是一个专为 ClickHouse 数据库设计的 MCP 服务器,旨在提供便捷的数据库查询和管理功能。

核心功能

  1. 执行 SQL 查询:通过 run_select_query 工具执行 SQL 查询,所有查询均以只读模式运行以确保安全。
  2. 列出数据库:通过 list_databases 工具列出 ClickHouse 集群中的所有数据库。
  3. 列出表:通过 list_tables 工具列出指定数据库中的所有表。

适用场景

  1. 数据分析:执行复杂的 SQL 查询以分析数据。
  2. 数据库管理:快速查看和管理数据库和表结构。
  3. 开发测试:在开发环境中测试和验证 SQL 查询。

工具列表

  1. run_select_query
  2. 功能:在 ClickHouse 集群上执行 SQL 查询。
  3. 输入:sql(字符串):要执行的 SQL 查询。

  4. list_databases

  5. 功能:列出 ClickHouse 集群中的所有数据库。

  6. list_tables

  7. 功能:列出指定数据库中的所有表。
  8. 输入:database(字符串):数据库名称。

常见问题解答

  1. 如何配置 ClickHouse 连接?
  2. 通过环境变量配置 CLICKHOUSE_HOSTCLICKHOUSE_USERCLICKHOUSE_PASSWORD 等参数。

  3. 如何启用 HTTPS 连接?

  4. 设置 CLICKHOUSE_SECURE=true 并确保 CLICKHOUSE_PORT8443

  5. 如何禁用 SSL 证书验证?

  6. 设置 CLICKHOUSE_VERIFY=false(不推荐用于生产环境)。

使用教程

使用依赖

  1. 安装 uv 工具: bash pip install uv

  2. 确保 Python 3.13 已安装。

安装教程

  1. 在 Claude Desktop 配置文件中添加以下内容(路径因操作系统而异):
  2. macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%/Claude/claude_desktop_config.json

json { "mcpServers": { "mcp-clickhouse": { "command": "uv", "args": [ "run", "--with", "mcp-clickhouse", "--python", "3.13", "mcp-clickhouse" ], "env": { "CLICKHOUSE_HOST": "<clickhouse-host>", "CLICKHOUSE_PORT": "<clickhouse-port>", "CLICKHOUSE_USER": "<clickhouse-user>", "CLICKHOUSE_PASSWORD": "<clickhouse-password>", "CLICKHOUSE_SECURE": "true", "CLICKHOUSE_VERIFY": "true", "CLICKHOUSE_CONNECT_TIMEOUT": "30", "CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "30" } } } }

  1. 替换 uv 的绝对路径(可通过 which uv 查找)。

  2. 重启 Claude Desktop 以应用更改。

调试方式

  1. test-services 目录下运行以下命令启动 ClickHouse 集群: bash docker compose up -d

  2. 在项目根目录创建 .env 文件并添加以下内容: env CLICKHOUSE_HOST=localhost CLICKHOUSE_PORT=8123 CLICKHOUSE_USER=default CLICKHOUSE_PASSWORD=clickhouse

  3. 安装依赖并激活虚拟环境: bash uv sync source .venv/bin/activate

  4. 启动 MCP 服务器: bash mcp dev mcp_clickhouse/mcp_server.py

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。