Slack MCP Server について
Slack ワークスペース向けの MCP サーバーで、Stdio、SSE、HTTP の各トランスポートとプロキシ設定に対応します。チャンネル、スレッド、DM、グループ DM を読み取り、検索やメッセージ関連のツールを提供します。投稿機能はデフォルトで無効です。
主な機能
- 01チャンネル、スレッド、DM、グループ DM のメッセージ読み取り
- 02期間または件数を指定した履歴取得
- 03チャンネル、ユーザー、日付などによるメッセージ検索
- 04デフォルトで無効な投稿とリアクションのツール
- 05OAuth とブラウザセッショントークンによるアクセス
活用シーン
- 01チャンネルの 1 週間分の議論の要約
- 02特定のユーザーや日付のメッセージの検索
- 03ワークスペースのチャンネル一覧とユーザー情報の取得
MCP 対応
本プロジェクトは MCP サーバーであり、Slack のメッセージ、チャンネル、ユーザーを読み取り・検索・操作するツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Slack MCP サーバー
Slack ワークスペース向けの Model Context Protocol(MCP)サーバーです。最も高機能な Slack MCP サーバーで、Stdio、SSE、HTTP トランスポート、プロキシ設定、DM、グループ DM、スマート履歴取得(日付または件数による)をサポートしています。OAuth を使用する方法と、ワークスペースで権限やスコープを一切必要としない完全なステルスモードで動作させる方法があります 😏。
重要
ご支援をお願いします!毎月、3万人を超えるエンジニアがこのリポジトリを訪れ、すでに9,000人以上が利用しています。このプロジェクトに貢献してくださったコントリビューターの作業に価値を感じていただけたら、ぜひリポジトリにスターを付けてください。
この多機能な Slack MCP サーバーには、次の機能があります。
- ステルスモードと OAuth モード:追加の権限やボットのインストールを必要とせずにサーバーを実行する(ステルスモード)か、ブラウザーからトークンを更新・抽出する必要のない安全な OAuth トークンを使ってアクセスできます(OAuth モード)。
- エンタープライズワークスペースのサポート:エンタープライズ向け Slack 環境と連携できます。
#Name@Lookupによるチャンネルとスレッドのサポート:アクティビティメッセージを含む、チャンネルやスレッドのメッセージを取得できます。また、チャンネル ID だけでなく、チャンネル名(例:#general)を使ってチャンネルを取得できます。- スマート履歴:日付(d1、7d、1m)またはメッセージ数を指定して、ページネーションでメッセージを取得できます。
- 未読メッセージ:すべてのチャンネルの未読メッセージを、優先度順(DM > パートナーチャンネル > 社内チャンネル)に効率よく取得できます。@メンションによるフィルタリングや既読への変更もサポートしています。
- メッセージ検索:日付、ユーザー、内容など、さまざまなフィルターを使ってチャンネル、スレッド、DM 内のメッセージを検索できます。
- 安全なメッセージ投稿:安全のため、
conversations_add_messageツールはデフォルトで無効になっています。環境変数で有効にでき、チャンネルを任意に制限することもできます。 - DM とグループ DM のサポート:ダイレクトメッセージとグループダイレクトメッセージを取得できます。
- ユーザー情報の埋め込み:メッセージにユーザー情報を埋め込み、より良いコンテキストを提供できます。
- キャッシュのサポート:ユーザーやチャンネルをキャッシュして、アクセスを高速化できます。
- Stdio/SSE/HTTP トランスポートとプロキシのサポート:Stdio、SSE、HTTP トランスポートに対応する任意の MCP クライアントでサーバーを使用でき、必要に応じて送信リクエストをプロキシ経由でルーティングするよう設定できます。
分析デモ

メッセージ追加デモ

ツール
1. conversations_history:
channel_id でチャンネル(または DM)のメッセージを取得します。レスポンスの最後の行/列が空でない場合、ページネーションの cursor パラメーターとして使用します。
- パラメーター:
channel_id(文字列、必須): -channel_id(文字列):Cxxxxxxxxxx 形式のチャンネル ID、または#...で始まるチャンネル名、もしくは@...形式の名前(例:#general、@username_dm)。include_activity_messages(ブール値、デフォルト:false):true の場合、レスポンスにchannel_joinやchannel_leaveなどのアクティビティメッセージが含まれます。デフォルトはブール値の false です。cursor(文字列、任意):ページネーション用のカーソルです。前回のリクエストで返されたnext_cursorフィールドの値として、レスポンスの最後の行と列の値を使用してください。limit(文字列、デフォルト:"1d"):取得するメッセージ数の上限です。最大期間の形式(例:1d - 1日、1w - 1週間、30d - 30日、90d - 90日。これは無料プランの履歴におけるデフォルトの上限です)またはメッセージ数(例:50)で指定します。cursorが指定されている場合は空にする必要があります。
2. conversations_replies:
channelID と thread_ts を指定して、会話に投稿されたメッセージのスレッドを取得します。レスポンスの最後の行/列は、空でない場合、ページネーションの cursor パラメーターとして使用されます。
- パラメーター:
channel_id(string, required):Cxxxxxxxxxx形式のチャンネル ID、または#...や@...で始まるチャンネル名(#generalや@username_dmなど)です。thread_ts(string, required): スレッドの親メッセージまたはスレッド内のメッセージの一意の識別子です。ts は、返信が 0 件以上ある既存のメッセージの1234567890.123456形式のタイムスタンプである必要があります。include_activity_messages(boolean, default: false): true の場合、レスポンスに 'channel_join' や 'channel_leave' などのアクティビティメッセージが含まれます。デフォルトは boolean false です。cursor(string, optional): ページネーション用のカーソルです。前回のリクエストで返された next_cursor フィールドとして、レスポンスの最後の行と列の値を使用します。limit(string, default: "1d"): 取得するメッセージの上限です。最大期間(例:1d - 1 日、1w - 1 週間、30d - 30 日、90d - 無料プランの履歴におけるデフォルトの上限である 90 日)またはメッセージ数(例:50)で指定します。'cursor' が指定されている場合は空にする必要があります。
3. conversations_add_message
channel_id と thread_ts を指定して、パブリックチャンネル、プライベートチャンネル、またはダイレクトメッセージ(DM、または IM)の会話にメッセージを追加します。
注: 安全のため、メッセージの投稿はデフォルトで無効になっています。有効にするには、
SLACK_MCP_ADD_MESSAGE_TOOL環境変数を設定してください。カンマ区切りのチャンネル ID のリストを設定すると、指定したチャンネルでのみ投稿が有効になります。詳細は、以下の環境変数セクションを参照してください。
- パラメーター:
channel_id(string, required):Cxxxxxxxxxx形式のチャンネル ID、または#...や@...で始まるチャンネル名(#generalや@username_dmなど)です。thread_ts(string, optional): スレッドの親メッセージまたはスレッド内のメッセージの一意の識別子です。thread_ts は、返信が 0 件以上ある既存のメッセージの1234567890.123456形式のタイムスタンプである必要があります。省略可能です。指定しない場合、メッセージはチャンネル自体に追加され、指定した場合はスレッドに追加されます。payload(string, required): 指定した content_type 形式のメッセージ本文です。例:text/plain の場合は 'Hello, world!'、text/markdown の場合は '# Hello, world!' です。content_type(string, default: "text/markdown"): メッセージのコンテンツタイプです。デフォルトは 'text/markdown' です。使用できる値:'text/markdown'、'text/plain'。
4. conversations_search_messages
フィルターを使って、パブリックチャンネル、プライベートチャンネル、またはダイレクトメッセージ(DM、またはIM)の会話内のメッセージを検索します。すべてのフィルターは任意です。指定しない場合は、search_query が必須です。
Note:ボットトークン(
xoxb-*)を使用している場合、このツールは利用できません。ボットトークンではsearch.messagesAPI を使用できません。
- Parameters:
search_query(string, optional):メッセージを絞り込むための検索クエリです。例:marketing report、または Slack メッセージの完全な URL(例:https://slack.com/archives/C1234567890/p1234567890123456)。この場合、指定された URL に一致する単一のメッセージが返され、ほかのすべてのパラメーターは無視されます。filter_in_channel(string, optional):ID または名前を指定して、特定のチャンネル内のメッセージに絞り込みます。例:C1234567890または#general。指定しない場合、すべてのチャンネルが検索されます。filter_in_im_or_mpim(string, optional):ID または名前を指定して、ダイレクトメッセージ(DM)または複数人のダイレクトメッセージ(MPIM)の会話内のメッセージに絞り込みます。例:D1234567890または@username_dm。指定しない場合、すべてのDMとMPIMが検索されます。filter_users_with(string, optional):スレッドとDM内のメッセージを、ID または表示名を指定して特定のユーザーとのやり取りに絞り込みます。例:U1234567890または@username。指定しない場合、すべてのスレッドとDMが検索されます。filter_users_from(string, optional):ID または表示名を指定して、特定のユーザーからのメッセージに絞り込みます。例:U1234567890または@username。指定しない場合、すべてのユーザーが検索されます。filter_date_before(string, optional):YYYY-MM-DD形式の日付を指定して、その日付より前に送信されたメッセージに絞り込みます。例:2023-10-01、July、Yesterday、Today。指定しない場合、すべての日付が検索されます。filter_date_after(string, optional):YYYY-MM-DD形式の日付を指定して、その日付より後に送信されたメッセージに絞り込みます。例:2023-10-01、July、Yesterday、Today。指定しない場合、すべての日付が検索されます。filter_date_on(string, optional):YYYY-MM-DD形式の日付を指定して、その日に送信されたメッセージに絞り込みます。例:2023-10-01、July、Yesterday、Today。指定しない場合、すべての日付が検索されます。filter_date_during(string, optional):YYYY-MM-DD形式の日付で期間を指定して、その期間中に送信されたメッセージに絞り込みます。例:July、Yesterday、Today。指定しない場合、すべての日付が検索されます。filter_threads_only(boolean, default: false):true の場合、スレッド内のメッセージのみをレスポンスに含めます。デフォルトは boolean false です。cursor(string, default: ""):ページネーション用のカーソルです。前回のリクエストで返されたレスポンスの最後の行と列の値を、next_cursor フィールドとして使用します。limit(number, default: 20):返す項目の最大数です。1~100 の整数を指定する必要があります。
5. channels_list:
チャンネルの一覧を取得します
- Parameters:
channel_types(string, required):チャンネルタイプをカンマ区切りで指定します。使用できる値:mpim、im、public_channel、private_channel。例:public_channel,private_channel,imsort(string, optional):並べ替えの種類です。使用できる値:popularity— 各チャンネルのメンバー/参加者数で並べ替えます。limit(number, default: 100):返す項目の最大数です。1~1000 の整数(最大 999)を指定する必要があります。cursor(string, optional):ページネーション用のカーソルです。前回のリクエストで返されたレスポンスの最後の行と列の値を、next_cursor フィールドとして使用します。
6. reactions_add:
パブリックチャンネル、プライベートチャンネル、またはダイレクトメッセージ(DM または IM)の会話内のメッセージに絵文字リアクションを追加します。
注意: 安全のため、リアクションの追加はデフォルトで無効になっています。有効にするには、環境変数
SLACK_MCP_REACTION_TOOLを設定します。チャンネル ID をカンマ区切りのリストで指定すると、指定したチャンネルでのみリアクションが有効になります。詳細は下記の「環境変数」セクションを参照してください。
- パラメーター:
channel_id(string、必須):Cxxxxxxxxxx形式のチャンネル ID、または#...もしくは@...で始まるチャンネル名(例:#generalまたは@username_dm)。timestamp(string、必須):リアクションを追加するメッセージのタイムスタンプ(形式:1234567890.123456)。emoji(string、必須):リアクションとして追加する絵文字の名前(コロンなし)。例:thumbsup、heart、rocket。
7. reactions_remove:
パブリックチャンネル、プライベートチャンネル、またはダイレクトメッセージ(DM または IM)の会話内のメッセージから絵文字リアクションを削除します。
注意: リアクションの削除には、
reactions_addと同じ権限モデルが適用されます。有効にするには、環境変数SLACK_MCP_REACTION_TOOLを設定します。
- パラメーター:
channel_id(string、必須):Cxxxxxxxxxx形式のチャンネル ID、または#...もしくは@...で始まるチャンネル名(例:#generalまたは@username_dm)。timestamp(string、必須):リアクションを削除するメッセージのタイムスタンプ(形式:1234567890.123456)。emoji(string、必須):リアクションとして削除する絵文字の名前(コロンなし)。例:thumbsup、heart、rocket。
8. users_search:
名前、メールアドレス、または表示名でユーザーを検索します。ユーザーの詳細と、利用可能な場合は DM チャンネル ID を返します。
注意: OAuth トークン(
xoxp/xoxb)の場合、このツールはパターンマッチングを使用してローカルのユーザーキャッシュを検索します。ブラウザーセッショントークン(xoxc/xoxd)の場合は、Slack のエッジ API を使用してリアルタイム検索を行います。
-
パラメーター:
query(string、必須):検索クエリ。実名、表示名、ユーザー名、またはメールアドレスに一致します。limit(number、デフォルト:10):返す結果の最大数(1~100)。
-
戻り値: 次のフィールドを含む CSV:
UserID:ユーザー ID(例:U1234567890)UserName:Slack のユーザー名RealName:ユーザーの実名DisplayName:ユーザーの表示名Email:ユーザーのメールアドレスTitle:ユーザーの役職DMChannelID:キャッシュ内にある場合の DM チャンネル ID(メッセージをすばやく送信するために使用)
9. usergroups_list:
ワークスペース内のすべてのユーザーグループ(サブチーム)を一覧表示します。
-
パラメーター:
include_users(boolean、デフォルト:false):各グループのユーザー ID 一覧を含めます。include_count(boolean、デフォルト:true):各グループのユーザー数を含めます。include_disabled(boolean、デフォルト:false):無効化/アーカイブ済みのグループを含めます。
-
戻り値: 次のフィールドを含む CSV:id, name, handle, description, user_count, is_external
必須の OAuth スコープ:
usergroups:read
10. usergroups_create:
ワークスペースに新しいユーザーグループを作成します。
-
パラメーター:
name(string、必須):ユーザーグループの名前(例:"Engineering Team")。handle(string、任意):@ を除いたメンション用ハンドル(例:"engineering")。指定しない場合、Slack が自動生成します。description(string、任意):グループの目的または説明。channels(string、任意):グループへのメンションが強調表示されるデフォルトチャンネルのチャンネル ID をカンマ区切りで指定します。
-
戻り値: 作成されたグループの詳細(id、name、handle、description)を含む JSON
必須の OAuth スコープ:
usergroups:write
11. usergroups_update:
既存のユーザーグループのメタデータを更新します。
-
パラメーター:
usergroup_id(string、必須):ユーザーグループの ID(例:「S1234567890」)。name(string、任意):グループの新しい名前。handle(string、任意):新しいメンション用ハンドル。description(string、任意):新しい説明。channels(string、任意):新しいデフォルトチャンネル(カンマ区切りの ID)。既存のデフォルトチャンネルを置き換えます。
-
戻り値: 更新されたグループの詳細を含む JSON
必要な OAuth スコープ:
usergroups:write
12. usergroups_users_update:
ユーザーグループのメンバーを更新します。既存のメンバーはすべて置き換えられます。
-
パラメーター:
usergroup_id(string、必須):ユーザーグループの ID(例:「S1234567890」)。users(string、必須):メンバーとして設定するユーザー ID(カンマ区切り。例:「U123,U456,U789」)。
-
戻り値: 新しいユーザーリストを含む、更新されたグループの詳細を含む JSON
必要な OAuth スコープ:
usergroups:write
13. usergroups_me:
ユーザーグループのメンバーシップを管理します。所属しているグループの一覧表示、グループへの参加、またはグループからの退出ができます。
-
パラメーター:
action(string、必須):実行する操作。グループを表示する場合はlist、自分を追加する場合はjoin、自分を削除する場合はleaveを指定します。usergroup_id(string、任意):ユーザーグループの ID(例:「S1234567890」)。joinおよびleave操作で必須です。
-
戻り値:
listの場合:自分がメンバーとなっているグループの CSVjoin/leaveの場合:結果メッセージと更新されたグループ情報を含む JSON
必要な OAuth スコープ:
usergroups:read(list の場合)、usergroups:read+usergroups:write(join/leave の場合)
14. conversations_unreads
すべてのチャンネルの未読メッセージを効率的に取得します。1 回の API 呼び出しで未読のあるチャンネルを特定し、その後、それらのメッセージのみを取得します。結果は DM > パートナーチャンネル(Slack Connect)> 内部チャンネルの順に優先されます。
注: このツールは、効率的な
client.countsAPI を使用するブラウザーセッショントークン(xoxc/xoxd)で最も効果を発揮します。標準の OAuth トークン(xoxp)では、conversations.infoを使用するフォールバック方式が使われます。この方式ではチャンネルごとに 1 回の API 呼び出しが必要となるため、大規模なワークスペースでは処理が遅くなる場合があります。ボットトークン(xoxb)では利用できません。
- パラメーター:
include_messages(boolean、デフォルト:true):true の場合、実際の未読メッセージを返します。false の場合、未読のあるチャンネルの概要のみを返します。channel_types(string、デフォルト:「all」):チャンネルの種類で絞り込みます。all、dm(ダイレクトメッセージ)、group_dm(グループ DM)、partner(外部共有チャンネル)、internal(通常のワークスペースチャンネル)を指定します。max_channels(number、デフォルト:50):未読を取得するチャンネルの最大数。max_messages_per_channel(number、デフォルト:10):チャンネルごとに取得するメッセージの最大数。mentions_only(boolean、デフォルト:false):true の場合、@メンションされているチャンネルのみを返します。注:このフィルターはブラウザートークンでのみ機能します。OAuth トークンでは、未読のあるすべてのチャンネルが返されます。
15. conversations_mark
チャンネルまたは DM を既読にします。
注: 安全のため、メッセージを既読にする機能はデフォルトで無効になっています。有効にするには、環境変数
SLACK_MCP_MARK_TOOLにtrueまたは1を設定してください。詳細は以下の「環境変数」セクションを参照してください。
- パラメーター:
channel_id(string、必須):Cxxxxxxxxxx形式のチャンネル ID、または#...や@...で始まるチャンネル名(例:#general、@username)。ts(string、任意):既読にするメッセージのタイムスタンプ。指定しない場合、すべてのメッセージを既読にします。
16. saved_list
Slack の「後で確認」パネルに保存された項目を一覧表示します。ユーザーが保存した項目を、オプションでメッセージ本文とともに返します。非推奨となった stars.list API の代替です(変更履歴)。
Note: このツールにはブラウザーのセッショントークン(
xoxc/xoxd)が必要です。標準の OAuth(xoxp)トークンやボット(xoxb)トークンでは利用できません。
- Parameters:
filter(文字列、デフォルト"saved"):保存済み項目のフィルターです。"saved"(対応中/進行中)、"completed"(完了済み)、"archived"を指定します。limit(数値、デフォルト50):返す項目の最大数です。自動的にページネーションします。include_messages(ブール値、デフォルトtrue):true の場合、保存されたメッセージの本文を取得します。false の場合、メタデータのみを返します。max_messages_per_item(数値、デフォルト5):保存済み項目ごとに取得するメッセージの最大数です(スレッドへの返信用)。
17. saved_update
保存済み項目を更新します。完了済みにする、期限日/リマインダーを設定する、またはその両方を行えます。saved_list の出力に含まれる item_id と ts の値を使用してください。非推奨となった stars.add/stars.remove API の代替です。
Note: このツールにはブラウザーのセッショントークン(
xoxc/xoxd)が必要です。標準の OAuth(xoxp)トークンやボット(xoxb)トークンでは利用できません。
- Parameters:
item_id(文字列、必須):保存されたメッセージがあるチャンネル/DM の ID(saved_listの出力から取得)。ts(文字列、必須):保存済み項目のメッセージのタイムスタンプ(saved_listの出力から取得)。mark(文字列、任意):項目を完了済みにするには"completed"を指定します。date_due(数値、任意):期限日/リマインダーの Unix タイムスタンプです。クリアするには0を指定します。
18. saved_clear_completed
「後で確認」パネルから、完了済みの保存項目をすべて削除します。state="completed" の項目をすべて削除する一括操作です。
Note: このツールにはブラウザーのセッショントークン(
xoxc/xoxd)が必要です。標準の OAuth(xoxp)トークンやボット(xoxb)トークンでは利用できません。
- Parameters: なし。
リソース
Slack MCP Server は、ワークスペースのメタデータに簡単にアクセスできるよう、2 つの特別なディレクトリリソースを公開します。
1. slack://<workspace>/channels — チャンネルのディレクトリ
パブリックチャンネル、プライベートチャンネル、DM、グループ DM を含む、ワークスペース内のすべてのチャンネルの CSV ディレクトリを取得します。
- URI:
slack://<workspace>/channels - Format:
text/csv - Fields:
id:チャンネル ID(例:C1234567890)name:チャンネル名(例:#general、@username_dm)topic:チャンネルのトピック(設定されている場合)purpose:チャンネルの目的/説明memberCount:チャンネルのメンバー数
2. slack://<workspace>/users — ユーザーのディレクトリ
ワークスペース内のすべてのユーザーの CSV ディレクトリを取得します。
- URI:
slack://<workspace>/users - Format:
text/csv - Fields:
userID:ユーザー ID(例:U1234567890)userName:Slack のユーザー名(例:john)realName:ユーザーの実名(例:John Doe)
セットアップガイド
環境変数(クイックリファレンス)
| 変数 | 必須? | デフォルト | 説明 |
|---|---|---|---|
SLACK_MCP_XOXC_TOKEN | はい* | nil | Slack ブラウザートークン(xoxc-...) |
SLACK_MCP_XOXD_TOKEN | はい* | nil | Slack ブラウザー Cookie d(xoxd-...) |
SLACK_MCP_XOXP_TOKEN | はい* | nil | ユーザー OAuth トークン(xoxp-...)— xoxc/xoxd の代替 |
SLACK_MCP_XOXB_TOKEN | はい* | nil | ボットトークン(xoxb-...)— xoxp/xoxc/xoxd の代替。ボットのアクセスは制限されています(招待されたチャンネルのみ、検索不可) |
SLACK_MCP_PORT | いいえ | 13080 | MCP サーバーがリッスンするポート |
SLACK_MCP_HOST | いいえ | 127.0.0.1 | MCP サーバーがリッスンするホスト |
SLACK_MCP_API_KEY | いいえ | nil | SSE および HTTP トランスポート用のベアラートークン |
SLACK_MCP_PROXY | いいえ | nil | 送信リクエスト用のプロキシ URL |
SLACK_MCP_USER_AGENT | いいえ | nil | カスタム User-Agent(Enterprise Slack 環境用) |
SLACK_MCP_CUSTOM_TLS | いいえ | nil | SLACK_MCP_USER_AGENT またはデフォルトの User-Agent に基づいて、Slack サーバーにカスタム TLS ハンドシェイクを送信します。(Enterprise Slack 環境用) |
SLACK_MCP_SERVER_CA | いいえ | nil | CA 証明書のパス |
SLACK_MCP_SERVER_CA_TOOLKIT | いいえ | nil | MitM デバッグ用に HTTPToolkit の CA 証明書をルートの信頼ストアに追加します |
SLACK_MCP_SERVER_CA_INSECURE | いいえ | false | すべての安全でないリクエストを信頼します(推奨されません) |
SLACK_MCP_ADD_MESSAGE_TOOL | いいえ | nil | conversations_add_message によるメッセージ投稿を有効にするには、すべてのチャンネルで有効にする場合は true を設定し、特定のチャンネルを許可リストに登録する場合はチャンネル ID をカンマ区切りで指定します。または、チャンネル ID の前に ! を付けると、指定したチャンネルを除くすべてのチャンネルで許可されます。空の場合、このツールは SLACK_MCP_ENABLED_TOOLS に明示的に記載された場合にのみ登録されます。 |
SLACK_MCP_ADD_MESSAGE_MARK | いいえ | nil | conversations_add_message が(SLACK_MCP_ADD_MESSAGE_TOOL または SLACK_MCP_ENABLED_TOOLS によって)有効な場合、これを true に設定すると、送信したメッセージが自動的に既読になります。 |
SLACK_MCP_ADD_MESSAGE_UNFURLING | いいえ | nil | 投稿したリンクを Slack が展開できるようにするには有効にします。または、展開を許可するドメインだけを許可リストに登録するには、github.com,slack.com のようにカンマ区切りで指定します。テキストに許可リスト内のドメインと不明なドメインの両方が含まれる場合、セキュリティ上の理由からリンク展開は無効になります。 |
SLACK_MCP_REACTION_TOOL | いいえ | nil | reactions_add および reactions_remove ツールを有効にするには、すべてのチャンネルで有効にする場合は true を設定し、特定のチャンネルを許可リストに登録する場合はチャンネル ID をカンマ区切りで指定します。または、チャンネル ID の前に ! を付けると、指定したチャンネルを除くすべてのチャンネルで許可されます。空の場合、これらのツールは SLACK_MCP_ENABLED_TOOLS に明示的に記載された場合にのみ登録されます。 |
SLACK_MCP_ATTACHMENT_TOOL | いいえ | nil | true、1、または yes を設定して attachment_get_data ツールを有効にします。チャンネル単位の制限には対応していません。空の場合、このツールは SLACK_MCP_ENABLED_TOOLS に明示的に記載された場合にのみ登録されます。 |
SLACK_MCP_MARK_TOOL | いいえ | nil | true または 1 を設定して conversations_mark ツールを有効にします。メッセージが誤って既読になるのを防ぐため、デフォルトでは無効です。 |
SLACK_MCP_USERS_CACHE | いいえ | ~/Library/Caches/slack-mcp-server/users_cache.json (macOS)~/.cache/slack-mcp-server/users_cache.json (Linux)%LocalAppData%/slack-mcp-server/users_cache.json (Windows) | ユーザーキャッシュファイルのパスです。Slack ユーザー情報をキャッシュし、起動時の API 呼び出しの繰り返しを避けるために使用します。 |
SLACK_MCP_CHANNELS_CACHE | いいえ | ~/Library/Caches/slack-mcp-server/channels_cache_v2.json (macOS)~/.cache/slack-mcp-server/channels_cache_v2.json (Linux)%LocalAppData%/slack-mcp-server/channels_cache_v2.json (Windows) | チャンネルキャッシュファイルのパスです。Slack チャンネル情報をキャッシュし、起動時の API 呼び出しの繰り返しを避けるために使用します。 |
SLACK_MCP_LOG_LEVEL | いいえ | info | stdout または stderr に出力するログレベルです。有効な値は debug、info、warn、error、panic、fatal です。 |
SLACK_MCP_GOVSLACK | いいえ | nil | GovSlack モードを有効にするには true を設定します。FedRAMP に準拠した政府機関のワークスペース向けに、API 呼び出しを slack.com ではなく slack-gov.com のエンドポイントにルーティングします。 |
SLACK_MCP_ENABLED_TOOLS | いいえ | nil | 登録するツールをカンマ区切りで指定します。空の場合、読み取り専用ツールと usergroups ツールがすべて登録されます。書き込みツール(conversations_add_message、reactions_add、reactions_remove、attachment_get_data)を使うには、それぞれの環境変数を設定するか、ここに明示的に記載する必要があります。書き込みツールをここに記載すると、チャンネル制限なしで有効になります。利用可能なツール:conversations_history、conversations_replies、conversations_add_message、reactions_add、reactions_remove、attachment_get_data、conversations_search_messages、channels_list、usergroups_list、usergroups_me、usergroups_create、usergroups_update、usergroups_users_update。 |
*認証には、xoxp(ユーザー)、xoxb(ボット)、または xoxc と xoxd の両方のトークンが必要です。 |
制限事項の一覧とキャッシュ
| ユーザーキャッシュ | チャンネルキャッシュ | 制限事項 |
|---|---|---|
| :x: | :x: | キャッシュがなく、ユーザーデータによる LLM コンテキストの拡張もできません。ツール channels_list は完全に機能しません。ツール conversations_* の機能は制限され、@userHandle または #channel-name によるメッセージ検索や、@userHandle または #channel-name によるメッセージ取得もできません。 |
| :white_check_mark: | :x: | チャンネルキャッシュがないため、ツール channels_list は完全に機能しません。ツール conversations_* の機能は制限され、@userHandle または #channel-name によるメッセージ検索や、@userHandle または #channel-name によるメッセージ取得もできません。 |
| :white_check_mark: | :white_check_mark: | 制限はなく、Slack MCP サーバーの全機能を利用できます。 |
デバッグツール
# Run the inspector with stdio transport
npx @modelcontextprotocol/inspector go run mcp/mcp-server.go --transport stdio
# View logs
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
セキュリティ
- API トークンは決して共有しないでください
- .env ファイルを安全に保護し、非公開にしてください
ライセンス
MIT ライセンスの下で提供されています。詳細は LICENSE ファイルをご覧ください。これは Slack の公式製品ではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。