remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Allows executing SQL queries on a ClickHouse cluster and retrieving information about databases and tables. It provides tools to run SELECT queries, list databases, and list tables in a database.
ClickHouse MCP 服务器
ClickHouse 的 MCP 服务器。
特征
工具
run_select_query
- 在您的 ClickHouse 集群上执行 SQL 查询。
- 输入:
sql
(字符串):要执行的 SQL 查询。 - 所有 ClickHouse 查询均以
readonly = 1
运行,以确保它们是安全的。
list_databases
- 列出 ClickHouse 集群上的所有数据库。
list_tables
- 列出数据库中的所有表。
- 输入:
database
(字符串):数据库的名称。
配置
- 打开位于以下位置的 Claude Desktop 配置文件:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json
- 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
- 在 macOS 上:
- 添加以下内容:
Copy
更新环境变量以指向您自己的 ClickHouse 服务。
或者,如果您想使用ClickHouse SQL Playground进行尝试,您可以使用以下配置:
Copy
- 找到
uv
的命令条目,并将其替换为uv
可执行文件的绝对路径。这可确保启动服务器时使用正确版本的uv
。在 Mac 上,您可以使用which uv
找到此路径。 - 重新启动 Claude Desktop 以应用更改。
发展
- 在
test-services
目录中运行docker compose up -d
来启动 ClickHouse 集群。 - 将以下变量添加到存储库根目录中的
.env
文件中。
注意:在此上下文中使用default
用户仅用于本地开发目的。
Copy
- 运行
uv sync
来安装依赖项。要安装uv
,请按照此处的说明操作。然后执行source .venv/bin/activate
。 - 为了方便测试,您可以运行
mcp dev mcp_clickhouse/mcp_server.py
来启动 MCP 服务器。
环境变量
以下环境变量用于配置 ClickHouse 连接:
必需变量
CLICKHOUSE_HOST
:ClickHouse 服务器的主机名CLICKHOUSE_USER
:用于身份验证的用户名CLICKHOUSE_PASSWORD
:身份验证的密码
[!警告]
请务必像对待连接到数据库的任何外部客户端一样对待您的 MCP 数据库用户,仅授予其操作所需的最低权限。应始终严格避免使用默认用户或管理员用户。
可选变量
CLICKHOUSE_PORT
:ClickHouse 服务器的端口号- 默认值:如果启用 HTTPS,
8443
;如果禁用,8123
- 通常不需要设置,除非使用非标准端口
- 默认值:如果启用 HTTPS,
CLICKHOUSE_SECURE
:启用/禁用 HTTPS 连接- 默认值:
"true"
- 对于非安全连接,设置为
"false"
- 默认值:
CLICKHOUSE_VERIFY
:启用/禁用 SSL 证书验证- 默认值:
"true"
- 设置为
"false"
以禁用证书验证(不建议用于生产)
- 默认值:
CLICKHOUSE_CONNECT_TIMEOUT
:连接超时(秒)- 默认值:
"30"
- 如果遇到连接超时,请增加此值
- 默认值:
CLICKHOUSE_SEND_RECEIVE_TIMEOUT
:发送/接收超时(秒)- 默认值:
"300"
- 对于长时间运行的查询,请增加此值
- 默认值:
CLICKHOUSE_DATABASE
:默认使用的数据库- 默认值:无(使用服务器默认值)
- 将其设置为自动连接到特定数据库
示例配置
对于使用 Docker 进行本地开发:
Copy
对于 ClickHouse Cloud:
Copy
对于 ClickHouse SQL Playground:
Copy
您可以在您的环境、 .env
文件或 Claude Desktop 配置中设置这些变量:
Copy