ClickHouse MCP
An official MCP server that enables AI agents to query and explore ClickHouse clusters and chDB. It facilitates real-time analytics, observability data exploration, and data warehousing tasks by providing direct access to ClickHouse's high-performance OLAP capabilities through standard MCP interfaces.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Query real-time analytics data
- Explore observability logs and metrics
- Perform data warehousing analysis
- Run SQL queries on chDB
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/clickhouse/mcp-clickhouse:0.7.0
{
"transport": "stdio",
"identifier": "ghcr.io/clickhouse/mcp-clickhouse:0.7.0",
"registryType": "oci",
"environmentVariables": [
{
"name": "CLICKHOUSE_HOST",
"isRequired": true,
"description": "Hostname of the ClickHouse server"
},
{
"name": "CLICKHOUSE_USER",
"isRequired": true,
"description": "Username for ClickHouse authentication"
},
{
"name": "CLICKHOUSE_PASSWORD",
"description": "Password for ClickHouse authentication. Required unless a client certificate uses the default or mutual TLS mode"
},
{
"name": "CLICKHOUSE_PORT",
"description": "ClickHouse HTTP(S) port. Defaults to 8443 when CLICKHOUSE_SECURE=true, 8123 otherwise"
},
{
"name": "CLICKHOUSE_SECURE",
"format": "boolean",
"default": "true",
"description": "Use HTTPS to connect to ClickHouse"
},
{
"name": "CLICKHOUSE_VERIFY",
"format": "boolean",
"default": "true",
"description": "Verify SSL certificates"
},
{
"name": "CLICKHOUSE_CA_CERT",
"format": "filepath",
"description": "Path to a PEM CA bundle for ClickHouse server certificate verification"
},
{
"name": "CLICKHOUSE_CLIENT_CERT",
"format": "filepath",
"description": "Path to a PEM client certificate for the ClickHouse HTTPS connection"
},
{
"name": "CLICKHOUSE_CLIENT_CERT_KEY",
"format": "filepath",
"description": "Path to the PEM private key for CLICKHOUSE_CLIENT_CERT"
},
{
"name": "CLICKHOUSE_TLS_MODE",
"choices": [
"mutual",
"proxy",
"strict"
],
"description": "Client certificate mode: mutual, proxy, or strict"
},
{
"name": "CLICKHOUSE_DATABASE",
"description": "Default database to use"
},
{
"name": "CLICKHOUSE_ROLE",
"description": "ClickHouse role to activate for the session"
},
{
"name": "CLICKHOUSE_ALLOW_WRITE_ACCESS",
"format": "boolean",
"default": "false",
"description": "Allow write operations (DDL and DML). Queries run read-only by default"
},
{
"name": "CLICKHOUSE_ALLOW_DROP",
"format": "boolean",
"default": "false",
"description": "Allow destructive operations (DROP, TRUNCATE, DELETE, UPDATE, REPLACE, CLEAR, and DETACH PERMANENTLY) when write access is also enabled"
},
{
"name": "CLICKHOUSE_MCP_QUERY_TIMEOUT",
"format": "number",
"default": "30",
"description": "Query tool timeout in seconds"
},
{
"name": "CLICKHOUSE_MCP_MAX_WORKERS",
"format": "number",
"default": "10",
"description": "Maximum query worker thread pool size"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"clickhouse-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CLICKHOUSE_HOST=<YOUR_CLICKHOUSE_HOST>",
"-e",
"CLICKHOUSE_USER=<YOUR_CLICKHOUSE_USER>",
"-e",
"CLICKHOUSE_PASSWORD=<YOUR_CLICKHOUSE_PASSWORD>",
"-e",
"CLICKHOUSE_PORT=<YOUR_CLICKHOUSE_PORT>",
"-e",
"CLICKHOUSE_SECURE=<YOUR_CLICKHOUSE_SECURE>",
"-e",
"CLICKHOUSE_VERIFY=<YOUR_CLICKHOUSE_VERIFY>",
"-e",
"CLICKHOUSE_CA_CERT=<YOUR_CLICKHOUSE_CA_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT=<YOUR_CLICKHOUSE_CLIENT_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT_KEY=<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"-e",
"CLICKHOUSE_TLS_MODE=<YOUR_CLICKHOUSE_TLS_MODE>",
"-e",
"CLICKHOUSE_DATABASE=<YOUR_CLICKHOUSE_DATABASE>",
"-e",
"CLICKHOUSE_ROLE=<YOUR_CLICKHOUSE_ROLE>",
"-e",
"CLICKHOUSE_ALLOW_WRITE_ACCESS=<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"-e",
"CLICKHOUSE_ALLOW_DROP=<YOUR_CLICKHOUSE_ALLOW_DROP>",
"-e",
"CLICKHOUSE_MCP_QUERY_TIMEOUT=<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"-e",
"CLICKHOUSE_MCP_MAX_WORKERS=<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>",
"ghcr.io/clickhouse/mcp-clickhouse:0.7.0"
],
"env": {
"CLICKHOUSE_HOST": "<YOUR_CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<YOUR_CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<YOUR_CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<YOUR_CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<YOUR_CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<YOUR_CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CA_CERT": "<YOUR_CLICKHOUSE_CA_CERT>",
"CLICKHOUSE_CLIENT_CERT": "<YOUR_CLICKHOUSE_CLIENT_CERT>",
"CLICKHOUSE_CLIENT_CERT_KEY": "<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"CLICKHOUSE_TLS_MODE": "<YOUR_CLICKHOUSE_TLS_MODE>",
"CLICKHOUSE_DATABASE": "<YOUR_CLICKHOUSE_DATABASE>",
"CLICKHOUSE_ROLE": "<YOUR_CLICKHOUSE_ROLE>",
"CLICKHOUSE_ALLOW_WRITE_ACCESS": "<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"CLICKHOUSE_ALLOW_DROP": "<YOUR_CLICKHOUSE_ALLOW_DROP>",
"CLICKHOUSE_MCP_QUERY_TIMEOUT": "<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"CLICKHOUSE_MCP_MAX_WORKERS": "<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>"
}
}
}
}Cline
{
"mcpServers": {
"clickhouse-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CLICKHOUSE_HOST=<YOUR_CLICKHOUSE_HOST>",
"-e",
"CLICKHOUSE_USER=<YOUR_CLICKHOUSE_USER>",
"-e",
"CLICKHOUSE_PASSWORD=<YOUR_CLICKHOUSE_PASSWORD>",
"-e",
"CLICKHOUSE_PORT=<YOUR_CLICKHOUSE_PORT>",
"-e",
"CLICKHOUSE_SECURE=<YOUR_CLICKHOUSE_SECURE>",
"-e",
"CLICKHOUSE_VERIFY=<YOUR_CLICKHOUSE_VERIFY>",
"-e",
"CLICKHOUSE_CA_CERT=<YOUR_CLICKHOUSE_CA_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT=<YOUR_CLICKHOUSE_CLIENT_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT_KEY=<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"-e",
"CLICKHOUSE_TLS_MODE=<YOUR_CLICKHOUSE_TLS_MODE>",
"-e",
"CLICKHOUSE_DATABASE=<YOUR_CLICKHOUSE_DATABASE>",
"-e",
"CLICKHOUSE_ROLE=<YOUR_CLICKHOUSE_ROLE>",
"-e",
"CLICKHOUSE_ALLOW_WRITE_ACCESS=<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"-e",
"CLICKHOUSE_ALLOW_DROP=<YOUR_CLICKHOUSE_ALLOW_DROP>",
"-e",
"CLICKHOUSE_MCP_QUERY_TIMEOUT=<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"-e",
"CLICKHOUSE_MCP_MAX_WORKERS=<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>",
"ghcr.io/clickhouse/mcp-clickhouse:0.7.0"
],
"env": {
"CLICKHOUSE_HOST": "<YOUR_CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<YOUR_CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<YOUR_CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<YOUR_CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<YOUR_CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<YOUR_CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CA_CERT": "<YOUR_CLICKHOUSE_CA_CERT>",
"CLICKHOUSE_CLIENT_CERT": "<YOUR_CLICKHOUSE_CLIENT_CERT>",
"CLICKHOUSE_CLIENT_CERT_KEY": "<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"CLICKHOUSE_TLS_MODE": "<YOUR_CLICKHOUSE_TLS_MODE>",
"CLICKHOUSE_DATABASE": "<YOUR_CLICKHOUSE_DATABASE>",
"CLICKHOUSE_ROLE": "<YOUR_CLICKHOUSE_ROLE>",
"CLICKHOUSE_ALLOW_WRITE_ACCESS": "<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"CLICKHOUSE_ALLOW_DROP": "<YOUR_CLICKHOUSE_ALLOW_DROP>",
"CLICKHOUSE_MCP_QUERY_TIMEOUT": "<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"CLICKHOUSE_MCP_MAX_WORKERS": "<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>"
}
}
}
}VS Code
{
"servers": {
"clickhouse-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CLICKHOUSE_HOST=<YOUR_CLICKHOUSE_HOST>",
"-e",
"CLICKHOUSE_USER=<YOUR_CLICKHOUSE_USER>",
"-e",
"CLICKHOUSE_PASSWORD=<YOUR_CLICKHOUSE_PASSWORD>",
"-e",
"CLICKHOUSE_PORT=<YOUR_CLICKHOUSE_PORT>",
"-e",
"CLICKHOUSE_SECURE=<YOUR_CLICKHOUSE_SECURE>",
"-e",
"CLICKHOUSE_VERIFY=<YOUR_CLICKHOUSE_VERIFY>",
"-e",
"CLICKHOUSE_CA_CERT=<YOUR_CLICKHOUSE_CA_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT=<YOUR_CLICKHOUSE_CLIENT_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT_KEY=<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"-e",
"CLICKHOUSE_TLS_MODE=<YOUR_CLICKHOUSE_TLS_MODE>",
"-e",
"CLICKHOUSE_DATABASE=<YOUR_CLICKHOUSE_DATABASE>",
"-e",
"CLICKHOUSE_ROLE=<YOUR_CLICKHOUSE_ROLE>",
"-e",
"CLICKHOUSE_ALLOW_WRITE_ACCESS=<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"-e",
"CLICKHOUSE_ALLOW_DROP=<YOUR_CLICKHOUSE_ALLOW_DROP>",
"-e",
"CLICKHOUSE_MCP_QUERY_TIMEOUT=<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"-e",
"CLICKHOUSE_MCP_MAX_WORKERS=<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>",
"ghcr.io/clickhouse/mcp-clickhouse:0.7.0"
],
"env": {
"CLICKHOUSE_HOST": "<YOUR_CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<YOUR_CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<YOUR_CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<YOUR_CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<YOUR_CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<YOUR_CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CA_CERT": "<YOUR_CLICKHOUSE_CA_CERT>",
"CLICKHOUSE_CLIENT_CERT": "<YOUR_CLICKHOUSE_CLIENT_CERT>",
"CLICKHOUSE_CLIENT_CERT_KEY": "<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"CLICKHOUSE_TLS_MODE": "<YOUR_CLICKHOUSE_TLS_MODE>",
"CLICKHOUSE_DATABASE": "<YOUR_CLICKHOUSE_DATABASE>",
"CLICKHOUSE_ROLE": "<YOUR_CLICKHOUSE_ROLE>",
"CLICKHOUSE_ALLOW_WRITE_ACCESS": "<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"CLICKHOUSE_ALLOW_DROP": "<YOUR_CLICKHOUSE_ALLOW_DROP>",
"CLICKHOUSE_MCP_QUERY_TIMEOUT": "<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"CLICKHOUSE_MCP_MAX_WORKERS": "<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"clickhouse-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CLICKHOUSE_HOST=<YOUR_CLICKHOUSE_HOST>",
"-e",
"CLICKHOUSE_USER=<YOUR_CLICKHOUSE_USER>",
"-e",
"CLICKHOUSE_PASSWORD=<YOUR_CLICKHOUSE_PASSWORD>",
"-e",
"CLICKHOUSE_PORT=<YOUR_CLICKHOUSE_PORT>",
"-e",
"CLICKHOUSE_SECURE=<YOUR_CLICKHOUSE_SECURE>",
"-e",
"CLICKHOUSE_VERIFY=<YOUR_CLICKHOUSE_VERIFY>",
"-e",
"CLICKHOUSE_CA_CERT=<YOUR_CLICKHOUSE_CA_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT=<YOUR_CLICKHOUSE_CLIENT_CERT>",
"-e",
"CLICKHOUSE_CLIENT_CERT_KEY=<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"-e",
"CLICKHOUSE_TLS_MODE=<YOUR_CLICKHOUSE_TLS_MODE>",
"-e",
"CLICKHOUSE_DATABASE=<YOUR_CLICKHOUSE_DATABASE>",
"-e",
"CLICKHOUSE_ROLE=<YOUR_CLICKHOUSE_ROLE>",
"-e",
"CLICKHOUSE_ALLOW_WRITE_ACCESS=<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"-e",
"CLICKHOUSE_ALLOW_DROP=<YOUR_CLICKHOUSE_ALLOW_DROP>",
"-e",
"CLICKHOUSE_MCP_QUERY_TIMEOUT=<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"-e",
"CLICKHOUSE_MCP_MAX_WORKERS=<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>",
"ghcr.io/clickhouse/mcp-clickhouse:0.7.0"
],
"env": {
"CLICKHOUSE_HOST": "<YOUR_CLICKHOUSE_HOST>",
"CLICKHOUSE_USER": "<YOUR_CLICKHOUSE_USER>",
"CLICKHOUSE_PASSWORD": "<YOUR_CLICKHOUSE_PASSWORD>",
"CLICKHOUSE_PORT": "<YOUR_CLICKHOUSE_PORT>",
"CLICKHOUSE_SECURE": "<YOUR_CLICKHOUSE_SECURE>",
"CLICKHOUSE_VERIFY": "<YOUR_CLICKHOUSE_VERIFY>",
"CLICKHOUSE_CA_CERT": "<YOUR_CLICKHOUSE_CA_CERT>",
"CLICKHOUSE_CLIENT_CERT": "<YOUR_CLICKHOUSE_CLIENT_CERT>",
"CLICKHOUSE_CLIENT_CERT_KEY": "<YOUR_CLICKHOUSE_CLIENT_CERT_KEY>",
"CLICKHOUSE_TLS_MODE": "<YOUR_CLICKHOUSE_TLS_MODE>",
"CLICKHOUSE_DATABASE": "<YOUR_CLICKHOUSE_DATABASE>",
"CLICKHOUSE_ROLE": "<YOUR_CLICKHOUSE_ROLE>",
"CLICKHOUSE_ALLOW_WRITE_ACCESS": "<YOUR_CLICKHOUSE_ALLOW_WRITE_ACCESS>",
"CLICKHOUSE_ALLOW_DROP": "<YOUR_CLICKHOUSE_ALLOW_DROP>",
"CLICKHOUSE_MCP_QUERY_TIMEOUT": "<YOUR_CLICKHOUSE_MCP_QUERY_TIMEOUT>",
"CLICKHOUSE_MCP_MAX_WORKERS": "<YOUR_CLICKHOUSE_MCP_MAX_WORKERS>"
}
}
}
}Let your agent find its tools
Find servers like ClickHouse MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.