Skip to main content
Glama
burakdirin

clickhouse-mcp-server

by burakdirin

Clickhouse MCPサーバー

鍛冶屋のバッジ

Clickhouse データベース MCP サーバー プロジェクト。

インストール

uvを使用してパッケージをインストールできます。

uv pip install clickhouse-mcp-server

またはpipを使用します:

pip install clickhouse-mcp-server

Related MCP server: ClickHouse MCP Server

コンポーネント

ツール

サーバーは次の 2 つのツールを提供します。

  • connect_database : 特定のClickhouseデータベースに接続します

    • databaseパラメータ: 接続するデータベースの名前(文字列)

    • 接続が成功すると確認メッセージを返します

  • execute_query : Clickhouseクエリを実行する

    • queryパラメータ: 実行する SQL クエリ (文字列)

    • クエリ結果をJSON形式で返します

    • 複数のクエリはセミコロンで区切って送信できます

構成

サーバーは次の環境変数を使用します。

  • CLICKHOUSE_HOST : Clickhouseサーバーのアドレス(デフォルト: "localhost")

  • CLICKHOUSE_USER : Clickhouse のユーザー名 (デフォルト: "root")

  • CLICKHOUSE_PASSWORD : Clickhouseのパスワード(デフォルト: "")

  • CLICKHOUSE_DATABASE : 初期データベース(オプション)

  • CLICKHOUSE_READONLY : 読み取り専用モード(有効にするには 1/true に設定、デフォルト: false)

クイックスタート

インストール

クロードデスクトップ

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "clickhouse-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/burakdirin/Projects/clickhouse-mcp-server",
        "run",
        "clickhouse-mcp-server"
      ],
      "env": {
        "CLICKHOUSE_HOST": "localhost",
        "CLICKHOUSE_USER": "root",
        "CLICKHOUSE_PASSWORD": "password",
        "CLICKHOUSE_DATABASE": "[optional]",
        "CLICKHOUSE_READONLY": "true"
      }
    }
  }
}
{
  "mcpServers": {
    "clickhouse-mcp-server": {
      "command": "uvx",
      "args": [
        "clickhouse-mcp-server"
      ],
      "env": {
        "CLICKHOUSE_HOST": "localhost",
        "CLICKHOUSE_USER": "root",
        "CLICKHOUSE_PASSWORD": "password",
        "CLICKHOUSE_DATABASE": "[optional]",
        "CLICKHOUSE_READONLY": "true"
      }
    }
  }
}

Smithery経由でインストール

Smithery経由でClaude Desktop用のClickhouseデータベース統合サーバーを自動的にインストールするには:

npx -y @smithery/cli install @burakdirin/clickhouse-mcp-server --client claude

発達

建築と出版

配布用のパッケージを準備するには:

  1. 依存関係を同期し、ロックファイルを更新します。

uv sync
  1. パッケージディストリビューションをビルドします。

uv build

これにより、 dist/ディレクトリにソースとホイールのディストリビューションが作成されます。

  1. PyPI に公開:

uv publish

注: 環境変数またはコマンド フラグを使用して PyPI 資格情報を設定する必要があります。

  • トークン: --tokenまたはUV_PUBLISH_TOKEN

  • またはユーザー名/パスワード: --username / UV_PUBLISH_USERNAMEおよび--password / UV_PUBLISH_PASSWORD

デバッグ

MCPサーバーはstdio経由で実行されるため、デバッグが困難になる場合があります。最適なデバッグ環境を実現するには、 MCP Inspectorの使用を強くお勧めします。

次のコマンドを使用して、 npm経由で MCP Inspector を起動できます。

npx @modelcontextprotocol/inspector uv --directory /Users/burakdirin/Projects/clickhouse-mcp-server run clickhouse-mcp-server

起動すると、ブラウザでアクセスしてデバッグを開始できる URL がインスペクタに表示されます。

Available Tools

2 tools
connect_databaseC

Connect to a specific ClickHouse database

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only says 'Connect', omitting details about side effects, authentication requirements, or state changes (e.g., establishing a session).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is effectively concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's role as a connection setter, the description lacks information on prerequisites, return values, or how it interacts with 'execute_query'. It is incomplete for operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description adds no additional meaning beyond the parameter name 'database'. It does not explain valid values or expected format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Connect to a specific ClickHouse database', using a specific verb and resource. It effectively distinguishes from the sibling tool 'execute_query' which presumably runs queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the sibling 'execute_query' or any prerequisites. The description merely states functionality without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_queryC

Execute ClickHouse queries

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description does not disclose whether queries are read-only, safe, or have side effects. Important behavioral details like result handling or error behavior are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but at the expense of necessary detail for a query execution tool. It is too minimal to be considered well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter and no output schema, the description fails to explain what the tool returns or if it just executes. Lacks context about execution environment and limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description adds no information about the 'query' parameter beyond its name. Does not specify expected format (e.g., SQL dialect) or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Execute) and resource (ClickHouse queries). It distinguishes from the sibling tool connect_database, which implies connection setup vs query execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Does not mention prerequisites like a prior connection or whether it is for read or write operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedconnect_database
    • First observedexecute_query

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one for establishing a database connection, the other for executing queries. There is no overlap or ambiguity.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern (connect_database, execute_query), making them predictable and easy to understand.

Tool Count4/5

With only 2 tools, the set is minimal but still covers the essential operations for a database query server. It is slightly thin but reasonable for a focused scope.

Completeness3/5

The tools cover connection and query execution, but lack disconnect, schema inspection, or database management operations. This leaves notable gaps for a full database interaction workflow.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Large Language Models to seamlessly interact with ClickHouse databases, supporting resource listing, schema retrieval, and query execution.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server implementation that enables Claude to execute read-only queries against MariaDB databases and explore database schemas through natural language.
    20
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Production-ready MCP server designed to empower AI agents and LLMs to interact seamlessly with ClickHouse. It exposes your ClickHouse database as a set of standardized tools and resources that adhere to the MCP protocol, making it easy for agents built on OpenAI, Claude, or other platforms to query, explore, and analyse your data.
    37
    -