channelchat について
channelchatは、Slack Web APIを通じてSlackワークスペースを操作するMCPサーバーです。チャンネル、メッセージ、スレッド、リアクション、ユーザー情報を扱う8つのツールを提供し、環境変数でボットトークンとワークスペースIDを受け取ります。
主な機能
- 01Slackチャンネルの一覧表示
- 02メッセージ投稿とスレッド返信
- 03チャンネル履歴とスレッド返信の取得
- 04メッセージへのリアクション追加
- 05ユーザー一覧とプロフィール表示
- 06Slack APIエラーの伝達
活用シーン
- 01ワークスペースへのメッセージ投稿
- 02スレッドで会話を続ける
- 03チャンネル履歴やメンバー情報の確認
- 04Slackメッセージへのリアクション追加
MCP 対応
MCPクライアント向けに、チャンネル、メッセージ、スレッド、リアクション、ユーザーを扱う8つのSlackツールを提供します。呼び出しには`SLACK_BOT_TOKEN`と`SLACK_TEAM_ID`が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 返すチャンネルの最大数。 |
| types | string | いいえ | 一覧表示するチャンネル種別をカンマ区切りで指定します。例:public_channel または private_channel。 |
| exclude_archived | boolean | いいえ | 結果からアーカイブ済みチャンネルを除外するかどうか。 |
詳細
channelchat
channelchat は、Slack ワークスペース内で MCP クライアントが実際に操作できるようにします。チャンネルの一覧表示、メッセージの投稿、スレッドでの会話、リアクションの追加、履歴の確認、メンバー一覧の表示ができます。 server-slack でドキュメント化されているツールセット全体(8つのツールすべて)を、Slack Web API に対して実装しています。
元のサーバーと同じく、2つの環境変数が必要です。SLACK_BOT_TOKEN(Bearer トークンとして送信される、ボットユーザーの OAuth トークン)と、SLACK_TEAM_ID(ワークスペース ID。これを受け取るメソッドに渡されます)です。いずれかが設定されていない場合、ハンドシェイクに失敗する代わりに、すべての呼び出しで不足している変数名を示すエラーが返されます。
Slack の Web API は、呼び出しが失敗していても HTTP 200 を返し、本文に ok: false を含めます。channelchat は本文の error 文字列をツールエラーとして返すため、channel_not_found などのエラーがそのまま呼び出し元に届きます。
インストール
npx @reneturcios/channelchat slack_list_channels
docker run -i -e SLACK_BOT_TOKEN -e SLACK_TEAM_ID ghcr.io/cloudcorprecords/channelchat
CLI
channelchat slack_list_channels --limit 20
channelchat slack_post_message --channel-id C0123 --text "deploy finished"
channelchat slack_reply_to_thread --channel-id C0123 --thread-ts 1700000000.000100 --text "looking into it"
channelchat slack_add_reaction --channel-id C0123 --timestamp 1700000000.000100 --reaction thumbsup
channelchat slack_get_user_profile --user-id U0123
channelchat --version
終了コード:0 は成功、1 は API エラー、2 は使用方法のエラーです。
MCP サーバー
npx -y @reneturcios/channelchat mcp
{
"mcpServers": {
"channelchat": {
"command": "npx",
"args": ["-y", "@reneturcios/channelchat", "mcp"],
"env": { "SLACK_BOT_TOKEN": "xoxb-...", "SLACK_TEAM_ID": "T0123" }
}
}
}
ツール
| ツール | 必須 | 任意 |
|---|---|---|
slack_list_channels | — | types、exclude_archived、limit |
slack_post_message | channel_id、text | — |
slack_reply_to_thread | channel_id、thread_ts、text | — |
slack_add_reaction | channel_id、timestamp、reaction | — |
slack_get_channel_history | channel_id | limit |
slack_get_thread_replies | channel_id、thread_ts | — |
slack_get_users | — | cursor、limit |
slack_get_user_profile | user_id | — |
ツールの引数には、ドキュメント化されたインターフェースで呼び出し元に公開されている名前(channel_id、thread_ts、reaction、user_id)を使用します。コアは各リクエストの組み立て時に、これらを Web API のパラメーター名(channel、ts、name、user)に対応付けます。
開発
npm install
npm run build
npm test
npm run dev
テストはすべて fake-fetch フィクスチャ上で実行され、Slack の HTTP 200 と ok: false を含むエラー形式も対象にしています。ネットワークは使用しません。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。