Slack-MCP サーバー
Slack APIにアクセスするためのMCP(Model Context Protocol)サーバー。このサーバーにより、AIアシスタントは標準化されたインターフェースを介してSlack APIと対話できるようになります。
特徴
利用可能なツール:
slack_list_channels- ワークスペース内のパブリックチャンネルをページ区切りで一覧表示しますslack_post_message- Slackチャンネルに新しいメッセージを投稿するslack_reply_to_thread- Slack の特定のメッセージスレッドに返信するslack_add_reaction- メッセージに反応絵文字を追加するslack_get_channel_history- チャンネルから最近のメッセージを取得するslack_get_thread_replies- メッセージスレッド内のすべての返信を取得するslack_get_users- ワークスペース内のすべてのユーザーの基本プロフィール情報を取得しますslack_get_user_profile- ユーザーのプロフィール情報を取得するslack_search_messages- ワークスペース内のメッセージを検索する
Related MCP server: MCP Toolkit
クイックスタート
インストール
npm install @ubie-oss/slack-mcp-server注意: 現在、GitHub レジストリでホストされているため、PAT が必要です。
構成
次の環境変数を設定する必要があります。
SLACK_BOT_TOKEN: Slack ボットユーザー OAuth トークンSLACK_USER_TOKEN: Slack ユーザー OAuth トークン (メッセージ検索などの一部の機能に必要)
.envファイルを作成して、次の環境変数を設定することもできます。
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_USER_TOKEN=xoxp-your-user-token使用法
MCPサーバーを起動する
直接:
npx @ubie-oss/slack-mcp-serverまたは、インストールしたモジュールを node で実行します。
node node_modules/.bin/slack-mcp-serverクライアントの MCP 構成 json を編集します。
{
"slack": {
"command": "npx",
"args": [
"-y",
"@ubie-oss/slack-mcp-server"
],
"env": {
"NPM_CONFIG_//npm.pkg.github.com/:_authToken": "<your-github-pat>",
"SLACK_BOT_TOKEN": "<your-bot-token>",
"SLACK_USER_TOKEN": "<your-user-token>"
}
}
}実装パターン
このサーバーは次の実装パターンを採用しています。
Zodスキーマを使用してリクエスト/レスポンスを定義する
リクエストスキーマ: 入力パラメータを定義する
レスポンススキーマ: 必要なフィールドに限定したレスポンスを定義する
実装フロー:
Zodスキーマでリクエストを検証する
Slack WebAPIを呼び出す
Zodスキーマを使用してレスポンスを解析し、必要なフィールドに限定する
JSONとして返す
たとえば、 slack_list_channels実装は、 ListChannelsRequestSchemaを使用してリクエストを解析し、 slackClient.conversations.listを呼び出し、 ListChannelsResponseSchemaを使用して解析されたレスポンスを返します。
発達
利用可能なスクリプト
npm run dev- ホットリロードで開発モードでサーバーを起動しますnpm run build- 本番環境用にプロジェクトをビルドするnpm run start- 本番サーバーを起動するnpm run lint- リンティングチェックを実行する(ESLint と Prettier)npm run fix- リンティングの問題を自動的に修正する
貢献
リポジトリをフォークする
機能ブランチを作成する
テストとリンティングを実行する:
npm run lint変更をコミットする
ブランチにプッシュする
プルリクエストを作成する
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.