ClickHouse MCP サーバーを Ollama と連携して利用する
本ガイドでは、ClickHouse MCP サーバーを Ollama と組み合わせて使用する方法を説明します。
Ollama のインストール
Ollama は、大規模言語モデル (LLM) をローカル環境で実行するためのライブラリです。 多様なモデルが提供されており、簡単に利用できます。
Mac、Windows、Linux 向けの Ollama は ダウンロードページ から入手できます。
Ollama を起動すると、バックグラウンドでローカルサーバーが起動し、そのサーバーを使ってモデルを実行できます。
または、ollama serve を実行してサーバーを手動で起動することもできます。
インストールが完了したら、次のようにしてモデルをローカルマシンに取得できます。
モデルがまだ存在しない場合は、ローカルマシンに自動的にダウンロードされます。 ダウンロードが完了したら、次のようにモデルを実行できます。
ツールサポートがあるモデル のみが MCP サーバーで動作します。
ダウンロード済みのモデルは、次のように一覧表示できます。
ダウンロードしたモデルに関する詳細情報を確認するには、次のコマンドを使用します。
この出力から、デフォルトの qwen3 モデルにはおよそ80億個のパラメータがあることが分かります。
MCPHost をインストールする
この記事の執筆時点(2025 年 7 月)では、Ollama を MCP サーバーで使用するためのネイティブな機能はありません。 しかし、MCPHost を利用することで、Ollama モデルを MCP サーバー上で実行できます。
MCPHost は Go で実装されたアプリケーションのため、事前にマシンに Go をインストール しておく必要があります。 その後、次のコマンドを実行して MCPHost をインストールできます。
バイナリは ~/go/bin にインストールされるため、そのディレクトリが PATH に含まれていることを確認する必要があります。
ClickHouse MCP サーバーの設定
MCPHost を使用して、YAML または JSON ファイルで MCP サーバーを構成できます。 MCPHost はホームディレクトリ内で、次の順序で設定ファイルを探します:
.mcphost.ymlまたは.mcphost.json(推奨).mcp.ymlまたは.mcp.json(後方互換性のため)
標準的な MCP 設定ファイルで使用されるものと似た構文を使用します。
以下は ClickHouse MCP サーバー設定の例で、~/.mcphost.json ファイルとして保存します:
標準的な MCP 設定ファイルとの主な違いは、type を指定する必要がある点です。
この type は、MCP Server が使用するトランスポートの種類を示します。
local→ stdio トランスポートremote→ ストリーミング対応トランスポートbuiltin→ インプロセス トランスポート
また、以下の環境変数を設定する必要があります。
理論上は、MCP 構成ファイル内の environment キーの下にこれらの変数を指定できるはずですが、実際にはその方法では動作しないことが分かっています。
MCPHost の実行
ClickHouse MCP サーバーの設定が完了したら、次のコマンドで MCPHost を起動できます:
また、特定の設定ファイルを使用させたい場合は、次のように実行します:
--model を指定しない場合、MCPHost は環境変数 ANTHROPIC_API_KEY を参照し、anthropic:claude-sonnet-4-20250514 モデルを使用します。
次のような出力が表示されます:
/servers コマンドを使用して、MCP サーバーの一覧を表示できます:
また、/tools を使用して、利用可能なツールを一覧表示できます:
その後、ClickHouse SQL playground で利用可能なデータベースやテーブルについて、モデルに質問できます。
弊社の経験では、小さいモデルを使用する場合(デフォルトの qwen3 モデルは 80 億パラメータ)、モデルに実行させたい内容をより具体的に指示する必要があります。 例えば、最初から特定のテーブルに対するクエリを依頼するのではなく、まずデータベースとテーブルの一覧を出すように明示的に依頼する必要があります。 より大きなモデル(例: qwen3:14b)を使用することで、この問題をある程度軽減できますが、コンシューマ向けハードウェア上では動作が遅くなります。