mcpField
C
channelchat

channelchat

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

channelchat について

channelchatは、Slack Web APIを通じてSlackワークスペースを操作するMCPサーバーです。チャンネル、メッセージ、スレッド、リアクション、ユーザー情報を扱う8つのツールを提供し、環境変数でボットトークンとワークスペースIDを受け取ります。

主な機能

  1. 01Slackチャンネルの一覧表示
  2. 02メッセージ投稿とスレッド返信
  3. 03チャンネル履歴とスレッド返信の取得
  4. 04メッセージへのリアクション追加
  5. 05ユーザー一覧とプロフィール表示
  6. 06Slack APIエラーの伝達

活用シーン

  1. 01ワークスペースへのメッセージ投稿
  2. 02スレッドで会話を続ける
  3. 03チャンネル履歴やメンバー情報の確認
  4. 04Slackメッセージへのリアクション追加

MCP 対応

MCPクライアント向けに、チャンネル、メッセージ、スレッド、リアクション、ユーザーを扱う8つのSlackツールを提供します。呼び出しには`SLACK_BOT_TOKEN`と`SLACK_TEAM_ID`が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-channelchat": {
"command": "npx",
"args": [
"-y",
"@reneturcios/channelchat"
]
}
}
}
起動コマンドnpx -y @reneturcios/channelchat

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/channelchat0.1.0
ocighcr.io/cloudcorprecords/channelchat:0.1.0

ツール

8

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
limitnumberいいえ返すチャンネルの最大数。
typesstringいいえ一覧表示するチャンネル種別をカンマ区切りで指定します。例:public_channel または private_channel。
exclude_archivedbooleanいいえ結果からアーカイブ済みチャンネルを除外するかどうか。

詳細

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_messagechannel_id、text—
slack_reply_to_threadchannel_id、thread_ts、text—
slack_add_reactionchannel_id、timestamp、reaction—
slack_get_channel_historychannel_idlimit
slack_get_thread_replieschannel_id、thread_ts—
slack_get_users—cursor、limit
slack_get_user_profileuser_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 を参照してください。

コメント

MCP は初めてですか?

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

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