跳过安装。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 + Microsoft Copilot
让任意 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 — 在 Microsoft Copilot 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
Microsoft Copilot 通过在 Copilot Studio 中构建的智能体使用 MCP 服务器:把 AnythingMCP 作为工具添加到智能体,然后把智能体发布到 Microsoft 365 Copilot 和 Teams。Copilot Studio 从 Microsoft 的云端通过 Streamable HTTP 连接,AnythingMCP 支持这种方式。
- 在 Copilot Studio 中打开你的智能体(或新建一个),进入 Tools,选择 Add a tool → New tool → Model Context Protocol。
- 填写 Server name(例如
AnythingMCP)、说明连接器用途的 Server description,以及 Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID。Copilot Studio 根据描述决定何时调用该服务器。 - 身份验证选择 API key,把 Type 设为 Header,请求头名称填
X-API-Key,然后选择 Create。 - 在 Add tool 中选择 Create a new connection,粘贴 AnythingMCP 的 MCP API 密钥(MCP Servers → 你的服务器 → API keys),然后选择 Add to agent。
- 在智能体的 Test 窗格中试一试:提出需要用到
ClickHouse的工具的请求。 - 选择 Publish,然后进入 Channels → Microsoft 365 and Microsoft Teams,保持勾选 Make agent available in Microsoft Copilot,再选择 Add channel。See agent in Teams 会为你安装该智能体;在 Microsoft 365 Copilot 中输入 @ 并选择该智能体。
希望每个用户各自登录?请选择 OAuth 2.0 → Dynamic discovery 代替 API 密钥:每个用户会在智能体首次调用时登录 AnythingMCP。
自托管?请用你实例的公网 HTTPS 地址替换 https://cloud.anythingmcp.com。Copilot Studio 从 Microsoft 的云端连接,因此 localhost 无法使用。
可用工具
| 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
这适用于哪个 Copilot? 适用于工作中的 Microsoft 365 Copilot,通过 Copilot Studio 的智能体实现。面向个人账户的 Microsoft Copilot 应用无法添加自己的 MCP 服务器。
我需要什么? 一个可以使用 Copilot Studio 的工作账户(许可证或试用版),用于构建智能体。在 Microsoft 365 Copilot 或 Teams 中使用它的人需要拥有该智能体的访问权限:把它共享给他们,或请管理员为整个组织发布。如果你的组织对 Power Platform 连接器设置了数据策略,这些策略同样适用于 MCP 服务器。
智能体不调用工具。 检查请求头名称是否正好是 X-API-Key,密钥是否属于与 URL 相同的 MCP 服务器,并把 Server description 写得具体:Copilot Studio 根据它决定何时调用服务器。每次修改后重新发布智能体;在已打开的对话中输入 "start over" 即可使用新版本。
下一步
这份指南对你有帮助吗?