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 にインストールされるため、このディレクトリがパスに含まれていることを確認する必要があります。
ClickHouse MCP サーバーの設定
We can configure MCP Servers with MCPHost in YAML or JSON files. MCPHost は、ホームディレクトリ内の設定ファイルを次の順序で検索します:
.mcphost.ymlまたは.mcphost.json(推奨).mcp.ymlまたは.mcp.json(後方互換性)
標準の MCP 設定ファイルで使用される構文と類似した構文を使用します。
以下は ClickHouse MCP サーバー設定の例で、~/.mcphost.json ファイルに保存します:
標準的な MCP 設定ファイルとの主な違いは、type を指定する必要がある点です。
type は、MCP サーバーが使用するトランスポートタイプを示すために使用されます。
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)を使用することで、この問題をある程度軽減できますが、コンシューマ向けハードウェア上では動作が遅くなります。