跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 ClickHouse,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让任意 AI 智能体通过 HTTP 接口以只读方式查询 ClickHouse 服务器或 ClickHouse Cloud 服务:列出数据库、表和列,读取 CREATE 语句,查看表大小,查看正在运行和最近的查询,并执行任意 SELECT。每个请求都带有 readonly=1,因此写操作由 ClickHouse 自身拒绝。
试试这样问
ClickHouse 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → ClickHouse、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
ClickHouse + ChatGPT
让任意 AI 智能体通过 HTTP 接口以只读方式查询 ClickHouse 服务器或 ClickHouse Cloud 服务:列出数据库、表和列,读取 CREATE 语句,查看表大小,查看正在运行和最近的查询,并执行任意 SELECT。每个请求都带有 readonly=1,因此写操作由 ClickHouse 自身拒绝。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
CLICKHOUSE_URL, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD
步骤 1 — 获取凭证
设置大约需要 3 分钟。你需要一个 ClickHouse 服务器或 ClickHouse Cloud 服务的 HTTPS 地址,以及一个有读取权限的用户。
- 把 HTTP 接口的地址连同端口填入
CLICKHOUSE_URL。在 ClickHouse Cloud 中打开服务,点击 Connect,选择 HTTPS 并复制主机,例如https://abc123xyz.europe-west4.gcp.clickhouse.cloud:8443。自托管:https://your-host:8443,在内网中也可用http://your-host:8123。只填协议、主机和端口,不带路径。 - 创建一个只能读取的专用用户,例如
CREATE USER mcp_reader IDENTIFIED BY '...'; GRANT SELECT ON analytics.* TO mcp_reader;。如需使用clickhouse_table_sizes、clickhouse_running_queries和clickhouse_recent_queries,再授予GRANT SELECT ON system.parts, system.processes, system.query_log TO mcp_reader。ClickHouse Cloud 的内置用户是default。 - 不要给这个用户分配
readonly = 2的设置配置文件:连接器在每个请求中设置readonly=1,而在readonly = 2下 ClickHouse 会拒绝这一更改。readonly = 0或1都可以。 - 把用户名填入
CLICKHOUSE_USER,密码填入CLICKHOUSE_PASSWORD,它们以 HTTP Basic 认证发送。 - 仅限 ClickHouse Cloud:服务的 IP access list 必须允许 AnythingMCP 发起调用的地址。
- 安装连接器并运行
clickhouse_server_info:它会显示版本、运行时长、服务器时区、登录的用户、其默认数据库和实际生效的 readonly 级别。
读取内容:用户可见的数据库及其引擎和注释;某个数据库中的表和视图(引擎、总行数和总字节数、易读的大小、注释);表的列及其类型、默认表达式,以及是否属于分区键、排序键或主键;表或视图的 CREATE 语句(引擎、ORDER BY、PARTITION BY、TTL、设置,或视图背后的 SELECT);以及 clickhouse_search_columns 按名称在所有数据库中找到的列。运维方面:按活跃数据分片统计的每张表存储量、正在运行的查询,以及查询日志中已完成或失败的查询。clickhouse_query 执行一条 SELECT、WITH、SHOW、DESCRIBE、EXPLAIN 或 EXISTS 语句。
写入内容:无。每个请求都带有 readonly=1 设置,因此无论用户有哪些授权,ClickHouse 都会拒绝 INSERT、ALTER、CREATE、DROP 和 SET。由于没有写入工具,安装时也没有任何工具被关闭。
AI 如何查询:先用 clickhouse_list_databases、clickhouse_list_tables、clickhouse_describe_table 和 clickhouse_show_create_table 了解结构,然后按排序键和分区列过滤,在 SQL 中聚合(count()、sum()、uniq()、quantile(0.95)(x)、toStartOfDay(ts)),并始终以 LIMIT 结尾。对可能扫描大表的查询,可以先运行 EXPLAIN 或 EXPLAIN ESTIMATE。一个查询就是一条语句,不带 FORMAT 子句,也不带结尾分号;database 为未指定数据库的表名设置默认数据库。
数据格式:JSON 格式返回 meta(列名和类型)、data(行)、rows(行数)和 statistics(耗时秒数、读取的行数和字节数)。clickhouse_query 也可以用 JSONCompact(行为数组,更小)、CSVWithNames 或 TabSeparatedWithNames 返回。64 位整数(UInt64、Int64)以字符串形式返回,因此 "12345678901" 是一个数字。DateTime 值为 YYYY-MM-DD hh:mm:ss,使用 clickhouse_server_info 给出的服务器时区,除非列类型指定了其他时区。formatReadableSize 给出的大小是二进制单位(KiB、MiB、GiB)。
分页与限制:没有分页,除了你的 LIMIT 和连接器的响应大小上限外也没有行数上限;完整结果在一次响应中返回,所以应聚合而不是拉取原始行。clickhouse_search_columns 最多返回 500 条匹配。clickhouse_recent_queries 返回 minutes(默认 60)内最近的 100 条查询。clickhouse_running_queries 只显示应答的节点,在 ClickHouse Cloud 上即服务的一个副本。空闲的 Cloud 服务会在第一次查询时唤醒,可能需要长达一分钟。
常见错误:响应体中包含 Code: <n>. DB::Exception: ...。代码 164(READONLY)表示语句试图写入或更改设置。497(ACCESS_DENIED,HTTP 403)表示缺少 GRANT,或在 ClickHouse Cloud 上 IP access list 不允许此服务器。60(UNKNOWN_TABLE)和 81(UNKNOWN_DATABASE)表示名称错误,62(SYNTAX_ERROR)表示 SQL 有误,159 或 241 表示超时或内存上限:请缩小查询范围。401 或 516(AUTHENTICATION_FAILED)表示用户名或密码错误。如果该地址没有任何响应,通常是端口不对,或 CLICKHOUSE_URL 中带了路径。
该连接器不插入、更新或删除数据,不创建或修改表,也不管理 ClickHouse Cloud 服务(启动、停止、扩缩容、备份、费用):这些请安装单独的 ClickHouse Cloud 连接器。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 ChatGPT 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
ChatGPT 在网页版的 Plugins 页面把 MCP 服务器添加为插件,仅付费套餐可用,不再需要开发者模式。在 Business 工作区中只有管理员和所有者可以添加;在 Enterprise 和 Edu 中,管理员可以授予 Create plugins with MCPs 权限。
- 前往 chatgpt.com/plugins,点击 Add,然后选择 Add custom MCP server。
- 填写名称,例如 Name:
ClickHouse。 - 在 Connection 下的 Server URL 中填入
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,Authentication 保持为 OAuth。 - 选择 I understand and want to continue,然后点击 Create as a plugin。ChatGPT 提示时,登录 AnythingMCP 并允许访问。
- 在个人插件中安装这个新插件,然后在对话中输入 @ 并选择它。
可用工具
| Tool | What it does |
|---|---|
clickhouse_server_info | Version, uptime in seconds, server time zone, the user the connector signs in as, its default database and its effective readonly level |
clickhouse_query | Run one read-only SQL statement (SELECT, WITH, SHOW, DESCRIBE, EXPLAIN, EXISTS) and return the result |
clickhouse_list_databases | Every database the user can see, with its engine and comment |
clickhouse_list_tables | Tables and views of one database: engine (MergeTree family, View, MaterializedView, Dictionary, ...), total rows and bytes when the engine… |
clickhouse_describe_table | Columns of a table in order: name, type, default kind and expression, comment, and whether the column is part of the partition, sorting or… |
clickhouse_show_create_table | The CREATE statement of a table or view: engine, ORDER BY, PARTITION BY, TTL and settings, or the SELECT behind a view |
clickhouse_search_columns | Find columns by name across databases (case-insensitive LIKE), up to 500 matches: database, table, column, type and comment |
clickhouse_table_sizes | Storage per table of one database from the active parts: rows, part count, bytes on disk, compressed and uncompressed size, last… |
clickhouse_running_queries | Queries running right now on the node that answers: query id, user, elapsed seconds, rows read, memory and the first 500 characters of the… |
clickhouse_recent_queries | The last 100 finished or failed queries of the past minutes from the query log: time, user, type (QueryFinish, ExceptionBeforeStart… |
示例提示
- “有哪些数据库和表?哪些表占用的磁盘空间最多?”
- “过去 30 天里,analytics.events 每天有多少事件?”
- “像 customer_id 这样的列在哪里?在所有数据库中搜索。”
- “给我看最近一小时内失败的查询及其错误代码。”
- “本月收入最高的 10 个国家是哪些?先检查排序键,让查询保持低成本。”
FAQ
ChatGPT 免费套餐能用自定义 MCP 服务器吗? OpenAI 只为付费套餐提供自定义 MCP 服务器的说明,Free 套餐不在其列。
下一步
这份指南对你有帮助吗?