ClickHouse MCP 服务器

ClickHouse MCP 服务器是一个远程 MCP(模型上下文协议)服务器,通过安全的 Web 界面使 Claude 能够与 ClickHouse 数据库进行交互。它提供了只读访问、Google OAuth 2.0 认证、安全的 Server-Sent Events (SSE) 通信以及白名单电子邮件地址访问限制等功能。

  • by MikageSawatari
  • 更新于
在 GitHub 查看 MikageSawatari/clickhouse-mcp-server

使用说明

基本能力

产品定位

ClickHouse MCP 服务器是一个远程 MCP 服务器,通过安全的 Web 界面使 Claude 能够与 ClickHouse 数据库进行交互。

核心功能

  • 安全认证:使用 Google OAuth 2.0 和白名单电子邮件地址进行认证
  • 只读访问:安全的数据库查询,无修改风险
  • 会话管理:基于 UUID 的会话,自动清理
  • CORS 保护:仅限于 Claude.ai 来源
  • 全面日志记录:带有可选协议日志记录的调试功能

适用场景

  • 通过 Claude 查询 ClickHouse 数据库
  • 安全地分析数据库中的数据分布
  • 获取数据库表的行数和结构信息

使用教程

使用依赖

  • Node.js 18+ 和 npm
  • ClickHouse 服务器实例
  • Google Cloud Console 账户(用于 OAuth)
  • 带有 HTTPS 的域名(推荐使用 Let's Encrypt)
  • Apache2 或类似的反向代理

安装教程

  1. 克隆仓库

    git clone https://github.com/yourusername/clickhouse-mcp-server.git
    cd clickhouse-mcp-server
    
  2. 安装依赖

    npm install
    
  3. 配置环境变量

    cp .env.example .env
    

    编辑 .env 文件,配置 ClickHouse 连接详情、Google OAuth 凭证、安全密钥和允许的电子邮件地址。

  4. 构建项目

    npm run build
    

调试方式

  1. 查看日志

    sudo journalctl -u mcp-clickhouse -f
    tail -f /path/to/app/logs/*.log
    
  2. 测试 SSE 连接

    node test-sse.cjs