Skip to main content
Glama
dockndevai

mcp-clickhouse

by dockndevai

mcp-clickhouse

CI License: MIT

一个用于 ClickHouseModel Context Protocol 服务器。它让支持 MCP 的客户端(Claude Desktop、Claude Code 等)能够浏览数据库结构、运行分析查询并管理数据库,其行为完全由标志决定。

安全模型是语句感知的:每条 SQL 语句都会被分类为读取、写入或破坏性,并与当前访问模式进行匹配。只读模式还会在 ClickHouse 自身的 readonly=1 设置下运行查询。

功能特性

  • 探索与监控 — 数据库、表、列、SHOW CREATE、表统计信息(分区/行/字节)、正在运行的查询、服务器指标、集群拓扑。

  • 读取查询query 工具,只接受读取语句,并受 CLICKHOUSE_MAX_ROWS 行数上限的限制。

  • 管理操作execute 工具,用于执行 INSERT/CREATE/ALTER(读写)和 DROP/TRUNCATE/DELETE(admin),每条语句由分类结果把关。

  • 访问模式read-onlyread-writeadmin 分层,每种模式都不会暴露其级别之上的语句。

  • 安全标志 — 数据库允许列表、受保护数据库、破坏性操作门控、行数上限、试运行和 JSON 审计日志(见下文)。

Related MCP server: clickhouse-mcp-server

安全模型

问题

标志

默认值

效果

服务器能做什么?

CLICKHOUSE_MODE

read-only

read-only 只暴露读取工具(并拒绝 query 中的非 SELECT 语句);read-write 增加 execute 用于写入;admin 允许破坏性语句。

哪些数据库在范围内?

CLICKHOUSE_DATABASE_ALLOWLIST

(全部)

设置后,拒绝其他数据库的操作。

哪些数据库永远只读?

CLICKHOUSE_PROTECTED_DATABASES

system,information_schema

可读取,但永远不会被修改。

允许破坏性 SQL 吗?

CLICKHOUSE_ALLOW_DELETE

false

DROP/TRUNCATE/DELETE/… 需要此标志 并且 处于 admin 模式。

结果大小上限

CLICKHOUSE_MAX_ROWS

1000

对返回给模型的结果行数实施硬性限制。

不执行就预览

CLICKHOUSE_DRY_RUN

false

写入/破坏性语句先校验并记录意图,然后返回。

审计跟踪

CLICKHOUSE_AUDIT_LOG

true

每当执行受管控的操作,向 stderr 输出一行 JSON。

语句分类逻辑位于 src/sql.ts 中,并采用故障安全策略:ALTER … DELETE/UPDATE 被视为破坏性语句,任何无法解析的语句同样被视为破坏性语句。

工具

读取read-only 及以上):list_databaseslist_tablesdescribe_tableshow_create_tabletable_statsrunning_queriesserver_metricscluster_infoquery

写入/管理read-write 及以上):execute — 对单条语句分类后再执行;写入需要 read-write 模式,破坏性语句需要 admin 模式及 CLICKHOUSE_ALLOW_DELETE

配合你的 MCP 客户端使用

可与 Claude Code、Claude Desktop、Cursor、OpenAI Codex CLI、Windsurf、VS Code (Copilot) 以及任何其他 MCP 客户端配合使用 — 各客户端的配置方式请参阅 docs/CLIENTS.md

安装

npm install
npm run build

使用 Claude Desktop / Claude Code 运行

{
  "mcpServers": {
    "clickhouse": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-clickhouse/dist/index.js"],
      "env": {
        "CLICKHOUSE_URL": "http://clickhouse:8123",
        "CLICKHOUSE_USER": "readonly",
        "CLICKHOUSE_PASSWORD": "…",
        "CLICKHOUSE_MODE": "read-only",
        "CLICKHOUSE_DATABASE_ALLOWLIST": "analytics"
      }
    }
  }
}

示例提示

  • "在 analytics 数据库中,哪些表最大?"

  • "展示 events 表的表结构,并运行一个查询本周每日计数的查询。"

  • "哪些查询正在运行且占用内存最多?"

开发

npm run dev
npm test          # SQL classification + security policy (30 tests)
npm run typecheck

发布

本服务器附带了 server.json 用于官方 MCP 注册表,以及 mcpName 用于 npm 所有权验证。有关发布到 npm 以及在 MCP 注册表、Smithery、Glama、Cursor 和 PulseMCP 上列的详细信息,请参阅 PUBLISHING.md

许可证

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    An MCP server implementation that enables Claude AI to interact with Clickhouse databases. Features include secure database connections, query execution, read-only mode support, and multi-query capabilities.
    2
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with ClickHouse databases via MCP, providing tools to list databases and tables and execute safe SELECT, SHOW, and DESCRIBE queries.
    32
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for executing SQL queries on PostgreSQL and ClickHouse with per-connection allow/deny policies by statement group.

View all related MCP servers

Related MCP Connectors

  • Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.

  • MCP server for managing Prisma Postgres.

  • Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dockndevai/mcp-clickhouse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server