Slack MCP Server

by ubie-oss
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports environment variable configuration through .env files for storing Slack tokens and other configuration settings.

  • Integrated for code linting during development to maintain code quality and consistency.

  • Hosts the package in GitHub Registry, requiring a Personal Access Token (PAT) for installation and access to the MCP server package.

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 - ワークスペース内のメッセージを検索する

クイックスタート

インストール

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>" } } }

実装パターン

このサーバーは次の実装パターンを採用しています。

  1. Zodスキーマを使用してリクエスト/レスポンスを定義する
    • リクエストスキーマ: 入力パラメータを定義する
    • レスポンススキーマ: 必要なフィールドに限定したレスポンスを定義する
  2. 実装フロー:
    • 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 - リンティングの問題を自動的に修正する

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. テストとリンティングを実行する: npm run lint
  4. 変更をコミットする
  5. ブランチにプッシュする
  6. プルリクエストを作成する

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

モデルコンテキスト プロトコルを実装したサーバー。これにより、AI アシスタントが標準化されたインターフェースを介して Slack API と対話できるようになり、メッセージング、チャンネル管理、ユーザー情報の取得などのツールが提供されます。

  1. Features
    1. Quick Start
      1. Installation
      2. Configuration
      3. Usage
    2. Implementation Pattern
      1. Development
        1. Available Scripts
        2. Contributing
      ID: sa995xz7mo