Back to MCP directory
publicPublicdnsLocal runtime

clickhouse_mcp_server

ClickHouse MCP服务器为AI助手提供安全访问数据库的接口

article

README

🚀 ClickHouse MCP 服务器

ClickHouse MCP 服务器是为 ClickHouse 实现的一个模型上下文协议 (MCP) 服务器,它为 AI 助手提供了安全且结构化的数据库探索和分析方式。通过受控接口,AI 助手可以列出表格、读取数据并执行 SQL 查询,确保了负责任的数据库访问。

🚀 快速开始

配置

你可以通过设置环境变量或使用命令行参数来配置服务器。

环境变量配置

设置以下环境变量:

CLICKHOUSE_HOST=localhost    
CLICKHOUSE_PORT=8123         
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=CHANGE_TO_YOUR_PASSWORD
CLICKHOUSE_DATABASE=default

命令行参数配置

使用以下命令行参数:

  • --host:数据库主机
  • --port:数据库端口
  • --user:数据库用户名
  • --password:数据库密码
  • --database:数据库名称

使用方法

假设一些 ClickHouse 中的数据

请参考 dev_contribute.md 文件中的 SQL 语句。

在 Cline 中向 AI 助手提问

What is the sales volume in each region? Which product is the best - selling?

CLINE

在 VSCode、Cline 扩展或其他 MCP 客户端中配置 MCP 服务器,示例如下:

{
  "mcpServers": {
    "clickhouse": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/clickhouse_mcp_server",
        "run",
        "-m",
        "clickhouse_mcp_server.server"
      ],
      "env": {
        "CLICKHOUSE_HOST": "localhost",
        "CLICKHOUSE_PORT": "8123",
        "CLICKHOUSE_USER": "default",
        "CLICKHOUSE_PASSWORD": "CHANGE_TO_YOUR_PASSWORD",
        "CLICKHOUSE_DATABASE": "default"
      }
    }
    
  }
}

📄 许可证

本项目采用 APACHE 许可证,有关详细信息,请参阅 LICENSE 文件。

👥 贡献

请查阅 dev_contribute.md 以获取详细的贡献信息。

先决条件

  • 带有 uv 包管理器的 Python
  • ClickHouse 安装
  • MCP 服务器依赖项

🙏 致谢

这个库的实现灵感来自于以下三个仓库,并借鉴了它们的代码,在此向它们表示感谢,尊重开源精神!

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client