メインコンテンツへスキップ
このガイドでは、SlackBot エージェントの構築方法を学びます。 このボットを使うと、自然言語で Slack から ClickHouse のデータについて直接質問できます。これには ClickHouse MCP serverPydanticAI を使用します。
例のプロジェクトこの例のコードは、examples リポジトリ で確認できます。

前提条件

  • uv がインストールされている必要があります
  • Slack ワークスペースにアクセスできる必要があります
  • Anthropic の API key、または別の LLM プロバイダーの API key が必要です
1

Slack App を作成する

  1. slack.com/apps にアクセスし、Create New App をクリックします。
  2. From scratch を選択し、アプリに名前を付けます。
  3. 使用する Slack ワークスペースを選択します。
2

アプリをワークスペースにインストールする

次に、前のステップで作成したアプリをワークスペースに追加します。 Slack のドキュメントにある “Add apps to your Slack workspace” の手順に従ってください。
3

Slack アプリを設定する

  • App Home に移動します
    • Show TabsMessages Tab で、Allow users to send Slash commands and messages from the messages tab を有効にします
    • Socket Mode に移動します
      • Socket Mode を有効にします
      • 環境変数 SLACK_APP_TOKEN に設定する Socket Mode Handler を控えておきます
    • OAuth & Permissions に移動します
      • 次の Bot Token Scopes を追加します:
        • app_mentions:read
        • assistant:write
        • chat:write
        • im:history
        • im:read
        • im:write
        • channels:history
      • アプリをワークスペースにインストールし、環境変数 SLACK_BOT_TOKEN に設定する Bot User OAuth Token を控えておきます。
    • Event Subscriptions に移動します
      • Events を有効にします
      • Subscribe to bot events で、次を追加します:
        • app_mention
        • assistant_thread_started
        • message:im
      • Save Changes
4

環境変数 (.env) を追加する

プロジェクトのルートに .env ファイルを作成し、以下の環境変数を設定します。 これにより、アプリが ClickHouse の SQL playground に接続できるようになります。
必要に応じて、ClickHouse 関連の変数は独自の ClickHouse server または Cloud インスタンスを使うように変更できます。
5

ボットを使う

  1. ボットを起動します:
  2. Slack で:
    • チャンネルでボットにメンションします: @yourbot Who are the top contributors to the ClickHouse git repo?
    • スレッドでメンション付きで返信します: @yourbot how many contributions did these users make last week?
    • ボットに DM を送ります: Show me all tables in the demo database.
ボットはスレッド内で返信し、必要に応じて それまでのスレッドメッセージをすべてコンテキストとして使用します。スレッドコンテキスト: スレッド内で返信する際、ボットはそれ以前のすべてのメッセージ (現在のメッセージを除く) を読み込み、AI のコンテキストに含めます。ツールの使用: ボットは MCP 経由で利用可能なツール (例: スキーマの検出、SQL の実行) のみを使用し、使用した SQL と、どのように回答を導いたかの要約を常に表示します。
最終更新日 2026年6月12日