Slack MCP Server実践ガイド——Claude CodeからSlackを自在に操作する
Slack公式のMCP Serverが登場し、Claude CodeやCursorからSlackのメッセージ検索・投稿・Canvas操作が可能になりました。リアルタイムサーチAPIと合わせて、セットアップから業務自動化の実践パターンまでをハンズオン形式で解説します。

はじめに
2026年2月17日、Slackが公式MCP Serverと**リアルタイムサーチAPI(RTS API)**を同時に発表しました。
これまでもサードパーティ製のSlack MCPサーバーは存在しましたが、今回はSlack自身が提供する公式サーバーです。Claude Code、Claude.ai、Cursor、Perplexityといった主要なAIクライアントから、Slackのメッセージ検索・投稿・Canvas操作が直接行えるようになります。
「Slackに聞けばわかる」をAIエージェントが実行できる時代が来ました。
この記事を読み終わると、以下ができるようになります:
- Slack公式MCP Serverの仕組みと提供ツールを理解できる
- Claude CodeからSlackのメッセージ検索・投稿を実行できる
- リアルタイムサーチAPIを使った業務自動化パターンを設計できる
Slack MCP Serverの全体像
何が変わったのか
従来のSlack連携と、MCP Serverによる連携の違いを整理します。
| 項目 | 従来のSlack API連携 | Slack MCP Server |
|---|---|---|
| 開発方法 | REST APIを直接呼び出すコードを書く | AIクライアントが自然言語で操作 |
| 認証 | Bot Token / User Token | OAuth 2.0(MCP標準) |
| 検索 | search.messages API | リアルタイムサーチAPI(より高精度) |
| 対象ユーザー | 開発者のみ | AIツールを使う全エンジニア |
| 導入コスト | 高い(コード実装が必要) | 低い(設定のみ) |
アーキテクチャ
ポイントは、Slack公式がホストするリモートMCP Serverであること。ローカルでMCPサーバーを起動する必要がなく、https://mcp.slack.com/mcp に接続するだけで使えます。
提供されるMCPツール一覧
Slack MCP Serverは、以下4カテゴリのツールを提供します。
| カテゴリ | ツール | 機能 |
|---|---|---|
| 検索 | メッセージ検索 | 日付・ユーザー・コンテンツタイプでフィルタ |
| ファイル検索 | ワークスペース内のファイルを検索 | |
| ユーザー検索 | 名前・メール・ユーザーIDで検索 | |
| チャンネル検索 | パブリック・プライベートチャンネルを検索 | |
| メッセージ | メッセージ送信 | あらゆるタイプの会話に投稿 |
| メッセージドラフト | AIクライアント内でプレビュー | |
| 履歴読み取り | チャンネルの会話履歴を取得 | |
| スレッド読み取り | スレッドの会話を完全に取得 | |
| Canvas | Canvas作成・更新 | Slackキャンバスを操作 |
| Markdownエクスポート | キャンバスをMarkdown形式で取得 | |
| ユーザー | プロフィール取得 | カスタムフィールド・ステータスを含む |
事前準備
必要なもの
| 項目 | 詳細 |
|---|---|
| Slackワークスペース | 管理者権限(アプリ承認のため) |
| Claude Code | 最新版(claude update で更新) |
| Slack App | api.slack.com で作成 |
必要なOAuthスコープ
使いたいツールに応じて、以下のスコープをSlack Appに設定します。
# 検索系
search:read.public # パブリックチャンネルの検索
search:read.private # プライベートチャンネルの検索
search:read.files # ファイル検索
search:read.users # ユーザー検索
# メッセージ系
chat:write # メッセージ送信
channels:history # パブリックチャンネル履歴
groups:history # プライベートチャンネル履歴
# Canvas系
canvases:read # Canvas読み取り
canvases:write # Canvas書き込み
# ユーザー系
users:read # ユーザー情報
users:read.email # メールアドレス
ハンズオン 1: Slack Appの作成とMCP機能の有効化
まずはSlack App側の準備を行います。
Step 1: Slack Appを作成する
- Slack API にアクセスし「Create New App」をクリック
- 「From a manifest」を選択
- ワークスペースを選択
- 以下のマニフェストを貼り付けます
{
"display_information": {
"name": "MCP Bridge",
"description": "Claude CodeからSlackを操作するMCP連携アプリ"
},
"features": {
"bot_user": {
"display_name": "MCP Bridge",
"always_online": true
}
},
"oauth_config": {
"scopes": {
"user": [
"search:read.public",
"search:read.private",
"search:read.files",
"search:read.users",
"chat:write",
"channels:history",
"groups:history",
"canvases:read",
"canvases:write",
"users:read",
"users:read.email"
]
}
}
}
Step 2: MCP機能を有効化する
- 作成したアプリの設定画面を開く
- サイドバーの 「Agents & AI Apps」 セクションに移動
- 「Model Context Protocol」 をオンにする
Step 3: ワークスペースにインストールする
- サイドバーの「Install App」をクリック
- 「Install to Workspace」をクリック
- 権限を確認して承認
これでSlack App側の準備は完了です。
ハンズオン 2: Claude CodeからSlack MCPに接続する
Step 1: Claude Codeの設定にMCPサーバーを追加
Claude Codeの設定ファイルにSlack MCP Serverを追加します。
# Claude Codeの設定ディレクトリに移動
cd ~/.claude
.claude.json または settings.json にMCPサーバーを追加します。
{
"mcpServers": {
"slack": {
"type": "url",
"url": "https://mcp.slack.com/mcp"
}
}
}
ポイントは、URLベースのリモートMCPサーバーであること。ローカルでnpxを使って起動するタイプではなく、Slackが公式にホストしているエンドポイントに接続します。
Step 2: OAuth認証を実行
Claude Codeを起動すると、初回接続時にOAuth認証フローが走ります。
claude
ブラウザが開き、Slackのワークスペースへのアクセス許可を求められます。承認すると、トークンが自動的に保存されます。
Step 3: 接続確認
Claude Codeで以下のように入力して接続を確認します。
Slackの #general チャンネルの最新メッセージを3件教えて
メッセージが返ってくれば接続成功です。
ハンズオン 3: 実務で使えるSlack MCP操作パターン
接続ができたら、実際の業務で使えるパターンを試してみましょう。架空のチーム「DevOps Lab」を想定して進めます。
パターン1: チャンネル横断の情報検索
シナリオ: 先週話題になった「認証機能の仕様変更」について、複数チャンネルでの議論をまとめたい。
Slackで「認証」「仕様変更」に関する先週(2/10〜2/14)のメッセージを
すべてのチャンネルから検索して、チャンネルごとに要点をまとめてください
Claude CodeがリアルタイムサーチAPIを使って以下を実行します。
search:read.public/search:read.privateスコープでメッセージを検索- 日付フィルタで先週の投稿に絞り込み
- チャンネルごとにグルーピングして要約
従来との比較:
| 手順 | 従来(手作業) | MCP Server経由 |
|---|---|---|
| 検索 | Slack検索窓で手動検索 | 自然言語で指示 |
| 横断 | チャンネルを1つずつ切り替え | 全チャンネル一括 |
| 整理 | メモ帳に手動コピペ | 自動でグルーピング&要約 |
| 所要時間 | 約30分 | 約1分 |
パターン2: 開発中の進捗をSlackに投稿
シナリオ: 実装が完了したタイミングで、チームのSlackチャンネルに進捗を報告したい。
以下の内容を #dev-team チャンネルに投稿してください:
実装完了報告:ユーザー検索API
- エンドポイント: GET /api/users/search
- 対応したパラメータ: name, email, role
- テスト: 全12ケースパス
- PR: #142
レビューお願いします。
chat:write スコープを使って、整形されたメッセージがSlackに投稿されます。
パターン3: スレッドの議論を整理してCanvasにまとめる
シナリオ: 長いスレッドでの技術議論をCanvasにまとめて、チームの知見として残したい。
#architecture チャンネルの「キャッシュ戦略について」というスレッドの内容を
すべて読み取り、以下の構成でSlack Canvasを作成してください:
1. 議論の背景
2. 提案された選択肢(Redis / Cloudflare KV / インメモリ)
3. 各選択肢のメリット・デメリット
4. チームの結論
5. 次のアクション
ハンズオン 4: 開発ワークフローに組み込む
ここからが本番です。Claude Codeでの開発作業とSlack連携を組み合わせた実践的なワークフローを構築します。
ワークフロー: Issue → 実装 → Slack通知の一気通貫
架空プロジェクト「KanriPro」の開発を想定します。GitHub Issueを読み、実装し、完了をSlackに通知するフローです。
Claude Codeへの指示例:
GitHub Issue KP-045「ダッシュボードに月次売上グラフを追加」を実装してください。
実装前に、Slackの #kanripro-dev チャンネルで
「ダッシュボード」「グラフ」に関する過去の議論を検索し、
チームの方針を確認してから進めてください。
実装が完了したら:
1. #kanripro-dev に実装完了報告を投稿
2. @田中さん にレビュー依頼のメッセージを送信
このように、コードの実装とSlack上のコミュニケーションを1つのプロンプトで完結させられるのがSlack MCP Serverの真骨頂です。
CLAUDE.mdに組み込む
プロジェクトの CLAUDE.md にSlack連携のルールを書いておけば、毎回指示しなくても自動的にSlack連携が行われるようになります。
## Slack連携ルール
- 実装完了時は #dev-team に報告を投稿すること
- 実装前にSlackで関連キーワードを検索し、過去の議論を確認すること
- PRのレビュー依頼は担当者にSlack DMで通知すること
- 投稿フォーマット:
- 完了報告: 「実装完了:[機能名] / PR: #[番号] / レビュー: @[担当者]」
- 質問: 「[機能名]について質問: [内容]」
リアルタイムサーチAPI(RTS API)の活用
Slack MCP Serverと同時に発表されたリアルタイムサーチAPIは、従来の search.messages APIを大幅に強化したものです。
従来のSearch APIとの違い
| 項目 | 従来の search.messages | リアルタイムサーチAPI |
|---|---|---|
| インデックス更新 | 数分〜数十分の遅延 | リアルタイム |
| フィルタ精度 | 基本的なキーワードマッチ | 日付・ユーザー・タイプ複合フィルタ |
| AI最適化 | なし | LLMでの消費を前提に設計 |
| レスポンス形式 | JSON(生データ) | 自然言語での応答に最適化 |
開発チームでの活用例
1. デイリースタンドアップの自動まとめ
Slackの #daily-standup で今日投稿されたメッセージをすべて読み取り、
メンバーごとの「昨日やったこと」「今日やること」「ブロッカー」を
表形式でまとめてください
2. 障害発生時の情報収集
過去1時間以内に #alerts #incidents #dev-team で投稿されたメッセージから、
現在発生している障害に関する情報をタイムライン形式で整理してください
3. 意思決定の経緯追跡
「Next.jsのバージョンアップ」に関するSlack上での議論を時系列で追跡し、
いつ・誰が・どのような根拠で決定したかをまとめてください
セキュリティと権限管理
最小権限の原則
Slack MCP Serverを導入する際は、必要最小限のスコープのみを付与してください。
✅ 推奨構成(開発チーム用)
search:read.public # パブリックチャンネルの検索のみ
chat:write # メッセージ投稿
channels:history # パブリックチャンネルの履歴
users:read # ユーザー情報(名前・アイコン)
❌ 避けるべき構成
search:read.private # プライベートチャンネル(本当に必要な場合のみ)
search:read.im # DMの検索(原則禁止)
ワークスペース管理者の承認フロー
Slack MCP Serverの接続は、ワークスペース管理者が承認・管理できます。
監査ログ
MCP経由のSlack操作は**監査ログ(Audit Logs)**に記録されます。誰が・いつ・どのツールを使ったかを追跡可能です。
Tips: よくあるトラブルと対処法
OAuth認証が失敗する
❌ エラー: invalid_client
→ Slack Appの設定で「Model Context Protocol」がONになっているか確認
❌ エラー: missing_scope
→ 必要なOAuthスコープが不足。Slack Appの「OAuth & Permissions」で追加
❌ ブラウザが開かない
→ Claude Codeを最新バージョンに更新: claude update
メッセージの投稿が失敗する
❌ チャンネルが見つからない
→ チャンネル名が正確か確認。プライベートチャンネルの場合は
groups:history スコープが必要
❌ not_in_channel エラー
→ Slack AppのBotをチャンネルに招待:
/invite @MCP Bridge
検索結果が空になる
❌ リアルタイムサーチAPIで結果が0件
→ 検索キーワードを広げる。日本語の場合、表記ゆれ(例:「サーバ」「サーバー」)を考慮
→ 検索対象の日付範囲を確認
まとめ
Slack公式MCP Serverにより、AIエージェントがSlackワークスペースの情報にアクセスし、チームコミュニケーションに直接参加できるようになりました。
| ポイント | 内容 |
|---|---|
| 公式サーバー | Slackがホスト。ローカル起動不要 |
| エンドポイント | https://mcp.slack.com/mcp |
| 対応クライアント | Claude Code、Claude.ai、Cursor、Perplexity |
| 主な機能 | メッセージ検索・投稿、Canvas操作、ユーザー管理 |
| リアルタイムサーチ | 従来のSearch APIを大幅強化 |
| セキュリティ | OAuth 2.0、スコープ制御、監査ログ |
次のアクションとしておすすめ:
- まずは検索だけ試す —
search:read.publicスコープだけで接続し、Slackの情報検索を体験する - CLAUDE.mdにルールを追加 — 開発フローにSlack連携を自然に組み込む
- チームに展開 — 管理者と相談してスコープ範囲を決め、チーム全体で活用する
- 既存のMCP連携と組み合わせる — GitHub MCP + Slack MCPで「Issue→実装→通知」の自動化を実現する
参考リンク:
関連記事: