すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

お役立ち情報

更新日:

【お役立ち情報】 3.MCPサーバー導入とClaude Desktopの設定(MCPによるSlack連携実装)

ぴっかちゃん
ぴっかちゃん

Slack 用の MCP サーバーを介して、Claude Desktop からSlackのチャンネルを操作できるようにします。

いよいよ Claude Desktop と Slack を実際に連携するための最終設定を行います。

この手順が完了すれば、Claude Desktop から Slack のチャンネルを読み取ったり、メッセージを投稿したりといった操作が可能になります。

それでは、MCP サーバーの導入を進めていきましょう。

Slack の MCP サーバーとは

Slack の MCP サーバーは、Slack と Claude Desktop などの AI アプリを連携させるための仕組みです。MCP サーバーを介することで、AI アプリが Slack の API を安全に操作できるようになります。

Slack の MCP サーバーを利用すると、AI アプリから次のような操作が可能になります。

  • チャンネルにメッセージを投稿する
  • チャンネルに投稿されたメッセージを確認する
  • メッセージにリアクションを付ける
  • 投稿されたメッセージを検索する

1.Slack用MCP サーバーのインストール

npm を使って Slack 用の MCP サーバーをインストールします。

「Windows PowerShell」を管理者として実行しましょう。

スタートメニューで「Windows PowerShell」を検索し、「管理者として実行する」をクリックしてください。

管理者の PowerShell で次のコマンドを実行してください。
Windows PowerShell
1
npm install -g @modelcontextprotocol/server-slack

2.Slack連携のためのClaude Desktopの設定

Claude Desktop の設定用 JSON ファイルに、これまで取得した トークンや Slack のワークスペース ID などの情報を入力していきます。

Slack App で発行したトークンは、MCP が Slack にアクセスするための「鍵」にあたります。この情報を Claude Desktop 側に正しく設定することで、はじめて Claude Desktop から Slack を操作できるようになります。

Claude Desktopを開き、左下のアカウントメニューをクリックしましょう。

表示されたメニューから「設定」をクリックしましょう。

設定のサイドメニューの「開発者」をクリックしましょう。

「設定を編集」をクリックしましょう。

「claude_desktop_config.json」を開きましょう。

Claude の「設定を編集」を押すと、「claude_desktop_config.json」がエクスプローラーで表示されるので、エディタで開きましょう。

ファイルを開くと、初期状態では設定が何もないため、{} だけが表示されます。

「claude_desktop_config.json」に、以下のコードをコピーして貼り付けましょう。

「claude_desktop_config.json」に初期状態で表示される{} を削除して、以下を全てコピーして貼り付けましょう。

claude_desktop_config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "mcpServers": {
    "slack": {
      "command": "Node.jsの実行ファイルのパス(手動で入力)",
      "args": [
        "--experimental-modules",
        "npmのグローバル保存パス(手動で入力)\\@modelcontextprotocol\\server-slack\\dist\\index.js",
        "--token",
        "Bot User OAuth Token(手動で入力)"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "Bot User OAuth Token(手動で入力)",
        "SLACK_TEAM_ID": "SlackワークスペースID(手動で入力)"
      }
    }
  }
}

ハイライトされている箇所は人それぞれ異なるため、ご自身の環境に合わせて手動で情報を入力していきます。

Slack App を作成した際に取得したトークンを貼り付けよう

先ほど Slack App を作成した際に、以下の該当ページで取得したトークンを使用します。

トークンの表示

上記のトークンをコピーし、「claude_desktop_config.json」の以下の箇所に貼り付けましょう。値は必ず"(ダブルクォーテーション)で囲いましょう。

Slack ワークスペースIDを入力しましょう。

SLACK_TEAM_IDの値には、SlackのワークスペースIDを入力します。

Slack のワークスペース ID は、Web 上で開いている Slack のブラウザの URL から確認できます。以下のように、client// の間に表示されている文字列がワークスペース ID なので、この値を SLACK_TEAM_IDの値 に入力しましょう。

ワークスペースID

commandの値を入力しましょう。

次にcommandの値を入力していきます。

commandの値は、管理者の PowerShell で次のコマンドを実行することでわかります。

管理者の PowerShell で次のコマンドを実行してください。

Windows PowerShell
1
Get-Command node

実行すると、以下のように右側にSorceが表示されるので、コピーしてcommandの値に貼り付けましょう。なお、表示される値は画像のものと一致するとは限りません。必ずコマンドを実行し、ご自身の環境で表示された値を貼り付けてください。

注意事項
「claude_desktop_config.json」に貼り付けた際、バックスラッシュ(\)が1つだけになっている場合があります。その場合は、バックスラッシュを2つ(\\)に修正してください。1つのままだと正常に動作しません。

この後の設定も同様です。これは今回の Slack の設定に限らず、他の外部ツールと連携する場合でも共通の注意点です。

npmのグローバル保存パスを入力しましょう。

最後に、npmのグローバル保存パスの箇所を入力していきます。

管理者の PowerShell で次のコマンドを実行することでわかります。

管理者の PowerShell で次のコマンドを実行してください。

Windows PowerShell
1
npm root -g

表示された結果をコピーし、「claude_desktop_config.json」の該当箇所に貼り付けましょう。貼り付けた際に、バックスラッシュ(\)が1つになっている箇所はすべて2つ(\\)に修正してください。

ここまでの「claude_desktop_config.json」の内容を確認しましょう。

最終的には、「claude_desktop_config.json」の内容は以下のようになります。

設定ファイル内の各値は、Slack APIで取得したトークンやコマンドを使ってご自身の環境で調べたものを入力しています。以下はあくまで一例であり、表示されている内容とすべて同じである必要はありません。

使用しているエディタで自動保存機能を使っていない方は、必ず「保存」の操作をしておきましょう。

Claude Desktop を一旦終了して、再起動しましょう。

Claude Desktop 画面左上の 三本線(≡)メニュー をクリックし、表示されたメニューから [ファイル] > [終了] を選択します。

アプリが閉じたら、もう一度 Claude Desktop を起動してください。

※ Claude Desktop を起動したときに、以下の画面が表示された場合

以下の画面が表示された場合は、「claude_desktop_config.json」の設定が正しくない可能性があります。設定内容を確認しましょう。

Claude Desktop で「Slack 連携(MCP)」を有効化しましょう。

起動後、入力欄の「+」ボタンをクリックし、表示されたメニューから [コネクタ] を選択し、Slack があることを確認し、オンにしましょう。

3.Slack 側の最終設定

Claude Desktop で Slack を有効化しただけでは、Slack のチャンネルを操作できる状態にはなりません。Slack では、連携に使用するアプリ(Bot)は 招待されたチャンネルでのみメッセージの読み取りや投稿などが可能です。

そのため、先ほど作成した Slack App(slack_mcp) を、連携したいチャンネルに招待する必要があります。

slack_mcpを連携したいチャンネルへ招待しましょう。

Slack の#allチャンネルを開き、メッセージ入力欄に/invite @slack_mcpを入力して「Enter」を押して実行します。

実行後、チャンネル内に以下の内容が表示されていれば、アプリをチャンネルに追加できています。

これで、Claude Desktop から MCP を経由して、指定したチャンネル内の操作ができるようになります。

4.実際に操作してみよう

ここまでの設定が正しくできているかを確認するために、Claude Desktop から Slack を実際に操作してみましょう。

Claude Desktop に、次の内容を入力して実行してみましょう。
投稿内容
1
最近はやりのIT技術について教えてください。その内容をSlackのチャンネルに投稿してください。

Claude Desktop アプリで MCP を介して外部ツールを利用しようとした際、以下のように「一度だけ許可」「常に許可」などの選択肢が表示されることがあります。

これは、Claude が 外部ツールへアクセス・処理を実行することに対する利用許可を確認するための表示です。このような表示が出た場合は、どちらかの許可をクリックしましょう。

Slack のチャンネルを確認すると、以下のようにメッセージが投稿されているはずです。
※投稿内容は必ずしも同じになるとは限りません。

これで、MCP 連携が正しく動作していることを確認できました。

Claude Desktop から Slack チャンネルを自由に操作してみましょう。

slack_mcpには、以下の権限を付与しています。Claude Desktop から付与した範囲内で自由に指示を出して、実際にチャンネルを操作してみましょう。

scope 役割
channels:history パブリックチャンネルのメッセージやその他のコンテンツを閲覧する
channels:read 基本的なチャンネル情報を表示する
chat:write アプリとしてメッセージを送信
reactions:write メッセージに絵文字リアクションを追加する
users.profile:read ユーザーとその基本情報を表示する
users:read ユーザーの詳細なプロフィールを表示する