mcpField
S
Slack MCP Server

Slack MCP Server

ローカル
github.com/AIAtriumコミュニケーション077 週間前に更新

Slack MCP Server について

Slack MCP Serverは、Slack APIを通じてAIアシスタントによるワークスペースのメッセージの読み書きを可能にします。ユーザートークンで本人として操作でき、チャンネル、DM、プロフィール、スレッドを扱うワークフローに対応します。

主な機能

  1. 01ワークスペースのチャンネルとユーザー一覧
  2. 02チャンネルのメッセージ履歴の取得
  3. 03DMとスレッド返信の取得
  4. 04ユーザーとしてメッセージを送信
  5. 05メッセージへのリアクション追加

活用シーン

  1. 01チャンネルの最近のメッセージを確認
  2. 02チャンネルやDMにメッセージを送信
  3. 03スレッドの返信を取得してリアクションを追加

MCP 対応

MCPサーバーとして、チャンネルやメッセージの読み取り、ユーザープロフィールの確認、送信、スレッド返信、リアクション追加のSlackツールをMCPクライアントに提供します。ユーザートークン認証により、ユーザー本人としてメッセージを送信できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"slack-mcp-server-aiatrium": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

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

パッケージ
ocibuild

ツール

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

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

詳細

Slack MCP Server

https://github.com/modelcontextprotocol/servers/tree/0ad83e8dda5f3a46f0157c6f2c45e03f397d11a1/src/slack からフォークされています。

認証方式をボットトークンからユーザートークンに変更し、ダイレクトメッセージの読み取りやユーザーに代わってメッセージを送信するなど、より幅広いユースケースで MCP サーバーを利用できるようにしました。

Slack API 用の MCP サーバーで、Claude が Slack ワークスペースを操作できるようにします。

セットアップ

  1. Slack アプリを作成します。

    • Slack Apps ページにアクセスします
    • 「Create New App」をクリックします
    • 「From scratch」を選択します
    • アプリに「Slack MCP Server」という名前を付け、ワークスペースを選択します
  2. ユーザートークンのスコープを設定します。 「OAuth & Permissions」に移動し、ユーザートークンに次のスコープを追加します。

    • channels:history - パブリックチャンネルのメッセージやその他のコンテンツを表示する
    • channels:read - チャンネルの基本情報を表示する
    • chat:write - ユーザーとしてメッセージを送信する
    • reactions:write - メッセージに絵文字のリアクションを追加する
    • users:read - ユーザーとその基本情報を表示する
    • users.profile:read - ユーザーの詳細なプロフィールを表示する
    • groups:history - プライベートチャンネルのメッセージやその他のコンテンツを表示する
    • groups:read - チャンネルの基本情報を表示する
    • groups:write - プライベートチャンネルにメッセージを送信する
    • im:history - ダイレクトメッセージのメッセージやその他のコンテンツを表示する
    • im:read - ダイレクトメッセージの基本情報を表示する
    • im:write - ダイレクトメッセージにメッセージを送信する
    • mpim:history - 複数人のダイレクトメッセージのメッセージやその他のコンテンツを表示する
    • mpim:read - 複数人のダイレクトメッセージの基本情報を表示する
    • mpim:write - 複数人のダイレクトメッセージにメッセージを送信する
  3. アプリをワークスペースにインストールします。

    • 「Install to Workspace」をクリックし、アプリを認証します
    • xoxp- で始まる「User OAuth Token」を保存します
  4. npm install を実行して依存関係をインストールします。

ツール

  1. slack_list_channels

    • ワークスペース内の公開チャンネルまたは事前定義されたチャンネルを一覧表示します
    • 任意の入力:
      • limit(数値、デフォルト:100、最大:200):返すチャンネルの最大数
      • cursor(文字列):次のページを取得するためのページネーションカーソル
    • 返り値:IDと情報を含むチャンネルの一覧
  2. slack_post_message

    • Slack チャンネルに新しいメッセージを投稿します
    • 必須の入力:
      • channel_id(文字列):投稿先チャンネルの ID
      • text(文字列):投稿するメッセージのテキスト
    • 返り値:メッセージの投稿確認とタイムスタンプ
  3. slack_reply_to_thread

    • 特定のメッセージスレッドに返信します
    • 必須の入力:
      • channel_id(文字列):スレッドを含むチャンネル
      • thread_ts(文字列):親メッセージのタイムスタンプ
      • text(文字列):返信テキスト
    • 返り値:返信の確認とタイムスタンプ
  4. slack_add_reaction

    • メッセージに絵文字リアクションを追加します
    • 必須の入力:
      • channel_id(文字列):メッセージを含むチャンネル
      • timestamp(文字列):リアクションを追加するメッセージのタイムスタンプ
      • reaction(文字列):コロンなしの絵文字名
    • 返り値:リアクションの確認
  5. slack_get_channel_history

    • チャンネルの最近のメッセージを取得します
    • 必須の入力:
      • channel_id(文字列):チャンネルの ID
    • 任意の入力:
      • limit(数値、デフォルト:10):取得するメッセージ数
    • 返り値:内容とメタデータを含むメッセージの一覧
  6. slack_get_thread_replies

    • メッセージスレッド内のすべての返信を取得します
    • 必須の入力:
      • channel_id(文字列):スレッドを含むチャンネル
      • thread_ts(文字列):親メッセージのタイムスタンプ
    • 返り値:内容とメタデータを含む返信の一覧
  7. slack_get_users

    • 基本的なプロフィール情報を含むワークスペースユーザーの一覧を取得します
    • 任意の入力:
      • cursor(文字列):次のページを取得するためのページネーションカーソル
      • limit(数値、デフォルト:100、最大:200):返すユーザーの最大数
    • 返り値:基本プロフィールを含むユーザーの一覧
  8. slack_get_user_profile

    • 特定ユーザーの詳細なプロフィール情報を取得します
    • 必須の入力:
      • user_id(文字列):ユーザーの ID
    • 返り値:詳細なユーザープロフィール情報
Claude Desktop での使用方法

以下を claude_desktop_config.json に追加します:

NPX
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-your-user-token"
      }
    }
  }
}
docker
{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "SLACK_USER_TOKEN"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-your-bot-token"
      }
    }
  }
}
環境変数
  1. SLACK_USER_TOKEN:必須。xoxp- で始まる Bot User OAuth Token です。
トラブルシューティング

権限エラーが発生した場合は、次の点を確認してください:

  1. 必要なスコープがすべて Slack アプリに追加されていること
  2. アプリがワークスペースに正しくインストールされていること
  3. トークンとワークスペース ID が設定に正しくコピーされていること
  4. アクセスが必要なチャンネルにアプリが追加されていること

ビルド

Docker ビルド:

docker build -t mcp/slack -f src/slack/Dockerfile .

ライセンス

この MCP サーバーは MIT License の下でライセンスされています。つまり、MIT License の利用規約に従うことを条件に、ソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリ内の LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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