Connect ClickHouse to AI assistants: run SQL queries, list databases and tables, inspect schemas, and optionally query via chDB.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add clickhouse --env CLICKHOUSE_HOST='<CLICKHOUSE_HOST>' --env CLICKHOUSE_USER='<CLICKHOUSE_USER>' --env CLICKHOUSE_PASSWORD='<CLICKHOUSE_PASSWORD>' --env CLICKHOUSE_PORT='<CLICKHOUSE_PORT>' --env CLICKHOUSE_SECURE='<CLICKHOUSE_SECURE>' --env CLICKHOUSE_VERIFY='<CLICKHOUSE_VERIFY>' --env CLICKHOUSE_CONNECT_TIMEOUT='<CLICKHOUSE_CONNECT_TIMEOUT>' --env CLICKHOUSE_SEND_RECEIVE_TIMEOUT='<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>' --env CLICKHOUSE_DATABASE='<CLICKHOUSE_DATABASE>' -- uvx mcp-clickhouse~/.codex/config.toml
[mcp_servers.clickhouse]
command = "uvx"
args = ["mcp-clickhouse"]
env = { CLICKHOUSE_HOST = "<CLICKHOUSE_HOST>", CLICKHOUSE_USER = "<CLICKHOUSE_USER>", CLICKHOUSE_PASSWORD = "<CLICKHOUSE_PASSWORD>", CLICKHOUSE_PORT = "<CLICKHOUSE_PORT>", CLICKHOUSE_SECURE = "<CLICKHOUSE_SECURE>", CLICKHOUSE_VERIFY = "<CLICKHOUSE_VERIFY>", CLICKHOUSE_CONNECT_TIMEOUT = "<CLICKHOUSE_CONNECT_TIMEOUT>", CLICKHOUSE_SEND_RECEIVE_TIMEOUT = "<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>", CLICKHOUSE_DATABASE = "<CLICKHOUSE_DATABASE>" }
# codex mcp add clickhouse --env CLICKHOUSE_HOST='<CLICKHOUSE_HOST>' --env CLICKHOUSE_USER='<CLICKHOUSE_USER>' --env CLICKHOUSE_PASSWORD='<CLICKHOUSE_PASSWORD>' --env CLICKHOUSE_PORT='<CLICKHOUSE_PORT>' --env CLICKHOUSE_SECURE='<CLICKHOUSE_SECURE>' --env CLICKHOUSE_VERIFY='<CLICKHOUSE_VERIFY>' --env CLICKHOUSE_CONNECT_TIMEOUT='<CLICKHOUSE_CONNECT_TIMEOUT>' --env CLICKHOUSE_SEND_RECEIVE_TIMEOUT='<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>' --env CLICKHOUSE_DATABASE='<CLICKHOUSE_DATABASE>' -- uvx mcp-clickhouse~/.cursor/mcp.json
{
"mcpServers": {
"clickhouse": {
"command": "uvx",
"args": [
"mcp-clickhouse"
],
"env": {
"CLICKHOUSE_HOST": "<CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CONNECT_TIMEOUT": "<CLICKHOUSE_CONNECT_TIMEOUT>",
"CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>",
"CLICKHOUSE_DATABASE": "<CLICKHOUSE_DATABASE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"clickhouse": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-clickhouse"
],
"env": {
"CLICKHOUSE_HOST": "<CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CONNECT_TIMEOUT": "<CLICKHOUSE_CONNECT_TIMEOUT>",
"CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>",
"CLICKHOUSE_DATABASE": "<CLICKHOUSE_DATABASE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"clickhouse": {
"command": "uvx",
"args": [
"mcp-clickhouse"
],
"env": {
"CLICKHOUSE_HOST": "<CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CONNECT_TIMEOUT": "<CLICKHOUSE_CONNECT_TIMEOUT>",
"CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>",
"CLICKHOUSE_DATABASE": "<CLICKHOUSE_DATABASE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"clickhouse": {
"command": "uvx",
"args": [
"mcp-clickhouse"
],
"env": {
"CLICKHOUSE_HOST": "<CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CONNECT_TIMEOUT": "<CLICKHOUSE_CONNECT_TIMEOUT>",
"CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>",
"CLICKHOUSE_DATABASE": "<CLICKHOUSE_DATABASE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"clickhouse": {
"command": "uvx",
"args": [
"mcp-clickhouse"
],
"env": {
"CLICKHOUSE_HOST": "<CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CONNECT_TIMEOUT": "<CLICKHOUSE_CONNECT_TIMEOUT>",
"CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "<CLICKHOUSE_SEND_RECEIVE_TIMEOUT>",
"CLICKHOUSE_DATABASE": "<CLICKHOUSE_DATABASE>"
}
}
}
}Environment variables
CLICKHOUSE_HOSTCLICKHOUSE_USERCLICKHOUSE_PASSWORDCLICKHOUSE_PORTCLICKHOUSE_SECURECLICKHOUSE_VERIFYCLICKHOUSE_CONNECT_TIMEOUTCLICKHOUSE_SEND_RECEIVE_TIMEOUTCLICKHOUSE_DATABASE
Replace the placeholders with your own credentials and keep them out of version control.