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の内容を読み込ませたい時に活用してみてほしい。