2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Slack MCP Serverでプライベートチャンネルも読み込めるようにする

Posted at

概要

Slack APIに対応したMCPサーバーが公開されており、これはパブリックチャンネルの概要やメッセージ履歴にClaudeのデスクトップアプリなどのMCPクライアントからアクセスすることができるものになります。しかし、既存のままだとプライベートチャンネルの読み込みに対応していません。
この記事では、プライベートチャンネルの読み込みにも対応する方法について書いてあります。
※MCPについての詳細な説明は省略します

警告
プライベートチャンネルの情報を読み込ませることになるため、ワークスペースの管理者などに確認を取ってから導入することをおすすめします。

Slackアプリケーションの作成

まずは下記を参考にSlackアプリケーションを作成します。

今回必要な権限は以下のとおりで、プライベートチャンネルに関係するgroupsの権限も追加してあげます。
channels:historychannels:readchat:writereactions:writeusers:readgroups:historygroups:read

MCPサーバーの事前準備

MCPサーバーに直接変更を加えるため、下記リポジトリをダウンロードしておいてください。
https://github.com/modelcontextprotocol/servers

プライベートチャンネルも読み込めるように修正

Slack APIに投げるパラメータが現状だと "public_channel" のみなので、ローカル環境で "private_channel" も追記してあげます。
https://github.com/modelcontextprotocol/servers/blob/fc5e6f4b68ec8fded6a6873098b6790b0294cf43/src/slack/index.ts#L225

- types: "public_channel",
+ types: "public_channel,private_channel",

Dockerでイメージ作成

プロジェクトのルートで下記コマンドを実行してDockerイメージをビルドします。

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

MCPクライアントでの設定(Claudeデスクトップアプリ)

上記を参考にしてclaude_desktop_config.jsonに設定を追加してあげます。

{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SLACK_BOT_TOKEN",
        "-e",
        "SLACK_TEAM_ID",
        "mcp/slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

実際に使ってみる

プライベートチャンネルにSlackアプリを招待したあとに、プロンプトで「{プライベートチャンネル名}の概要を要約してください」とでも聞いてみると無事アクセスできることが確認できるかと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?