mcpField
M
MCP Slack

MCP Slack

ローカル
github.com/crunchtoolsコミュニケーション22 日前に更新

MCP Slack について

MCP Slackは、Slackワークスペースの情報にアクセスするセキュリティ重視のサーバーで、Claude CodeなどのMCPクライアント向けです。大半のツールは読み取り専用で、メッセージの送信と予約済みメッセージの取り消しにも対応します。

主な機能

  1. 01チャンネル、メッセージ、スレッドの読み取り
  2. 02メッセージ検索とリアクションの確認
  3. 03ワークスペースのユーザーとファイルメタデータの参照
  4. 04予約メッセージの送信・取り消し
  5. 05ユーザーOAuthまたはブラウザーCookie認証

活用シーン

  1. 01チャンネルの議論とスレッド返信の確認
  2. 02ワークスペース内での話題検索
  3. 03ユーザープロフィールとチャンネルメンバーの確認
  4. 04メッセージを予約し、必要に応じて取り消す

MCP 対応

ツールを通じて、Slackワークスペースのチャンネル、メッセージ、ユーザー、ファイルメタデータ、メッセージ操作をMCPクライアントに公開します。ユーザーOAuthトークンまたはブラウザーセッションCookieで認証します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"crunchtools-slack": {
"command": "uvx",
"args": [
"mcp-slack-crunchtools"
]
}
}
}
起動コマンドuvx mcp-slack-crunchtools

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-slack-crunchtools0.1.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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_TOKENCookie モード—ブラウザーのセッショントークン(xoxc-...)。SLACK_COOKIE_D と組み合わせて使用する必要があります。
SLACK_COOKIE_DCookie モード—同じブラウザーセッションの 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_messageSLACK_ADD_MESSAGE_DELAY 後にメッセージを予約するか、遅延が 0 の場合は直ちに投稿します(書き込み)
slack_cancel_scheduled_message送信前に予約済みメッセージをキャンセルします(書き込み)

2 つの書き込みツールをトークンモードで使用するには、chat:write スコープが必要です。

セキュリティ

セキュリティ設計の全容については、SECURITY.md をご覧ください。

ライセンス

AGPL-3.0-or-later

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。