$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

slack-explorer-mcpにファイル検索とcanvas取得機能を追加ました

slack-explorer-mcpは、SlackのメッセージやスレッドをAIエージェントから検索・取得できるMCPサーバーだ。「なぜこの設計になっているか」などの歴史的経緯をSlackから調べる時などに便利。詳しくはAIでSlackから歴史的経緯を追いかけやすくしよう - slack-explorer-mcpを作ったを参照。

今回、Slack上に添付されたファイルやcanvasの内容もAIエージェントに読ませやすくするため、search_filesツールとget_canvas_contentツールを追加した。

search_filesツール

Slack内のcanvas、PDF、画像などのファイルを検索できるツール。ファイルタイプ、チャンネル、ユーザー、日付範囲でフィルタリングが可能となっている。

slack-explorer-mcpを導入していれば、たとえば以下のような使い方でSlack上のファイルを検索できる。

  • 「dev-teamチャンネルで共有されたPDFを検索して」
  • 「設計書という内容が書かれたcanvasを検索して」

get_canvas_contentツール

canvas IDを指定してHTMLコンテンツを取得するツール。一括で最大20件まで取得できる。

Slack canvasの内容もAIに読ませたかったのだが、ファイル検索では中身が取得できない。中身をダウンロードする必要があるが、ファイル形式によってAIに読み込ませやすい方法が異なるため、いったんcanvasのみ対応した。

canvasの中身を取得するとHTMLが返ってくる。元々のcanvasのHTMLには不要なID属性やスタイル情報が大量に含まれていてトークン効率が悪かったため、自動的に不要な属性を削除してから返すようにした。これによりAIに渡すときのトークン消費を抑えられる。

たとえば以下のような使い方ができる。

  • canvasを検索してからその内容を要約させる
  • 特定のcanvasの内容から質問へ回答させる

まとめ

AIエージェント系ツールにslack-explorer-mcpを導入していれば、Slack内のファイル検索とcanvas取得ができるようになった。AIを使ってSlack内のファイル検索をしたり、canvasの内容を読み込ませたい時に活用してみてほしい。

参考