mcpField
R
rocketchat-mcp

rocketchat-mcp

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

rocketchat-mcp について

rocketchat-mcpは、Rocket.Chatワークスペースに接続し、メッセージ、検索、ファイル操作、チャンネル管理を行うMCPサーバーです。MCPクライアントからワークスペースを操作するユーザー向けで、Personal Access Token認証に対応します。

主な機能

  1. 01チャンネルへの投稿とDM送信
  2. 02メッセージと未読内容の取得
  3. 03キーワードによるメッセージ検索
  4. 04ファイルのアップロードと添付の取得
  5. 05チャンネルの一覧表示と作成

活用シーン

  1. 01チャンネルやDMでのメッセージ送信
  2. 02ワークスペース内の過去の会話検索
  3. 03ファイルのアップロードや添付の保存
  4. 04チャンネルの作成とルーム一覧の確認

MCP 対応

MCPサーバーはstdio経由で、Rocket.Chatのメッセージ、検索、ファイル、チャンネル操作ツールをMCPクライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"millerchou-rocketchat": {
"command": "uvx",
"args": [
"rocketchat-mcp"
],
"env": {
"ROCKETCHAT_SERVER_URL": "<ROCKETCHAT_SERVER_URL>",
"ROCKETCHAT_USER_ID": "<ROCKETCHAT_USER_ID>",
"ROCKETCHAT_AUTH_TOKEN": "<ROCKETCHAT_AUTH_TOKEN>"
}
}
}
}
起動コマンドuvx rocketchat-mcp
設定が必要な環境変数
ROCKETCHAT_SERVER_URLRocketChat workspace URL, e.g. https://chat.example.com
ROCKETCHAT_USER_IDシークレットRocketChat user ID
ROCKETCHAT_AUTH_TOKENシークレットRocketChat personal access token

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

パッケージ
pypirocketchat-mcp0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

rocketchat-mcp

Rocket.Chat 用の MCP サーバーです。 MCP クライアント(Claude Desktop、Cursor、Claude Code など)から、stdio 経由で Rocket.Chat ワークスペース上の メッセージの送信・閲覧、ダイレクトメッセージの送信、履歴の検索、ファイルのアップロード・ダウンロード、チャンネルの管理を行えます。

elieworkspace/rocketchat-mcp を積極的にメンテナンスしているフォークです。Personal Access Token 認証、ツールの追加、信頼性とセキュリティの 改善を行っています。クレジット表記については NOTICE をご覧ください。

ツール

ツール説明
send_message_in_channelチャンネルにメッセージを送信します
send_direct_messageユーザーにダイレクトメッセージを送信します
delete_messageメッセージを削除します(自分のメッセージ。ロールに強制削除権限がある場合を除きます)
get_channel_messagesチャンネル/グループ/DM の履歴を読み込みます。offset によるページネーションに対応し、ルーム ID または名前を指定できます
search_messagesルーム内をキーワード検索します(chat.search)
get_unread未読メッセージがあるルームと最新の内容を一覧表示します
send_fileチャンネルまたは @user にファイルをアップロードします
download_attachmentメッセージの添付ファイルをローカルファイルにダウンロードします
list_all_roomsチャンネル、グループ、DM を一覧表示します ∗
list_usersユーザーを一覧表示します ∗
get_user_infoユーザーのプロフィールを取得します
create_channelチャンネルを作成します
引用されたメッセージと添付ファイル

メッセージの一覧には、引用内のテキストとアップロード済みファイルが含まれます。引用は、それを含むメッセージ内で共有されるスナップショットです。元のルームにはアクセスできなくなっている場合があります。 引用された添付ファイルをダウンロードする際は、引用を含むメッセージの ID を使用してください。先に元のルームを読む必要はありません。

download_attachment(message_id, attachment_id) は、一覧に表示されたファイル ID を指定してファイルをダウンロードします。 attachment_id を省略すると、従来どおり、引用されたファイルも含め、サポートされているすべての添付ファイルをダウンロードします。サーバーは引き続きファイルへのアクセス権限を適用します。ファイル参照は、この Rocket.Chat サーバーのアップロードパスを起点とする必要があります。ファイルストレージへのリダイレクトには Rocket.Chat 認証ヘッダーが付与されません。 ダウンロードには一意の一時ファイル名が使用され、以前のダウンロードが上書きされることはありません。

HTTP エラーには、取得できる場合、サーバーのエラータイプとメッセージが含まれます。そのため、メッセージが見つからない場合、アクセスに失敗した場合、ネットワークに障害が発生した場合を同じ診断結果にまとめません。 設定された認証シークレットは、これらのエラーの概要から除外されます。

∗ list_all_rooms と list_users はワークスペース全体を対象とするエンドポイント(channels.list/users.list)を呼び出すため、管理者権限または対応する view-* 権限が必要です。それ以外のすべてのツールは、通常のチャットユーザーとして利用できます。

認証

基本的なツールの利用には通常のチャットユーザーで十分です。プロセス引数にトークンを含めずに済む Personal Access Token の使用をおすすめします。

変数説明
ROCKETCHAT_SERVER_URLワークスペースの URL。例:https://chat.example.com
ROCKETCHAT_USER_IDRocket.Chat のユーザー ID
ROCKETCHAT_AUTH_TOKENPersonal Access Token
ROCKETCHAT_WATCHDOG_INTERVAL(任意)孤立プロセス監視の間隔(秒)。デフォルトは 60

--username/--password によるユーザー名とパスワードの認証にも対応しています。 自己署名証明書を使用する場合は --no-verify-ssl を指定してください。

使用方法

uvx で実行
uvx rocketchat-mcp --server-url https://chat.example.com

GitHub の最新の未リリースコードを直接実行するには、次のようにします。

uvx --from git+https://github.com/millerchou/rocketchat-mcp rocketchat-mcp --server-url https://chat.example.com
クライアントの設定
{
  "mcpServers": {
    "rocketchat": {
      "command": "uvx",
      "args": ["rocketchat-mcp"],
      "env": {
        "ROCKETCHAT_SERVER_URL": "https://chat.example.com",
        "ROCKETCHAT_USER_ID": "your_user_id",
        "ROCKETCHAT_AUTH_TOKEN": "your_personal_access_token"
      }
    }
  }
}
ローカル開発
git clone https://github.com/millerchou/rocketchat-mcp
cd rocketchat-mcp
uv run rocketchat.py --server-url https://chat.example.com \
  --auth-token "$ROCKETCHAT_AUTH_TOKEN" --user-id "$ROCKETCHAT_USER_ID"

信頼性

オフラインで添付ファイルと API エラーのテストを実行するには、次のコマンドを使用します。

uv run python -m unittest discover -s tests -v

テストでは合成メッセージと HTTP モックトランスポートを使用するため、チャットアカウントは不要です。

永続的な HTTP 接続プール、ルームエンドポイントのキャッシュ、ログローテーション(1 MB)、および MCP クライアントのプロセスが終了すると自動的に終了する孤立プロセス監視機能を備えています。

ライセンス

このフォークでの変更は MIT License のもとで公開されています。 ライセンスなしで最初に公開された上流コードのフォークです。詳細については NOTICE をご覧ください。

コメント

MCP は初めてですか?

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

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