Claude CodeとSlackをMCP(Model Context Protocol)経由で連携すれば、Slackチャンネルに投稿されたバグ報告を自動で取得し、コード修正からPull Request作成までを一気通貫で実行できます。従来は「Slack確認→Issue起票→コード修正→PR作成→レビュー依頼」と5ステップかかっていた作業が、Claude Codeへの1回の指示で完了します。
この記事でわかること
Slackに投稿されたバグ報告や問い合わせを、Claude Codeが自動で拾い上げてコード修正やPR作成まで実行する仕組みを解説します。MCP連携の設定からセキュリティ対策まで、実務で即使えるパターンを紹介します。
- Claude CodeとSlackをMCP経由で接続する具体的な設定手順がわかる — 従来のSlackBot開発では、OAuth認証フロー・イベントサブスクリプション・Webhook受信サーバーの構築が必要でした。
- Slackメッセージを起点にした自動化フローの全体像を把握できる — SlackMCP連携の効果は、ClaudeCodeの他の機能と組み合わせることで飛躍的に高まります。
- バグ報告→コード修正→PR作成の自動化パターンを実装できる — 開発チームで最も効果が高い活用パターンです。
- Slack連携で実現できる3つの実務活用パターンを学べる
- 連携時のセキュリティ上の注意点とベストプラクティスを理解できる — SlackBotTokenはプロジェクトのに記述しますが、このファイルをGitリポジトリにコミットしないように必ず追加してください。
対象読者: SlackとGitHubを日常的に使っている開発チームのエンジニア・テックリード
Slack MCP連携とは
Slack MCP連携とは、Claude CodeからSlack APIをModel Context Protocol(MCP)経由で呼び出す仕組みです。MCPサーバーがSlack APIとの認証・通信を仲介するため、Claude Codeは統一されたインターフェースでSlackのチャンネル読み取り・メッセージ投稿・スレッド返信などを実行できます。
従来のSlack Bot開発では、OAuth認証フロー・イベントサブスクリプション・Webhook受信サーバーの構築が必要でした。MCP連携では、MCPサーバーの設定ファイルにSlackトークンを記述するだけで、Claude Codeがリアルタイムにチャンネルの情報を取得し、メッセージの送信やスレッドへの返信を行えます。
MCPの基本概念については「Claude Code × MCP連携ガイド|社内システムとAIを接続する設定手順と活用パターン」で詳しく解説しています。
| 比較項目 |
従来のSlack Bot開発 |
Claude Code × Slack MCP連携 |
| 初期構築 |
OAuth実装・サーバー構築が必要 |
MCP設定ファイルの追記のみ |
| 認証管理 |
トークン管理コードを自前実装 |
MCPサーバーが一元管理 |
| メッセージ処理 |
イベントハンドラーを個別実装 |
Claude Codeが自然言語で処理 |
| カスタマイズ |
コード変更→デプロイが必要 |
プロンプトの変更のみ |
| 他ツール連携 |
個別にAPI実装を追加 |
MCPサーバーを追加するだけ |
| 保守コスト |
高い(サーバー運用・API変更対応) |
低い(MCP標準に準拠) |
基本的な使い方
Step 1: Slack MCPサーバーの追加
Claude Codeのセッション内で /mcp コマンドを使い、Slack MCPサーバーを追加します。
# Claude Codeセッション内で実行
/mcp add slack
MCPサーバーの設定は .mcp.json(プロジェクトルート)または ~/.claude/mcp.json(グローバル設定)に記述されます。Slack MCPサーバーの設定例は以下の通りです。
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@anthropic/slack-mcp"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx",
"SLACK_TEAM_ID": "T0XXXXXXXXX"
}
}
}
}
SLACK_BOT_TOKEN はSlack App管理画面の「OAuth & Permissions」から取得します。必要なスコープは channels:read、channels:history、chat:write、users:read です。
Step 2: 接続確認
設定後、Claude Codeで以下のように指示するだけで接続を確認できます。
#general チャンネルの最新10件のメッセージを取得して
Claude Codeが正常にSlack MCPサーバーと通信できていれば、チャンネルのメッセージ一覧が表示されます。エラーが出る場合は、トークンのスコープ設定やチャンネルIDの確認を行ってください。
Step 3: バグ報告チャンネルの監視と自動対応
実務での典型的なフローは、特定チャンネル(例: #bug-reports)のメッセージを取得し、内容を解析してコード修正を行うパターンです。
#bug-reports チャンネルの未対応メッセージを確認して、
対応可能なバグがあればコードを修正してPRを作成して
Claude Codeは以下の処理を順番に実行します。
- Slack MCPサーバー経由で
#bug-reports のメッセージを取得
- メッセージ内容を解析し、再現手順・エラーメッセージ・該当ファイルを特定
- コードベースを検索して該当箇所を修正
- テストを実行して修正の妥当性を確認
- Git操作でブランチ作成・コミット・PR作成
- Slackスレッドに対応結果を返信
実務での活用パターン
パターン1: バグ報告→自動修正→PR作成
開発チームで最も効果が高い活用パターンです。QAチームやCSチームがSlackに報告したバグを、Claude Codeが自動で修正してPull Requestまで作成します。
Before(従来フロー)
- QAがSlackにバグ報告を投稿(5分)
- エンジニアがSlackを確認して内容を把握(10分)
- GitHubにIssueを起票(5分)
- ブランチを作成してコード修正(30分〜2時間)
- テスト実行・PR作成(15分)
- Slackで対応完了を報告(5分)
合計: 1時間10分〜2時間40分
After(Claude Code × Slack連携)
- QAがSlackにバグ報告を投稿(5分)
- Claude Codeに「#bug-reportsの最新バグを対応して」と指示(1分)
- Claude Codeが自動でコード修正・テスト・PR作成・Slack返信(10〜30分)
合計: 16〜36分(最大75%削減)
具体的な指示の例は以下の通りです。
#bug-reports の最新メッセージを確認して。
「ログイン画面で500エラー」という報告があれば、
以下の手順で対応して:
1. エラーの原因箇所を特定
2. 修正ブランチ fix/login-500-error を作成
3. コードを修正
4. テストを実行して問題がないことを確認
5. PRを作成(タイトルに「fix: ログイン画面の500エラーを修正」を含める)
6. #bug-reports のスレッドに対応結果を返信
パターン2: 日次レポート自動収集・要約
複数チャンネルに散在する情報を自動で収集し、要約レポートを生成するパターンです。プロジェクトマネージャーやチームリーダーに特に効果的です。
Before(従来フロー)
- 各チャンネル(#dev、#design、#marketing)を巡回して確認(20分)
- 重要な投稿をコピーしてドキュメントにまとめる(15分)
- チームの進捗状況をスプレッドシートに記入(10分)
合計: 45分/日
After(Claude Code × Slack連携)
以下のチャンネルから今日の投稿を取得して、
チーム別の進捗サマリーをMarkdownで作成して:
- #dev-frontend
- #dev-backend
- #design
- #marketing
出力形式:
- チャンネル別の主要トピック(3行以内)
- ブロッカー・課題の一覧
- 明日のアクションアイテム
合計: 5分(89%削減)
パターン3: カスタマーサポート起点のプロダクト改善
CSチームがSlackに投稿する顧客フィードバックを分析し、プロダクト改善のインサイトを抽出するパターンです。Claude Codeを使った経営データの可視化やコンテンツマーケティングにも、こうした考え方が活かされています。
Before(従来フロー)
- CSチームが
#cs-feedback に顧客の声を投稿(随時)
- PMが週次で全投稿を確認してカテゴライズ(1時間)
- 改善要望をJira/Linearにチケット化(30分)
- 優先度を判断して開発ロードマップに反映(30分)
合計: 2時間/週
After(Claude Code × Slack連携)
#cs-feedback の今週の投稿を全て取得して、以下の分析を行って:
1. フィードバックをカテゴリ別に分類(UX改善/バグ/機能要望/パフォーマンス)
2. 各カテゴリの件数と代表的な声を3件ずつ抽出
3. 対応優先度を「影響ユーザー数 × 重要度」で判定
4. 分析結果をMarkdownレポートとして出力
合計: 15分/週(87%削減)
関連コマンドとの組み合わせ
Slack MCP連携の効果は、Claude Codeの他の機能と組み合わせることで飛躍的に高まります。
GitHub連携との組み合わせ
Slackのバグ報告を起点に、GitHubのIssue作成・ブランチ作成・PR作成・マージまでを一気通貫で実行できます。Claude CodeはGitHub CLIをネイティブに操作できるため、MCP設定なしでGit操作が可能です。
#bug-reports の未対応メッセージを確認して、
それぞれについてGitHub Issueを作成し、
修正PRも同時に作成して。
PRの説明にはSlackメッセージのリンクを含めて。
CLAUDE.mdとの連携
プロジェクトの CLAUDE.md にSlack連携のルールを記述しておくと、チームメンバー全員が同じフローで自動化を利用できます。
# Slack連携ルール
- バグ修正PRのブランチ名: fix/{slack-thread-ts}-{概要}
- PRタイトルに必ず「fix:」プレフィックスを付ける
- 修正完了後、Slackスレッドに結果を返信する
- #cs-feedback の分析は毎週月曜に実行する
CLAUDE.mdの設計パターンについては「Claude CodeのCLAUDE.md設計パターン」で詳しく解説しています。
カスタムスラッシュコマンドとの組み合わせ
頻繁に使うSlack連携フローは、Claude Codeのカスタムスラッシュコマンドとして登録すると便利です。
# .claude/commands/slack-bug-triage.md
#bug-reports チャンネルの未対応メッセージを取得し、
各報告に対して以下を実行してください:
1. バグの再現可能性を判断
2. 該当コードの特定
3. 修正可能なものはPRを作成
4. Slackスレッドに対応結果を返信
# 実行時
/slack-bug-triage
カスタムコマンドの詳細は「Claude Codeカスタムスラッシュコマンド完全ガイド」をご覧ください。
セキュリティと運用上の注意点
トークンの管理
Slack Bot Tokenはプロジェクトの .mcp.json に記述しますが、このファイルをGitリポジトリにコミットしないよう .gitignore に必ず追加してください。チーム共有が必要な場合は、環境変数経由でトークンを渡す設計にします。
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@anthropic/slack-mcp"],
"env": {
"SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
"SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
}
}
}
}
最小権限の原則
Slack Appに付与するスコープは、必要最小限にとどめます。バグ報告チャンネルの読み取りとスレッド返信だけが必要なら、channels:read・channels:history・chat:write の3つに限定してください。admin 系スコープや files:write は、明確な用途がない限り付与しません。
MCPサーバーの無効化
Slack連携を使わない作業中は、MCPサーバーを無効化することでトークン消費を抑制できます。
# 一時的に無効化
/mcp disable slack
# 必要になったら再有効化
/mcp enable slack
あわせて読みたい
まとめ
Claude Code × Slack MCP連携の要点を整理します。
.mcp.jsonにSlack MCP設定を追記するだけで連携が始まり、バグ報告→自動解析→PR作成が自動化できる
- 従来5ステップ・最大2時間40分かかったバグ対応フローが、MCP連携で16〜36分に短縮される
- 日次レポート自動生成・顧客フィードバック分類など、バグ対応以外のSlack→Claude連携にも応用できる
- 安全性の担保として「Claude CodeはPR作成まで」「マージはCI/CDテスト通過と人間レビューが必須」という原則を崩さないこと
まず試すべきアクション: バグ報告チャンネルのMCPトリアージから着手し、自動化の効果を測定してから対象範囲を拡大する戦略がリスクを最小化します。
よくある質問(FAQ)
Q1: Slack MCPサーバーはプライベートチャンネルにもアクセスできますか?
はい、Slack Bot Tokenに groups:read と groups:history のスコープを付与すれば、Botが参加しているプライベートチャンネルのメッセージも取得できます。ただし、Botをプライベートチャンネルに招待する操作が別途必要です。セキュリティの観点から、アクセスするチャンネルは業務上必要なものに限定してください。
Q2: Slackのメッセージを起点にした自動化で、誤ったコード修正が行われるリスクはありませんか?
Claude Codeが生成するPull Requestは、最終的に人間のレビューを経てマージされます。自動化はあくまで「PRの作成まで」であり、マージの判断は開発者が行います。さらに、CI/CDパイプラインのテストが通らなければマージできない仕組みにしておくことで、誤った修正が本番環境に反映されるリスクを最小化できます。Claude CodeのCI/CD連携については「Claude Code × CI/CD自動化」をご覧ください。
Q3: 無料プランのSlackワークスペースでもMCP連携は使えますか?
Slack APIの利用自体は無料プランでも可能です。ただし、無料プランではメッセージの保存期間が90日に制限されているため、過去の履歴を遡って分析する用途には制約があります。また、Slack Appのインストールにはワークスペースの管理者権限が必要です。チームの規模や用途に応じて、Slack Proプラン以上の利用を検討してください。