エンジニアリングをしていると、「なぜ現在こうなっているか」について調べたくなることがよくある。コードを読んでも、なぜその設計判断がされたのか、なぜその仕様になっているのかが分からないことが多い。
歴史的経緯はコミットログ、GitHub Pull Request、Slackでの議論などに残っていることが多い。これらの情報を組み合わせることで、コードには表れない設計判断の背景や仕様決定の経緯、トラブルシューティングの過程などを発見できる。
しかし、Slackから過去の議論を探すのは結構大変だ。なぜなら
- 解決のための適切な検索クエリを見つけるのが大変
- 検索結果から今ほしい情報を見つけるのが大変
- AIを活用しようにも、コミットログやGitHub Pull Requestと違い、Slackの情報をAIエージェントが直接扱えるやり方が少ない
そこでAIエージェントを使って歴史的経緯を発見しやすくするため、Slackでの議論を取得できるslack-explorer-mcpというMCPサーバーを作ったところ、歴史的経緯を追いかけるのが捗りまくっている。今回はその紹介をしたい。
https://github.com/shibayu36/slack-explorer-mcp
slack-explorer-mcpとは
slack-explorer-mcpは、Slack User Tokenを使用してSlackのメッセージやスレッド情報を取得することに特化したMCPサーバーだ。Claude Code、Claude Desktop、CursorなどのMCP対応AIエージェントから利用できる。
主な機能はこちら。
- メッセージ検索(チャンネル、ユーザー、日付範囲、リアクションやファイル有無などの高度なフィルタリング)
- Slack 内で検索するで使える機能は大体使える
- スレッドの返信の取得
- ユーザー情報の取得(User IDから情報取得、Display nameから情報取得)
インストールと設定
詳しいインストール方法はREADME_ja.mdを参照してほしい。基本的には、Slack Appを作りUser Tokenを取得して、Claude CodeやCursorなどのMCP対応AIエージェントにMCPサーバーを追加するだけだ。
Dockerが入っているなら、たとえばClaude Codeに導入したい場合、User Tokenを使って以下のコマンドで追加可能。
claude mcp add slack-explorer-mcp -- docker run -i --rm --pull always -e SLACK_USER_TOKEN=xoxp-your-token-here ghcr.io/shibayu36/slack-explorer-mcp:latest
実例1: 歴史的経緯を調べる
実際にどんな場面で役立つか、具体例を紹介する。
BigQueryの特定のテーブルがmaterialized viewとなっている理由を調べる
最近自分が調べていた時「なぜこのBigQueryのテーブルはmaterialized viewになっているんだろう?」という疑問が出た。その時は以下のようなプロンプトでClaude Codeに調査を依頼できる。
BigQueryのhoge_summaryテーブルがmaterialized viewになっている理由を、Slackの議論から調べて。
この時、次のようなプロセスで歴史的経緯を調べてくれた。
- 検索クエリを考え、まずは一度検索をかける
- そのヒット内容から、より詳しく調べるための検索クエリを作り、さらに何度か検索
- スレッドがヒットしたらその中身も全て読んでいく
このような形で調査を進め、「〜の理由で〜の時期にmaterialized viewに変更した」といったまとめを作ってくれた。permalinkを要求すれば実際のログへのリンクも返してくれるため、詳細を確認したければ要求すると良いだろう。
あるSaaSの契約条件がなぜ現在のようになっているか調べる
「なぜこのSaaSは年間契約なんだろう?」「なぜQuota制限がこの数になっているんだろう?」といった疑問もSlackの過去の内容から調査できる。たとえば
ooというSaaSの現在契約しているプランについて、Slackの過去の議論から、なぜ年間契約になっているか、なぜQuota制限がこの数字になっているか調べて
実例2: その他の便利な使い方
今回のツールは「Slack内で検索する」の機能を活用しているため、歴史的経緯を調べる以外にもいろいろな使い方ができる。
- 特定チャンネルの今週のトピックをまとめる
#random チャンネルで、今週話しているトピックを全てまとめて- 指定したチャンネルの今週の会話を分析して、主要なトピックをリストアップしてくれる。週次の振り返りや、チームの動向把握に便利
- 自分が今日誰とどんな話をしたかまとめる
shibayu36が、今日誰とどんな話をしたかまとめて- 指定したユーザーの今日の活動をまとめることができる。日報を書く時や、特定の人の活動をまとめる時に便利
まとめ
slack-explorer-mcpを使うことで、Claude CodeやCursorからSlackの過去の議論を簡単に検索・分析できるようになった。コードには表れない歴史的経緯を知りたい時、チームの活動をまとめたい時など、様々な場面で活用してみてください。かなり便利だと思います。
参考
補足: 他のMCPツールとの違い
Slack用のMCPツールは他にもいくつかあるが、自分のユースケースだといくつか課題があったので今回は新しく作った。
- ubie-oss/slack-mcp-server
- bot視点での操作を色々提供していて多機能
- 情報取得のみに特化しようとするとbotをいろんなチャンネルに入室させる必要があり、今回のように気軽に情報収集したい目的には不便だった
- AIエージェントにSlackbotの操作をさせたい時には便利に使えると思う
- korotovsky/slack-mcp-server
- 今回のツールと同様、情報取得で多機能
- 一方、ブラウザの認証トークンを要求するなど、セキュリティ的にかなり行儀が悪いと感じたので、使いたくなかった