Skip to main content
Glama
ClickHouse

mcp-clickhouse

Official
by ClickHouse

ClickHouse MCPサーバー

PyPI - バージョン

ClickHouse 用の MCP サーバー。

特徴

ツール

  • run_select_query

    • ClickHouse クラスターで SQL クエリを実行します。

    • 入力: sql (文字列): 実行する SQL クエリ。

    • すべての ClickHouse クエリは、安全性を確保するためにreadonly = 1で実行されます。

  • list_databases

    • ClickHouse クラスター上のすべてのデータベースを一覧表示します。

  • list_tables

    • データベース内のすべてのテーブルを一覧表示します。

    • 入力: database (文字列): データベースの名前。

Related MCP server: MCP Alchemy

構成

  1. 次の場所にある Claude Desktop 構成ファイルを開きます。

    • macOSの場合: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows の場合: %APPDATA%/Claude/claude_desktop_config.json

  2. 以下を追加します。

{ "mcpServers": { "mcp-clickhouse": { "command": "uv", "args": [ "run", "--with", "mcp-clickhouse", "--python", "3.13", "mcp-clickhouse" ], "env": { "CLICKHOUSE_HOST": "<clickhouse-host>", "CLICKHOUSE_PORT": "<clickhouse-port>", "CLICKHOUSE_USER": "<clickhouse-user>", "CLICKHOUSE_PASSWORD": "<clickhouse-password>", "CLICKHOUSE_SECURE": "true", "CLICKHOUSE_VERIFY": "true", "CLICKHOUSE_CONNECT_TIMEOUT": "30", "CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "30" } } } }

独自の ClickHouse サービスを指すように環境変数を更新します。

または、 ClickHouse SQL Playgroundで試してみたい場合は、次の設定を使用できます。

{ "mcpServers": { "mcp-clickhouse": { "command": "uv", "args": [ "run", "--with", "mcp-clickhouse", "--python", "3.13", "mcp-clickhouse" ], "env": { "CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com", "CLICKHOUSE_PORT": "8443", "CLICKHOUSE_USER": "demo", "CLICKHOUSE_PASSWORD": "", "CLICKHOUSE_SECURE": "true", "CLICKHOUSE_VERIFY": "true", "CLICKHOUSE_CONNECT_TIMEOUT": "30", "CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "30" } } } }
  1. uvのコマンドエントリを見つけ、 uv実行ファイルへの絶対パスに置き換えます。これにより、サーバーの起動時に正しいバージョンのuvが使用されるようになります。Macでは、 which uvでこのパスを確認できます。

  2. 変更を適用するには、Claude Desktop を再起動します。

発達

  1. test-servicesディレクトリでdocker compose up -dを実行して ClickHouse クラスターを起動します。

  2. リポジトリのルートにある.envファイルに次の変数を追加します。

注: このコンテキストでの

CLICKHOUSE_HOST=localhost CLICKHOUSE_PORT=8123 CLICKHOUSE_USER=default CLICKHOUSE_PASSWORD=clickhouse
  1. uv syncを実行して依存関係をインストールします。uvをインストールするにはuvこちらの手順に従ってください。その後、 source .venv/bin/activate実行してください。

  2. 簡単にテストするには、 mcp dev mcp_clickhouse/mcp_server.pyを実行して MCP サーバーを起動できます。

環境変数

ClickHouse 接続を構成するには、次の環境変数が使用されます。

必須変数

  • CLICKHOUSE_HOST : ClickHouseサーバーのホスト名

  • CLICKHOUSE_USER : 認証用のユーザー名

  • CLICKHOUSE_PASSWORD : 認証用のパスワード

[!注意] MCPデータベースユーザーを、データベースに接続する他の外部クライアントと同様に扱い、操作に必要な最小限の権限のみを付与することが重要です。デフォルトユーザーや管理者ユーザーの使用は、常に厳重に避けてください。

オプション変数

  • CLICKHOUSE_PORT : ClickHouseサーバーのポート番号

    • デフォルト: HTTPS が有効な場合は8443 、無効な場合は8123

    • 非標準ポートを使用しない限り、通常は設定する必要はありません

  • CLICKHOUSE_SECURE : HTTPS接続を有効/無効にする

    • デフォルト: "true"

    • 安全でない接続の場合は"false"に設定

  • CLICKHOUSE_VERIFY : SSL証明書検証を有効/無効にする

    • デフォルト: "true"

    • 証明書の検証を無効にするには"false"に設定します(本番環境では推奨されません)

  • CLICKHOUSE_CONNECT_TIMEOUT : 接続タイムアウト(秒)

    • デフォルト: "30"

    • 接続タイムアウトが発生する場合はこの値を増やしてください

  • CLICKHOUSE_SEND_RECEIVE_TIMEOUT : 送受信タイムアウト(秒)

    • デフォルト: "300"

    • 長時間実行されるクエリの場合はこの値を増やします

  • CLICKHOUSE_DATABASE : 使用するデフォルトのデータベース

    • デフォルト: なし (サーバーのデフォルトを使用)

    • 特定のデータベースに自動的に接続するにはこれを設定します

構成例

Docker を使用したローカル開発の場合:

# Required variables CLICKHOUSE_HOST=localhost CLICKHOUSE_USER=default CLICKHOUSE_PASSWORD=clickhouse # Optional: Override defaults for local development CLICKHOUSE_SECURE=false # Uses port 8123 automatically CLICKHOUSE_VERIFY=false

ClickHouse Cloudの場合:

# Required variables CLICKHOUSE_HOST=your-instance.clickhouse.cloud CLICKHOUSE_USER=default CLICKHOUSE_PASSWORD=your-password # Optional: These use secure defaults # CLICKHOUSE_SECURE=true # Uses port 8443 automatically # CLICKHOUSE_DATABASE=your_database

ClickHouse SQL Playgroundの場合:

CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com CLICKHOUSE_USER=demo CLICKHOUSE_PASSWORD= # Uses secure defaults (HTTPS on port 8443)

これらの変数は、環境、 .envファイル、または Claude Desktop 構成で設定できます。

{ "mcpServers": { "mcp-clickhouse": { "command": "uv", "args": [ "run", "--with", "mcp-clickhouse", "--python", "3.13", "mcp-clickhouse" ], "env": { "CLICKHOUSE_HOST": "<clickhouse-host>", "CLICKHOUSE_USER": "<clickhouse-user>", "CLICKHOUSE_PASSWORD": "<clickhouse-password>", "CLICKHOUSE_DATABASE": "<optional-database>" } } } }

テストの実行

uv sync --all-extras --dev # install dev dependencies uv run ruff check . # run linting docker compose up -d test_services # start ClickHouse uv run pytest tests

YouTubeの概要

ユーチューブ

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ClickHouse/mcp-clickhouse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server