Skip to content
VS Code

ClickHouse for VS Code

io.github.clickhouse/mcp-clickhouse

Official ClickHouse MCP server for querying and exploring ClickHouse clusters and chDB.

client:VS Code transport:stdio runtime:pypi

Install ClickHouse in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "clickhouse-host",
      "description": "CLICKHOUSE_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-user",
      "description": "CLICKHOUSE_USER",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-password",
      "description": "CLICKHOUSE_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-port",
      "description": "CLICKHOUSE_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-secure",
      "description": "CLICKHOUSE_SECURE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-verify",
      "description": "CLICKHOUSE_VERIFY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-ca-cert",
      "description": "CLICKHOUSE_CA_CERT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-client-cert",
      "description": "CLICKHOUSE_CLIENT_CERT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-client-cert-key",
      "description": "CLICKHOUSE_CLIENT_CERT_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-tls-mode",
      "description": "CLICKHOUSE_TLS_MODE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-database",
      "description": "CLICKHOUSE_DATABASE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-role",
      "description": "CLICKHOUSE_ROLE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-allow-write-access",
      "description": "CLICKHOUSE_ALLOW_WRITE_ACCESS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-allow-drop",
      "description": "CLICKHOUSE_ALLOW_DROP",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-mcp-query-timeout",
      "description": "CLICKHOUSE_MCP_QUERY_TIMEOUT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "clickhouse-mcp-max-workers",
      "description": "CLICKHOUSE_MCP_MAX_WORKERS",
      "password": true
    }
  ],
  "servers": {
    "mcp-clickhouse": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-clickhouse"
      ],
      "env": {
        "CLICKHOUSE_HOST": "${input:clickhouse-host}",
        "CLICKHOUSE_USER": "${input:clickhouse-user}",
        "CLICKHOUSE_PASSWORD": "${input:clickhouse-password}",
        "CLICKHOUSE_PORT": "${input:clickhouse-port}",
        "CLICKHOUSE_SECURE": "${input:clickhouse-secure}",
        "CLICKHOUSE_VERIFY": "${input:clickhouse-verify}",
        "CLICKHOUSE_CA_CERT": "${input:clickhouse-ca-cert}",
        "CLICKHOUSE_CLIENT_CERT": "${input:clickhouse-client-cert}",
        "CLICKHOUSE_CLIENT_CERT_KEY": "${input:clickhouse-client-cert-key}",
        "CLICKHOUSE_TLS_MODE": "${input:clickhouse-tls-mode}",
        "CLICKHOUSE_DATABASE": "${input:clickhouse-database}",
        "CLICKHOUSE_ROLE": "${input:clickhouse-role}",
        "CLICKHOUSE_ALLOW_WRITE_ACCESS": "${input:clickhouse-allow-write-access}",
        "CLICKHOUSE_ALLOW_DROP": "${input:clickhouse-allow-drop}",
        "CLICKHOUSE_MCP_QUERY_TIMEOUT": "${input:clickhouse-mcp-query-timeout}",
        "CLICKHOUSE_MCP_MAX_WORKERS": "${input:clickhouse-mcp-max-workers}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

ClickHouse in other clients