メインコンテンツまでスキップ
メインコンテンツまでスキップ

ClickHouse MCPサーバーをClaude Desktopで使用する

このガイドでは、uvを使用してClickHouse MCPサーバーにClaude Desktopを設定し、ClickHouseのサンプルデータセットに接続する方法を説明します。

uvのインストール

このガイドの指示に従うには、uvをインストールする必要があります。
uvを使用したくない場合は、MCP Server構成を更新して代替のパッケージマネージャを使用する必要があります。

Claude Desktopのダウンロード

Claude Desktopアプリをインストールする必要もあり、Claude Desktopのウェブサイトからダウンロードできます。

ClickHouse MCPサーバーの設定

Claude Desktopをインストールしたら、ClickHouse MCPサーバーを設定する時間です。
これは、Claude Desktopの設定ファイルを介して行えます。

このファイルを見つけるには、まず設定ページに移動し(MacではCmd+,)、左側のメニューからDeveloperタブをクリックします。
次に、Edit configボタンをクリックする必要がある次の画面が表示されます:

Claude Desktopの設定

これにより、設定ファイル(claude_desktop_config.json)が含まれているディレクトリに移動します。
そのファイルを最初に開いたときは、以下の内容が含まれている可能性があります:

{
  "mcpServers": {}
}

mcpServers辞書は、MCPサーバーの名前をキーとして受け取り、設定オプションの辞書を値として受け取ります。
たとえば、ClickHouse Playgroundに接続するClickHouse MCPサーバーの設定は次のようになります:

{
  "mcpServers": {
    "mcp-clickhouse": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp-clickhouse",
        "--python",
        "3.10",
        "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"
      }
    }
  }
}

設定を更新したら、変更を適用するためにClaude Desktopを再起動する必要があります。

注意

uvをインストールした方法に応じて、Claude Desktopを再起動する際に次のエラーが発生することがあります:

MCP mcp-clickhouse: spawn uv ENOENT

その場合、commanduvのフルパスに更新する必要があります。たとえば、Cargoを介してインストールした場合は、/Users/<username>/.cargo/bin/uvとなります。

ClickHouse MCPサーバーを使用する

Claude Desktopを再起動したら、Search and toolsアイコンをクリックしてClickHouse MCPサーバーを見つけることができます:

MCPサーバーを見つける

次に、すべてまたは一部のツールを無効にするかどうかを選択できます。

これで、ClickHouse MCPサーバーを使用する結果をもたらすClaudeへの質問を行う準備が整いました。
たとえば、SQLプレイグラウンドで最も興味深いデータセットは何ですか?と尋ねることができます。

Claudeは、MCPサーバーの各ツールを初めて呼び出す際に、その使用を確認するように求めます:

list_databasesツールの使用許可を与える

以下は、ClickHouse MCPサーバーへのいくつかのツール呼び出しを含む会話の一部です:

Claudeの会話