rocketchat-mcp について
rocketchat-mcpは、Rocket.Chatワークスペースに接続し、メッセージ、検索、ファイル操作、チャンネル管理を行うMCPサーバーです。MCPクライアントからワークスペースを操作するユーザー向けで、Personal Access Token認証に対応します。
主な機能
- 01チャンネルへの投稿とDM送信
- 02メッセージと未読内容の取得
- 03キーワードによるメッセージ検索
- 04ファイルのアップロードと添付の取得
- 05チャンネルの一覧表示と作成
活用シーン
- 01チャンネルやDMでのメッセージ送信
- 02ワークスペース内の過去の会話検索
- 03ファイルのアップロードや添付の保存
- 04チャンネルの作成とルーム一覧の確認
MCP 対応
MCPサーバーはstdio経由で、Rocket.Chatのメッセージ、検索、ファイル、チャンネル操作ツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx rocketchat-mcpROCKETCHAT_SERVER_URLRocketChat workspace URL, e.g. https://chat.example.comROCKETCHAT_USER_IDシークレットRocketChat user IDROCKETCHAT_AUTH_TOKENシークレットRocketChat personal access tokenローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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_ID | Rocket.Chat のユーザー ID |
ROCKETCHAT_AUTH_TOKEN | Personal 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 をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。