clickhouse-mcp-server
Clickhouse MCP 服务器
Clickhouse 数据库 MCP 服务器项目。
安装
您可以使用uv安装该软件包:
uv pip install clickhouse-mcp-server或者使用pip :
pip install clickhouse-mcp-serverRelated MCP server: ClickHouse MCP Server
成分
工具
服务器提供了两个工具:
connect_database:连接到特定的 Clickhouse 数据库database参数:要连接的数据库的名称(字符串)连接成功时返回确认消息
execute_queryClickhouse 查询query参数:要执行的 SQL 查询/查询(字符串)以 JSON 格式返回查询结果
可以发送多个查询,以分号分隔
配置
服务器使用以下环境变量:
CLICKHOUSE_HOST:Clickhouse 服务器地址(默认:“localhost”)CLICKHOUSE_USER:Clickhouse 用户名(默认值:“root”)CLICKHOUSE_PASSWORD:Clickhouse 密码(默认值:“”)CLICKHOUSE_DATABASE:初始数据库(可选)CLICKHOUSE_READONLY:只读模式(设置为 1/true 以启用,默认值:false)
快速入门
安装
克劳德桌面
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"clickhouse-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/Users/burakdirin/Projects/clickhouse-mcp-server",
"run",
"clickhouse-mcp-server"
],
"env": {
"CLICKHOUSE_HOST": "localhost",
"CLICKHOUSE_USER": "root",
"CLICKHOUSE_PASSWORD": "password",
"CLICKHOUSE_DATABASE": "[optional]",
"CLICKHOUSE_READONLY": "true"
}
}
}
}{
"mcpServers": {
"clickhouse-mcp-server": {
"command": "uvx",
"args": [
"clickhouse-mcp-server"
],
"env": {
"CLICKHOUSE_HOST": "localhost",
"CLICKHOUSE_USER": "root",
"CLICKHOUSE_PASSWORD": "password",
"CLICKHOUSE_DATABASE": "[optional]",
"CLICKHOUSE_READONLY": "true"
}
}
}
}通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Clickhouse 数据库集成服务器:
npx -y @smithery/cli install @burakdirin/clickhouse-mcp-server --client claude发展
构建和发布
准备分发包:
同步依赖项并更新锁文件:
uv sync构建软件包分发版:
uv build这将在dist/目录中创建源和轮子分布。
发布到 PyPI:
uv publish注意:您需要通过环境变量或命令标志设置 PyPI 凭据:
令牌:
--token或UV_PUBLISH_TOKEN或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务器通过 stdio 运行,调试起来可能比较困难。为了获得最佳调试体验,我们强烈建议使用MCP Inspector 。
您可以使用以下命令通过npm启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /Users/burakdirin/Projects/clickhouse-mcp-server run clickhouse-mcp-server启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。
Available Tools
2 toolsconnect_databaseC
Connect to a specific ClickHouse database
| Name | Required | Description | Default |
|---|---|---|---|
| database | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only says 'Connect', omitting details about side effects, authentication requirements, or state changes (e.g., establishing a session).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is effectively concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's role as a connection setter, the description lacks information on prerequisites, return values, or how it interacts with 'execute_query'. It is incomplete for operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description adds no additional meaning beyond the parameter name 'database'. It does not explain valid values or expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Connect to a specific ClickHouse database', using a specific verb and resource. It effectively distinguishes from the sibling tool 'execute_query' which presumably runs queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the sibling 'execute_query' or any prerequisites. The description merely states functionality without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_queryC
Execute ClickHouse queries
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose whether queries are read-only, safe, or have side effects. Important behavioral details like result handling or error behavior are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but at the expense of necessary detail for a query execution tool. It is too minimal to be considered well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description fails to explain what the tool returns or if it just executes. Lacks context about execution environment and limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds no information about the 'query' parameter beyond its name. Does not specify expected format (e.g., SQL dialect) or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Execute) and resource (ClickHouse queries). It distinguishes from the sibling tool connect_database, which implies connection setup vs query execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention prerequisites like a prior connection or whether it is for read or write operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
connect_database - First observed
execute_query
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one for establishing a database connection, the other for executing queries. There is no overlap or ambiguity.
Both tool names follow a consistent verb_noun pattern (connect_database, execute_query), making them predictable and easy to understand.
With only 2 tools, the set is minimal but still covers the essential operations for a database query server. It is slightly thin but reasonable for a focused scope.
The tools cover connection and query execution, but lack disconnect, schema inspection, or database management operations. This leaves notable gaps for a full database interaction workflow.
Maintenance
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Large Language Models to seamlessly interact with ClickHouse databases, supporting resource listing, schema retrieval, and query execution.2MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants to securely interact with ClickHouse databases, supporting table exploration and SQL query execution through a controlled interface.18Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that enables Claude to execute read-only queries against MariaDB databases and explore database schemas through natural language.20MIT

Altinity MCPofficial
FlicenseNot gradedqualityAmaintenanceProduction-ready MCP server designed to empower AI agents and LLMs to interact seamlessly with ClickHouse. It exposes your ClickHouse database as a set of standardized tools and resources that adhere to the MCP protocol, making it easy for agents built on OpenAI, Claude, or other platforms to query, explore, and analyse your data.37-