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

ChainlitとClickHouse MCPサーバーを使用してAIエージェントを構築する方法

このガイドでは、Chainlitの強力なチャットインターフェースフレームワークとClickHouse Model Context Protocol (MCP) サーバーを組み合わせて、インタラクティブなデータアプリケーションを作成する方法を探ります。Chainlitは、最小限のコードでAIアプリケーションの会話インターフェースを構築できる一方、ClickHouse MCPサーバーはClickHouseの高性能な列指向データベースとシームレスに統合します。

前提条件

  • Anthropic APIキーが必要です
  • uvをインストールしておく必要があります

基本的なChainlitアプリ

以下のコマンドを実行することで、基本的なチャットアプリの例を確認できます:

uv run --with anthropic --with chainlit chainlit run chat_basic.py -w -h

次に、http://localhost:8000に移動します。

ClickHouse MCPサーバーの追加

ClickHouse MCPサーバーを追加すると、さらに面白くなります。 uvコマンドを使用できるようにするために、.chainlit/config.tomlファイルを更新する必要があります:

[features.mcp.stdio]
    enabled = true
    # Only the executables in the allow list can be used for MCP stdio server.
    # Only need the base name of the executable, e.g. "npx", not "/usr/bin/npx".
    # Please don't comment this line for now, we need it to parse the executable name.
    allowed_executables = [ "npx", "uvx", "uv" ]
config.toml

完全なconfig.tomlファイルはexamples repositoryで見つけることができます。

ChainlitでMCPサーバーを動作させるためのグルーコードがあるため、Chainlitを起動するためにこのコマンドを実行する必要があります:

uv run --with anthropic --with chainlit chainlit run chat_mcp.py -w -h

MCPサーバーを追加するには、チャットインターフェースのプラグアイコンをクリックし、次にClickHouse SQL Playgroundを使用して接続するための次のコマンドを追加します:

CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com CLICKHOUSE_USER=demo CLICKHOUSE_PASSWORD= CLICKHOUSE_SECURE=true uv run --with mcp-clickhouse --python 3.13 mcp-clickhouse

独自のClickHouseインスタンスを使用する場合は、環境変数の値を調整できます。

次のように質問をしてみることができます:

  • クエリするテーブルについて教えてください
  • ニューヨークのタクシーについての興味深いことは何ですか?