Slack MCP Server

Slack MCP Server

Slack MCPサーバーは、AIエージェント(Claude Desktopや他のMCP互換ツールなど)をSlackワークスペースに接続するモデルコンテキストプロトコル(MCP)サーバーです。これにより、標準化されたインターフェースを通じて、Slackチャネル、メッセージング、ワークスペースのやりとりを安全に管理できます。これにより、大規模言語モデル(LLM)が、簡単にメッセージを読み、検索し、送信でき、チャネルを管理し、Slackリソースにアクセスできます。

Author: modelcontextprotocol


プロトコルを表示

Slack MCPサーバーとは?

Slack MCPサーバーは、メッセージの読み書きやチャネルの管理など、Slackワークスペースの機能を標準化されたMCPツールとリソースとして提供します。これにより、AIエージェントは安全にSlackワークスペースとやりとりできます。メッセージを送受信したり、チャネルの履歴にアクセスしたり、メンバーシップを管理したりできます。カスタムプラグインや手動スクリプトは不要です。侵入的なアクセスやワークスペース管理者権限は必要ないため、Slack環境とAI駆動のワークフローの間の柔軟で安全なコネクターとなります。

Slack MCPサーバーの設定方法

  1. Slack MCPサーバーをインストールする
    • (TypeScript用)
      npx -y @modelcontextprotocol/server-slack
      
    • (Python用)
      pip install mcp-server-slack
      python -m mcp_server_slack
      
  2. 必要なSlackトークンを取得する
    • 適切なスコープを持つSlackユーザートークンまたはボットトークンが必要です(多くの機能に対して:channels:history, channels:read, chat:writeなど)。
    • 通常、ワークスペース管理者トークンは必要ありません。
  3. 環境変数を設定する
    • サーバーを実行する前に、必要なトークンを環境変数として設定します:
      export SLACK_BOT_TOKEN="xoxb-***"
      export SLACK_USER_TOKEN="xoxp-***"
      # 使用するトークンはユースケースに合ったものを選んでください。
      
  4. 自分のMCPクライアント設定に追加する
    • Claude Desktopや他のクライアントでサーバーを登録します。例:
      {
        "mcpServers": {
          "slack": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-slack"],
            "env": {
              "SLACK_BOT_TOKEN": "<your-slack-token>"
            }
          }
        }
      }
      
  5. クライアント/サーバーを起動する
    • MCPクライアント(例:Claude Desktop)を実行します。Slack MCPサーバーが自動的に起動され、利用可能になります。

Slack MCPサーバーの使用方法

  • 設定が完了すると、MCP互換クライアント(例:Claude Desktop)が自動的に新しいSlackコマンドとコンテキストツールを有効にします。
  • 利用可能なツールのリストを取得するには、tools/list機能を呼び出します。チャットで/tools/listを入力するか、クライアントのツールセレクタを使用します。
  • send_messagelist_channelssearch_messagesなどのツールコマンドをAIエージェントを通じて使用し、Slackチャネルとやりとりします。
  • 例:
    • 「私たちのSlackワークスペースのすべてのチャネルをリストしてください。」
    • 「#randomにメッセージを送信してください:チームのみなさん、アップデートがあります...
    • 「'launch'を含む最近のプロジェクトに関する議論を検索してください。」
  • すべての操作はトークンの権限に基づいて安全に制限されます。許可されたチャネルやユーザーの外でのアクションは行われません。

主な機能

  • チャネル管理: チャネルのリスト、参加/退会、チャネルの作成またはアーカイブ。
  • メッセージング: 許可された任意のチャネルやDMにメッセージを読み書き。
  • メッセージ検索: チャネル内で関連する会話を検索。
  • ワークスペースの発見: ユーザー、チャネル、メッセージに関するメタデータを取得。
  • 権限を尊重: 提供されたSlackトークンの範囲内で厳密に動作し、過剰な権限は不要。
  • シームレスな統合: Claude Desktopや他のMCP互換クライアントと連携し、Slackを自動的にツールやリソースとして公開。
  • ボットの承認不要: 個人用トークンやボットトークンで運用可。Slackワークスペース管理者の権限は不要。

ユースケース

  • 自動会議アシスタント: LLMが議論を要約し、アクションアイテムを抽出したり、日次スタンドアップレポートを自動的にSlackに投稿したりします。
  • インテリジェントチャネルモニタリング: 問題、メンション、キーワードを検索し、ワークフローや自動応答をトリガーします。
  • コンテキストに基づいたAI応答: AIは最近の会話履歴を読み、任意のチャネルで個別の応答を生成できます。
  • バルクメッセージ操作: アーカイブ、削除、メッセージの転送をAI駆動のプロンプトに応じて行います。
  • オンボーディングボット: 新メンバーの参加時に歓迎メッセージやオンボーディング指示を送信します。
  • インシデント応答: エラーやインシデントチャネルを監視し、アラートの要約やステータス更新を投稿します。

よくある質問

Q1: Slack MCPサーバーは管理者権限や特別な承認が必要ですか?
A1: いいえ。正しいスコープ(例:channels:readchat:write)を持つユーザーまたはボットトークンがあれば問題ありません。通常、ワークスペース管理者権限やカスタムSlackアプリの登録は必要ありません。

Q2: AIエージェントは私のプライベートメッセージやDMを読むことができますか?
A2: AIエージェントは、ボット/ユーザートークンがアクセスを許可されたDMやチャネルにのみアクセスできます。プライベートな会話は、トークンがそのスコープを付与している場合にのみアクセス可能で、すべてが権限スコープ内に留まります。

Q3: 権限とセキュリティはどのように確保されていますか?
A3: MCPサーバーはトークンの機能に従って厳密に動作します。Slackトークンが許可した範囲を超える操作は一切行えないため、AIとワークスペースの間の安全なブリッジが確保されます。

Q4: Slackトークンが期限切れや取り消された場合はどうなりますか?
A4: MCPサーバーはアクセスを失います。環境変数を更新して新しい有効なトークンを提供し、サーバーを再起動すれば対応できます。

Q5: 異なるワークスペースのために複数のSlack MCPサーバーを実行できますか?
A5: もちろんです。異なるトークンや設定で別々のサーバーインスタンスを起動し、それぞれをMCPクライアント内で特定のワークスペースにマップできます。