Slack MCP Client について
TypeScript で書かれた Slack 向け MCP クライアントで、複数の MCP サーバー接続方式に対応しています。Slack ユーザーがボット会話内からツールを呼び出せます。
主な機能
- 01HTTP、Stdio、SSE など複数のサーバープロトコル対応
- 02OAuth 認可フロー
- 03MCP ツール呼び出し
- 04ローカル開発と Socket Mode デプロイメント
活用シーン
- 01Slack 会話内のワークフロー自動化
- 02ボット経由の外部サービスやツール呼び出し
- 03複数の MCP サーバーをチームチャットに統合
MCP 対応
このクライアントは MCP サーバーに接続し、そのツールをボットに公開して、Slack 会話内でツール呼び出しを可能にします。
詳細
Slack MCP クライアント
Typescript で書かれた MCP クライアント機能を持つ Slack ボット。
現在のサポート:
- バージョン 2025-03-26 で定義された HTTP Streamable、Stdio MCP サーバー
- バージョン 2025-03-26 で定義された OAuth ベースの認可フロー
- プロトコルの前のバージョンで定義された SSE MCP サーバー
- MCP ツールのみ(近日公開予定)
動作を簡潔に紹介する動画をチェックしてください!この動画は、プロトコルの最新認証仕様に対応したこの linkedin-mcp-serverを使用しています。
https://github.com/user-attachments/assets/1232d292-4a30-44c4-a05d-bf07d7c5c882
インストール
ローカルで実行するには、以下の手順に従ってください。
ngrok をセットアップしてアプリをローカルで実行する
- http://localhost:3000 を web に公開します: https://ngrok.com/docs/getting-started/
- ngrok を使いたくない場合は、slack アプリの socketMode を使用することもできます。Bolt App のインスタンス化時に socketMode を true に設定し、slack アプリ管理ダッシュボードでアプリの socketMode を有効化する必要があります。
Slack アプリをセットアップする
- slack-app-manifest.json を編集します: ngrok の URL を request_url フィールドにコピーします。
- slack ワークスペースに新しいアプリを追加します。slack-app-manifest.json ファイルで設定できます。
- env.example ファイルから .env ファイルを作成します。
cp .env.example .env
- Slack トークンを入力します:
- アプリの基本情報ページから署名シークレット
- アプリの基本情報ページで生成できる connections:write スコープを持つアプリレベルトークン
- OAuth とパーミッションページから取得できる Slack ボットトークン
- 認可リダイレクト URL を ngrok URL で更新します。
要件
- Node 22 (
lts/jod) - pnpm 10
- OpenAI API キー
- stdio、sse、またはストリーミング可能な HTTP 経由でアクセス可能な MCP サーバーが実行されています。必要に応じてこのリストをチェックしてください!
手順
- 依存関係をインストールします:
pnpm install
- mcp.json ファイルを作成し、MCP サーバー設定を追加します。必要に応じてこの MCP サーバーのリストをチェックしてください。
cp mcp-example.json mcp.json
- クライアントを実行します:
pnpm run dev
- ボットとの新しいスレッドを開いて、楽しんでください。
便利なドキュメント
- Bolt AI Assistant Apps: https://tools.slack.dev/bolt-js/concepts/ai-apps/
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細はLICENSEファイルを参照してください。
貢献
貢献を歓迎します!気軽に issue を開くか、プルリクエストを提出してください🚀!
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。