メインコンテンツへスキップ
Docker Compose を使って Agentic Data Stack 一式をローカルで実行すると、初回ログイン直後からデータについて質問できます。docker compose up コマンド 1 つで、LibreChatClickHouse MCPサーバーClickHouse、そしてオブザーバビリティ向けの Langfuse が起動します。

前提条件

  • Compose プラグイン (Compose v2 以降) を備えた Docker
  • リポジトリをクローンするための Git
  • モデルプロバイダーの API key (OpenAI、Anthropic、Google など) 。質問に回答するには agent にモデルが必要なため、Setup 時に key を指定するか、初回のチャット前に LibreChat UI で追加してください。

スタックを起動する

1

リポジトリをクローンする

git clone https://github.com/ClickHouse/agentic-data-stack
cd agentic-data-stack
このリポジトリにはルートに docker-compose.yml が含まれているため、1 つのコマンドでスタック全体を起動できます。サービスの一覧は Architecture を参照してください。
2

デモ用セットアップスクリプトを実行する

./scripts/prepare-demo.sh
これにより、各サービスの認証情報を含む .env ファイルが生成され、その後、選択した provider の API key を設定するための対話式メニューが表示されます。これらのキーは .env ファイルに直接設定することもできます。設定をスキップした provider は user_provided のままになるため、代わりに LibreChat UI で独自のキーを追加できます。初回起動時には、スタックが .env の内容をもとに admin ユーザーを作成します。デフォルトのログイン情報は admin@admin.com / password です。
prepare-demo.sh を実行する前に、以下の変数を指定して generate-env.sh を実行してください。
USER_EMAIL="you@example.com" USER_PASSWORD="supersecret" USER_NAME="YourName" ./scripts/generate-env.sh
その後、prepare-demo.sh は既存の .env を検出し、API-key の設定に直接進みます。
3

バックグラウンドでサービスを起動する

docker compose up -d
起動順序は自動的に制御されます。LibreChat は MCPサーバー が正常状態になってから起動するため、初回読み込み時点で ClickHouse への接続が利用可能です。
4

LibreChat を開いてサインインする

スタックの起動後、以下のサービスをブラウザから利用できます。.env ファイル内の admin 認証情報を使って LibreChat にサインインしてください。
5

モデルを選択する

モデルはデフォルトで選択されています。変更する場合は、モデル selector を開いて使用するものを選んでください。セットアップ中に provider の key を設定しなかった場合は、UI で追加してください。
モデル selector を開き、provider の横にある Set API Key をクリックします。ダイアログに key を貼り付けて Submit をクリックします。有効期限を設定することも、期限切れにしないこともできます。
6

MCPサーバー を選択する

このスタックでは、LibreChat の librechat.yaml に MCPサーバー があらかじめ設定されています。message composer で MCP Servers をクリックし、ClickHouse-Local を選択してください。ClickHouse Cloud service を使用する場合は、代わりに ClickHouse-Cloud を選択してください。
7

最初の質問をする

たとえば、次のように質問できます。
利用可能な database と table は何ですか。また、最大の table には何行ありますか?
この agent は MCPサーバー のツールを使って database と table を一覧表示し、ClickHouse に対して read-only の queries を実行し、その結果をもとに回答を組み立てます。SQL を書く必要はありません。

スタックを停止またはリセットする

何も削除せずにサービスを停止するには、次のコマンドを実行します。
docker compose down
すべてのコンテナーを削除し、クリーンな状態からやり直せるようにすべてのボリュームを消去するには、スタックのリセットスクリプトを使用します:
./scripts/reset-all.sh

アーキテクチャ

docker-compose.yml は、4つの Compose ファイルを取り込むシンプルなエントリーポイントです。
Compose fileDefines
langfuse-compose.ymlLangfuse とその関連サービス (ClickHouse、PostgreSQL、Redis、MinIO)
clickhouse-mcp-compose.ymlClickHouse MCPサーバー
librechat-compose.ymlLibreChat とその関連サービス (MongoDB、Meilisearch、pgvector、RAG API)
admin-panel-compose.ymlLibreChat Admin Panel
単一コマンドで起動できるのは、次の2つのポイントによるものです。
  • ヘルスチェックと起動順序。 Compose はヘルスチェックを使って起動順を制御します。MCPサーバーは ClickHouse の起動を待ち、LibreChat は MCPサーバーの起動を待ちます。
  • 共有環境ファイル。 .env には各サービスの認証情報と接続情報が格納されており、各サービスが相互に接続できるよう一貫して設定されています。たとえば、MCPサーバーは .env 内の ClickHouse 認証情報を使って ClickHouse に接続します。LibreChat には LANGFUSE_PUBLIC_KEYLANGFUSE_SECRET_KEYLANGFUSE_BASE_URL が渡されるため、すべての実行結果はそのまま Langfuse にトレースされます。
ClickHouse はこのスタックで2つの役割を担います。1つは Langfuse のストレージバックエンド、もう1つはエージェントが MCPサーバー経由でクエリするデータベースです。

次のステップ

  • スタックを構成する各コンポーネントの役割については、ClickHouse MCPサーバーLibreChatLangfuseを参照してください。
  • スタック全体がどのように連携するかについては、概要を参照してください。
  • 何もインストールせずに公開データセットでスタックを試すには、ホスト型デモのAgentHouseを利用してください。
最終更新日 2026年6月25日