mcp-clickhouse
mcp-clickhouse
一个用于 ClickHouse 的 Model 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-only→read-write→admin分层,每种模式都不会暴露其级别之上的语句。安全标志 — 数据库允许列表、受保护数据库、破坏性操作门控、行数上限、试运行和 JSON 审计日志(见下文)。
Related MCP server: clickhouse-mcp-server
安全模型
问题 | 标志 | 默认值 | 效果 |
服务器能做什么? |
|
|
|
哪些数据库在范围内? |
| (全部) | 设置后,拒绝其他数据库的操作。 |
哪些数据库永远只读? |
|
| 可读取,但永远不会被修改。 |
允许破坏性 SQL 吗? |
|
| DROP/TRUNCATE/DELETE/… 需要此标志 并且 处于 admin 模式。 |
结果大小上限 |
|
| 对返回给模型的结果行数实施硬性限制。 |
不执行就预览 |
|
| 写入/破坏性语句先校验并记录意图,然后返回。 |
审计跟踪 |
|
| 每当执行受管控的操作,向 stderr 输出一行 JSON。 |
语句分类逻辑位于 src/sql.ts 中,并采用故障安全策略:ALTER … DELETE/UPDATE 被视为破坏性语句,任何无法解析的语句同样被视为破坏性语句。
工具
读取(read-only 及以上):list_databases、list_tables、describe_table、show_create_table、table_stats、running_queries、server_metrics、cluster_info、query
写入/管理(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
Maintenance
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
- AlicenseBqualityFmaintenanceAn 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.22MIT
- AlicenseNot gradedqualityCmaintenanceEnables interaction with ClickHouse databases via MCP, providing tools to list databases and tables and execute safe SELECT, SHOW, and DESCRIBE queries.32MIT
- FlicenseAqualityCmaintenanceRead-only MCP server for ClickHouse that allows listing databases and tables, describing schemas, and running SELECT queries.4
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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