ClickHouse

by headcrab

Not rated
GitHub

About

Connects Claude to ClickHouse databases for direct query execution and data retrieval from time-series data, analytics datasets, or large-scale data warehouses without leaving the conversation interface.

Details

Author
headcrab
Repository
Headcrab/clickhouse-mcp
License
MIT License
Categories
Productivity, Developer Tools, Design, AI, Search, Database, Frontend, Infrastructure, Security

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ClickHouse
    Command (node, npx, python, etc.) /path/to/clickhouse-mcp
    Arguments
    • Argument 1 -transport
    • Argument 2 stdio
    • Argument 3 -url
    • Argument 4 localhost:9000/default
    • Argument 5 -user
    • Argument 6 default
    • Argument 7 -password
    • Argument 8 clickhouse

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

get_databases

Retrieve a list of databases.

get_tables

Retrieve a list of tables in a specified database. Parameters: database (string)

get_schema

Retrieve the schema of a specified table in a specified database. Parameters: database (string), table (string)

query

Execute an SQL query. Parameters: query (string), limit (optional integer)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "clickhouse": {
            "env": {},
            "args": [
                "-transport",
                "stdio",
                "-url",
                "localhost:9000/default",
                "-user",
                "default",
                "-password",
                "clickhouse"
            ],
            "command": "/path/to/clickhouse-mcp"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-transport",
        "stdio",
        "-url",
        "localhost:9000/default",
        "-user",
        "default",
        "-password",
        "clickhouse"
    ],
    "command": "/path/to/clickhouse-mcp"
}

Macos

{
    "env": [],
    "args": [
        "-transport",
        "stdio",
        "-url",
        "localhost:9000/default",
        "-user",
        "default",
        "-password",
        "clickhouse"
    ],
    "command": "/path/to/clickhouse-mcp"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "/path/to/clickhouse-mcp",
        "-transport",
        "stdio",
        "-url",
        "localhost:9000/default",
        "-user",
        "default",
        "-password",
        "clickhouse"
    ],
    "command": "cmd"
}

ClickHouse MCP Server

Go Version
License

Нормальный MCP-сервер для ClickHouse с безопасными дефолтами, stdio и SSE, Docker-запуском и read-only режимом по умолчанию.

Что умеет

- показать список баз данных;
- показать таблицы в базе;
- показать схему таблицы;
- выполнить SQL через MCP-инструмент query;
- работать через stdio и SSE;
- запускаться локально, в Docker и в docker compose.

Что важно про безопасность

- По умолчанию сервер работает в read-only режиме.
- INSERT, ALTER, CREATE, DROP, TRUNCATE, RENAME, OPTIMIZE, SYSTEM, GRANT, REVOKE и другие write/admin запросы запрещены, пока не включен --allow-write.
- Для SELECT без LIMIT сервер сам добавляет лимит по умолчанию.
- --secure теперь реально включает TLS с проверкой сертификата.
- Если нужен небезопасный TLS для dev/self-host, включайте отдельно --insecure-skip-verify.

Быстрый старт

Сборка

go build -o clickhouse-mcp

Запуск через stdio

./clickhouse-mcp \
  -transport stdio \
  -url localhost:9000/default \
  -user default \
  -password clickhouse

Запуск через SSE

./clickhouse-mcp \
  -transport sse \
  -port 8082 \
  -public-base-url http://localhost:8082 \
  -url localhost:9000/default \
  -user default \
  -password clickhouse

Тестовый режим

./clickhouse-mcp -test

Он печатает реальные примеры tools/call, которые можно слать MCP-клиенту.

Docker

Один контейнер

docker build -t clickhouse-mcp .

docker run --rm -p 8082:8082 \
-e CLICKHOUSE_MCP_TRANSPORT=sse \
-e CLICKHOUSE_MCP_PORT=8082 \
-e CLICKHOUSE_MCP_PUBLIC_BASE_URL=http://localhost:8082 \
-e CLICKHOUSE_MCP_URL=host.docker.internal:9000/default \
-e CLICKHOUSE_MCP_USER=default \
-e CLICKHOUSE_MCP_PASSWORD=clickhouse \
clickhouse-mcp

Если ClickHouse стоит на хосте Linux, добавьте --add-host=host.docker.internal:host-gateway.
Для Docker-сценариев у default должен быть задан пароль: без него официальный образ ClickHouse режет сетевой доступ к этому пользователю.

Docker Compose

docker compose up -d

По умолчанию compose поднимает:

- clickhouse на 9000 и 8123;
- clickhouse-mcp на 8082.
- логин ClickHouse: default
- пароль ClickHouse: clickhouse

Healthcheck MCP:

```text

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.