Rocket.Chat MCP server
Community MCP server for Rocket.Chat: read and post messages, manage threads, DMs, files, reactions, and pins across your team chat.
rocketchat-mcp is a community MCP server that connects an agent to a Rocket.Chat instance — the open-source, self-hostable team-chat platform — with 28 tools spanning the surfaces a chat assistant actually needs. It can list channels and groups, read channel and thread messages, search across history, and pull message context, then send, edit, and delete messages, reply in threads, and send or read direct messages by username.
Beyond messaging it handles files (list, upload, and download room files), reactions and pins (add reactions, pin and unpin messages, list pinned messages), users (list users, get profile info), and a set of analytics-style helpers — channel digests, mentions, unread channels, and mark-as-read — that let an agent triage what happened while you were away. It runs as a Docker container (ghcr.io/enyonee/rocketchat-mcp) and authenticates against your server with a personal access token (ROCKETCHAT_AUTH_TOKEN) and user ID, pointed at your ROCKETCHAT_URL. Because it can post to real channels and DM real people, scope the token carefully and keep send tools behind review where it matters. It is MIT-licensed and built for agents like Claude Code and Cursor.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Available tools
| Tool | Description |
|---|---|
| list_channels | List the channels on the Rocket.Chat server. |
| list_joined_channels | List the channels the authenticated user has joined. |
| get_channel_info | Get details about a specific channel. |
| list_groups | List the private groups available to the user. |
| get_channel_members | List the members of a channel. |
| get_channel_messages | Retrieve recent messages from a channel. |
| search_messages | Search messages across channels by query. |
| get_message_context | Get the surrounding messages for a given message. |
| send_message | Send a message to a channel. |
| edit_message | Edit an existing message. |
| delete_message | Delete a message. |
| get_thread_messages | Retrieve the messages in a thread. |
| reply_to_thread | Post a reply within a thread. |
| list_dms | List the user's direct message conversations. |
| send_dm | Send a direct message to a user by username. |
| list_room_files | List the files shared in a room. |
| download_file | Download a file from a room. |
| send_file | Upload and send a file to a room. |
| list_users | List the users on the server. |
| get_user_info | Get profile information for a user. |
| add_reaction | Add an emoji reaction to a message. |
| pin_message | Pin a message in a channel. |
| unpin_message | Unpin a message. |
| get_pinned_messages | List the pinned messages in a channel. |
| get_channel_digest | Get a digest summary of activity in a channel. |
| get_mentions | List messages that mention the authenticated user. |
| get_unread_channels | List channels with unread messages. |
| mark_as_read | Mark a channel's messages as read. |
Required configuration
- ROCKETCHAT_URLRequired
Base URL of your Rocket.Chat server. Required.
- ROCKETCHAT_AUTH_TOKENRequired
Rocket.Chat personal access token. Required.
- ROCKETCHAT_USER_IDRequired
Rocket.Chat user ID that owns the token. Required.
What you can do with it
Triage what happened while you were away
The agent calls get_mentions, get_unread_channels, and get_channel_digest to summarize the conversations that need you, then marks the noise as read with mark_as_read — turning a backlog into a short brief.
Post updates and answer from context
When a job finishes, the agent reads a thread for context with get_thread_messages, then posts the result back with reply_to_thread or send_message, attaching a file with send_file when needed.
FAQ
- Is it free?
- Yes. The MCP server is open source (MIT) and free to run. You connect it to your own Rocket.Chat instance (Rocket.Chat itself is open source and self-hostable, with paid cloud and enterprise tiers available).
- Does it support remote/OAuth?
- There is no OAuth flow. It runs as a Docker container and authenticates to your server with a Rocket.Chat personal access token and user ID. Scope the token to least privilege since the server can post messages and DM users.
- Which clients work with it?
- Any MCP client. It is built and documented for agents like Claude Code and Cursor and runs via the published Docker image.