mcpField
S
Slack Model Context Protocol Server

Slack Model Context Protocol Server

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

Slack Model Context Protocol Server について

Claude Desktop などの MCP クライアントから Slack を利用するコネクターです。ワークスペースでのメッセージ送信とメンバー一覧の取得に対応しています。

主な機能

  1. 01Slack へのメッセージ送信
  2. 02ワークスペースユーザーの一覧取得
  3. 03ボット OAuth トークンで接続

活用シーン

  1. 01Slack チャンネルへの歓迎メッセージ送信
  2. 02ワークスペースメンバーの確認

MCP 対応

MCP サーバーとして Slack ワークスペースに接続し、クライアントにメッセージ送信とユーザー一覧取得の機能を提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Slack Model Context Protocol サーバー

これは、Claude Desktop(または任意の MCP クライアント)が Slack ワークスペースと連携し、メッセージを投稿したり、すべてのユーザーの一覧を取得したりできるようにするコネクターです。

ローカル開発

このクライアントをローカルで実行するには、次の設定を Claude Desktop の MCP サーバー設定ファイルに追加してください。

 {
  "mcpServers": {
    "mcp-slack-local": {
      "command": "node",
      "args": ["/path/to/project/dist/index.js"], <---- replace this with your project path
      "env": {
        "SLACK_BOT_USER_OAUTH_TOKEN": "test-bot-token", 
        "SLACK_TEAM_ID": "test-team-id"
      }
    },
  }
}

これで、次のようなプロンプトを使って Claude Desktop アプリでこの実装をテストできます。

  • 「Slack チームのすべてのユーザーを一覧表示できますか?」
  • 「ID が <channel id> の Slack チャンネルにウェルカムメッセージを送信できますか?」

サーバーをローカルで実行するには:

node dist/index.js

別のターミナルでビルドを実行します。

npm run watch

Slack の権限スコープ

次の権限はすでに実装されています。

権限説明実装済み
app_configurations:readApp Manifest API を介してアプリの設定情報を読み取ります❌
app_configurations:writeApp Manifest API を介してアプリの設定情報を書き込み、アプリを作成します❌
app_mentions:readアプリが参加している会話で、@your_slack_app に直接言及しているメッセージを表示します❌
assistant:writeslack アプリが AI アシスタントとして動作できるようにします❌
bookmarks:readブックマークを一覧表示します❌
bookmarks:writeブックマークを作成、編集、削除します❌
calls:read進行中および過去の通話に関する情報を表示します❌
calls:writeワークスペース内で通話を開始および管理します❌
canvases:readslack アプリは、Slack 内で作成されたキャンバスの内容にアクセスできます。❌
canvases:writeslack アプリは、キャンバスを作成、編集、削除できます。❌
channels:historyslack アプリが追加されているパブリックチャンネルのメッセージやその他のコンテンツを表示します❌
channels:joinワークスペース内のパブリックチャンネルに参加します❌
channels:manageslack アプリが追加されているパブリックチャンネルを管理し、新しいチャンネルを作成します❌
channels:readワークスペース内のパブリックチャンネルの基本情報を表示します❌
channels:write.invitesパブリックチャンネルにメンバーを招待します❌
channels:write.topicパブリックチャンネルの説明を設定します❌
chat:write承認済みのチャンネルや会話にメッセージを投稿します✅
chat:write.customizeカスタマイズしたユーザー名とアバターを使用して、@your_slack_app としてメッセージを送信します❌
chat:write.publicslack アプリが参加していないチャンネルにメッセージを送信します❌
commandsユーザーが使用できるショートカットやスラッシュコマンドを追加します❌
conversations.connect:manageslack アプリが Slack Connect チャンネルを管理できるようにします❌
conversations.connect:readslack アプリが参加しているチャンネルに送信された Slack Connect の招待イベントを受信します❌
conversations.connect:writeslack アプリが追加されているチャンネルへの Slack Connect 招待を作成し、slack アプリに送信された招待を承諾します❌
datastore:readSlack App Datastore のデータを表示および参照します❌
datastore:writeSlack App Datastore にデータを書き込みます❌
dnd:readワークスペース内のユーザーの通知非表示設定を表示します❌
emoji:readワークスペース内のカスタム絵文字を表示します❌
files:readslack アプリが追加されているチャンネルや会話で共有されたファイルを表示します❌
files:writeslack アプリとしてファイルをアップロード、編集、削除します❌
groups:historyslack アプリが追加されているプライベートチャンネルのメッセージやその他のコンテンツを表示します❌
groups:readslack アプリが追加されているプライベートチャンネルの基本情報を表示します❌
groups:writeslack アプリが追加されているプライベートチャンネルを管理し、新しいチャンネルを作成します❌
groups:write.invitesプライベートチャンネルにメンバーを招待します❌
groups:write.topicプライベートチャンネルの説明を設定します❌
im:historyslack アプリが追加されているダイレクトメッセージのメッセージやその他のコンテンツを表示します❌
im:readslack アプリが追加されているダイレクトメッセージの基本情報を表示します❌
im:writeユーザーとのダイレクトメッセージを開始します❌
im:write.topicダイレクトメッセージの説明を設定します❌
incoming-webhook特定のチャンネルにメッセージを投稿する一方向の Webhook を作成します❌
links.embed:writeメッセージやアプリのサーフェスに動画プレーヤーの URL を埋め込みます❌
links:readメッセージ内の URL を表示します❌
links:writeメッセージ内の URL のプレビューを表示します❌
metadata.message:readslack アプリが追加されているチャンネル内のメッセージメタデータを、slack アプリが読み取れるようにします❌
mpim:historyslack アプリが追加されているグループダイレクトメッセージのメッセージやその他のコンテンツを表示します❌
mpim:readslack アプリが追加されているグループダイレクトメッセージの基本情報を表示します❌
mpim:writeユーザーとのグループダイレクトメッセージを開始します❌
mpim:write.topicグループダイレクトメッセージの説明を設定します❌
noneスコープなしでメソッドを実行します❌
pins:readslack アプリが追加されているチャンネルや会話のピン留めされたコンテンツを表示します❌
pins:writeピン留めされたメッセージやファイルを追加および削除します❌
reactions:readslack アプリが追加されているチャンネルや会話の絵文字リアクションと、それに関連するコンテンツを表示します❌
reactions:write絵文字リアクションを追加および編集します❌
reminders:readslack アプリが作成したリマインダーを表示します❌
reminders:writeリマインダーを追加、削除、または完了としてマークします❌
remote_files:readワークスペース内でアプリが追加したリモートファイルを表示します❌
remote_files:shareユーザーに代わってリモートファイルを共有します❌
remote_files:writeユーザーに代わってリモートファイルを追加、編集、削除します❌
search:read.filesファイル内のワークスペースのコンテンツを検索します❌
search:read.imダイレクトメッセージ内のワークスペースのコンテンツを検索します❌
search:read.mpimグループダイレクトメッセージ内のワークスペースのコンテンツを検索します❌
search:read.privateプライベートチャンネル内のワークスペースのコンテンツを検索します❌
search:read.publicパブリックチャンネル内のワークスペースのコンテンツを検索します❌
team.billing:readslack アプリがインストールされているワークスペースの請求プランを、slack アプリが読み取れるようにします❌
team.preferences:readslack アプリがインストールされているワークスペースの環境設定を、slack アプリが読み取れるようにします❌
team:readslack アプリが接続されているワークスペースの名前、メールドメイン、アイコンを表示します❌
tokens.basicスコープなしでメソッドを実行します❌
triggers:read新しい Platform トリガーを読み取ります❌
triggers:write新しい Platform トリガーを作成します❌
usergroups:readワークスペース内のユーザーグループを表示します❌
usergroups:writeユーザーグループを作成および管理します❌
users.profile:readワークスペース内のユーザーのプロフィール詳細を表示します❌
users:readワークスペース内のユーザーを表示します✅
users:read.emailワークスペース内のユーザーのメールアドレスを表示します❌
users:writeslack アプリのプレゼンスを設定します❌
workflow.steps:executeWorkflow Builder でユーザーが使用できるステップを追加します❌
workflows.templates:readワークフローテンプレートを読み取ります❌
workflows.templates:writeワークフローテンプレートを書き込みます❌

お問い合わせ

ご質問がございましたら、AVIMBU までお気軽にお問い合わせください。

コメント

MCP は初めてですか?

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

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