これは、ClickHouse に保存されたデータを使ってエージェント型アプリケーションを構築する方法の一例です。 ClickHouse MCPサーバー を使用して ClickHouse のデータをクエリし、そのデータに基づいてチャートを生成します。
CopilotKit は UI を構築し、 ユーザーにチャットインターフェイスを提供するために使用されます。
前提条件
Node.js >= 20.14.0uv >= 0.1.0
依存関係をインストールする
プロジェクトをローカルにクローンします: git clone https://github.com/ClickHouse/examples を実行し、
ai/mcp/copilotkit ディレクトリに移動します。
このセクションはスキップして、依存関係をインストールするには ./install.sh スクリプトを実行してください。依存関係を手動でインストールする場合は、以下の手順に従ってください。
依存関係を手動でインストールする
- 依存関係をインストールします:
npm install を実行して、Node.js の依存関係をインストールします。
- mcp-clickhouse をインストールします:
新しいフォルダー external を作成し、その中に mcp-clickhouse リポジトリをクローンします。
mkdir -p external
git clone https://github.com/ClickHouse/mcp-clickhouse external/mcp-clickhousePython の依存関係をインストールし、fastmcp CLI ツールを追加します。
cd external/mcp-clickhouse
uv sync
uv add fastmcpアプリケーションを設定する
env.example ファイルを .env にコピーし、ANTHROPIC_API_KEY を設定するように編集します。
独自のLLMを使用する
Anthropic ではなく別のLLMプロバイダーを使いたい場合は、 Copilotkitのランタイムを変更して、別のLLMアダプターを使用できます。 こちら に、サポートされている プロバイダーの一覧があります。
独自の ClickHouse クラスターを使用する
デフォルトでは、このサンプルは ClickHouse デモクラスター に接続するように設定されています。以下の環境変数を設定すると、独自の ClickHouse クラスターを使用することもできます。
CLICKHOUSE_HOSTCLICKHOUSE_PORTCLICKHOUSE_USERCLICKHOUSE_PASSWORDCLICKHOUSE_SECURE
アプリケーションを実行する
npm run dev を実行して開発サーバーを起動します。
次のようなプロンプトを使って Agent をテストできます。
"過去 10 年間の Manchester における価格推移を表示してください。"
結果を確認するには、ブラウザで http://localhost:3000 を開きます。