MCP Slack について
MCP Slackは、Slackワークスペースの情報にアクセスするセキュリティ重視のサーバーで、Claude CodeなどのMCPクライアント向けです。大半のツールは読み取り専用で、メッセージの送信と予約済みメッセージの取り消しにも対応します。
主な機能
- 01チャンネル、メッセージ、スレッドの読み取り
- 02メッセージ検索とリアクションの確認
- 03ワークスペースのユーザーとファイルメタデータの参照
- 04予約メッセージの送信・取り消し
- 05ユーザーOAuthまたはブラウザーCookie認証
活用シーン
- 01チャンネルの議論とスレッド返信の確認
- 02ワークスペース内での話題検索
- 03ユーザープロフィールとチャンネルメンバーの確認
- 04メッセージを予約し、必要に応じて取り消す
MCP 対応
ツールを通じて、Slackワークスペースのチャンネル、メッセージ、ユーザー、ファイルメタデータ、メッセージ操作をMCPクライアントに公開します。ユーザーOAuthトークンまたはブラウザーセッションCookieで認証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-slack-crunchtools
Slack ワークスペース向けのセキュアな MCP サーバーです。Claude Code(およびその他の MCP クライアント)に、Slack のチャンネル、メッセージ、ユーザー、ファイルへの読み取りアクセスを提供し、ユーザーに代わってメッセージを送信できます。
機能
- ほとんどが読み取り専用:17 個のツールのうち 15 個は読み取りのみを行い、
readOnlyHint: trueを公開します。残りの 2 個はメッセージの送信と予約済みメッセージのキャンセルを行います。既存のコンテンツを編集または削除する機能はありません。 - セキュア:6 層のセキュリティモデル(入力検証、トークンの取り扱い、クライアントの強化、出力のサニタイズ、ランタイム保護、サプライチェーンセキュリティ)。
- ユーザー OAuth トークン:
xoxp-トークンを使用して、ワークスペースへのユーザー単位のアクセスを行います。 - SDK 依存なし:最小限で監査しやすい HTTP 呼び出しを実現するため、
httpxを直接使用します。
クイックスタート
uvx を使用する(推奨)
claude mcp add mcp-slack-crunchtools \
--env SLACK_USER_TOKEN=xoxp-your-token \
-- uvx mcp-slack-crunchtools
コンテナを使用する
claude mcp add mcp-slack-crunchtools \
--env SLACK_USER_TOKEN=xoxp-your-token \
-- podman run -i --rm -e SLACK_USER_TOKEN quay.io/crunchtools/mcp-slack
ローカル開発
claude mcp add mcp-slack-crunchtools \
--env SLACK_USER_TOKEN=xoxp-your-token \
-- uv run mcp-slack-crunchtools
セットアップ
Slack アプリの作成とユーザー OAuth トークンの取得方法については、CLAUDE.md の詳細な手順を参照してください。
設定
認証には、相互に排他的な 2 つのモードがあります。Cookie モードとトークンモードの両方の変数が設定されている場合、サーバーは Cookie モードを選択し、それ以外の場合はトークンモードを選択します。
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
SLACK_USER_TOKEN | トークンモード | — | ワークスペースにインストールされた Slack アプリのユーザー OAuth トークン(xoxp-...)。 |
SLACK_COOKIE_TOKEN | Cookie モード | — | ブラウザーのセッショントークン(xoxc-...)。SLACK_COOKIE_D と組み合わせて使用する必要があります。 |
SLACK_COOKIE_D | Cookie モード | — | 同じブラウザーセッションの d Cookie の値(xoxd-...)。SLACK_COOKIE_TOKEN とともに Cookie: ヘッダーとして送信されます。 |
SLACK_ADD_MESSAGE_DELAY | いいえ | 3m | 送信メッセージの予約時刻をどれだけ先にするかを指定します。キャンセルできる猶予期間を設けます。期間文字列は 30s、5m、2h、または秒数を表す整数のみです。スケジュールを無効にしてすぐに投稿するには、0、0s、none、または false を設定します。 |
使用する認証モード
このデプロイで機能する方法は Cookie モードです。 トークンモードでは、ワークスペースに Slack アプリを作成して承認を得る必要があります。その承認を得られない場合、Cookie モードが唯一の認証手段です。
Cookie モードでは、アプリケーションに発行された認証情報を保持する代わりに、既存のブラウザーセッションを利用します。この方式には、明確にしておくべき影響があります。
- どちらの値も有効なセッション認証情報です。これらを保持するものは、あなたの完全なアクセス権で Slack 上の操作を実行できます。パスワードとまったく同じように扱ってください。
- ブラウザーセッションの終了とともに有効期限が切れるため、Cookie モードでは定期的に再取得する必要があります。突然認証エラーが相次いだ場合は、通常、サーバーの故障ではなくセッションが更新されたことを意味します。
- Slack はこれらをプログラムからの使用向けに発行しておらず、いつでも無効化できます。Cookie モードは承認済みアプリがない場合の回避策であり、サポートされた連携方法ではありません。
Slack アプリを実際にインストールできる場合は、SLACK_USER_TOKEN を優先してください。
ツール
| ツール | 説明 |
|---|---|
slack_auth_test | 接続をテストし、トークン所有者の情報を取得します |
slack_list_channels | ワークスペースのチャンネルを一覧表示します |
slack_get_channel_info | チャンネルの詳細を取得します |
slack_get_channel_history | チャンネルのメッセージを読み取ります |
slack_get_thread_replies | スレッドの返信を読み取ります |
slack_list_channel_members | チャンネルのメンバーを一覧表示します |
slack_search_messages | メッセージを検索します |
slack_get_reactions | メッセージのリアクションを取得します |
slack_list_reactions | ユーザーのリアクションを一覧表示します |
slack_list_stars | スター付きアイテムを一覧表示します |
slack_get_user_info | ユーザーの詳細を取得します |
slack_list_users | ワークスペースのメンバーを一覧表示します |
slack_get_user_profile | ユーザープロフィールを取得します |
slack_list_files | ファイルを一覧表示します(メタデータのみ) |
slack_get_file_info | ファイルのメタデータを取得します |
slack_send_message | SLACK_ADD_MESSAGE_DELAY 後にメッセージを予約するか、遅延が 0 の場合は直ちに投稿します(書き込み) |
slack_cancel_scheduled_message | 送信前に予約済みメッセージをキャンセルします(書き込み) |
2 つの書き込みツールをトークンモードで使用するには、chat:write スコープが必要です。
セキュリティ
セキュリティ設計の全容については、SECURITY.md をご覧ください。
ライセンス
AGPL-3.0-or-later
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。