Rocketchat Mcp

io.github.millerchouPublished by GitHub account millerchouv0.1.0Updated Oct 24, 2026

MCP server for Rocket.Chat — messages, DMs, search, files, and channels over stdio

Overview

AI-generated overview

A local MCP server that lets an assistant read, send, search and manage messages, files and channels on a Rocket.Chat workspace.

What you can do
Send messages to channels and direct messages to users, and delete your own messages where permitted. Read channel, group and DM history with paging, search messages by keyword, and list rooms with unread messages. Upload files to a channel or user and download message attachments, including quoted ones, to local files. List rooms and users, look up user profiles, and create channels.
When to use it
Use it when you want an assistant to work inside a Rocket.Chat workspace: drafting and sending messages or DMs, catching up on unread rooms, searching past conversations, or moving attachments in and out. It suits teams already on Rocket.Chat rather than other chat platforms.
Requirements
Runs locally as a Python package via uvx. Needs the workspace URL in ROCKETCHAT_SERVER_URL, a user ID in ROCKETCHAT_USER_ID and a personal access token in ROCKETCHAT_AUTH_TOKEN; username and password are also supported as command-line options. Network access to the workspace is required, and self-signed certificates need an extra flag.
Before you install
Requires a Rocket.Chat personal access token and user ID, which grant access to the account's chats. The assistant can send messages, create channels and delete messages, so writes reach real people. Listing all rooms and users needs admin or view permissions. Downloads write files to local disk, and error messages may expose server details, though configured secrets are excluded.

Installation

In SourceWeft

  1. Open Rocketchat Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

rocketchat-mcp

An MCP server for Rocket.Chat. It lets MCP clients (Claude Desktop, Cursor, Claude Code, etc.) send and read messages, send DMs, search history, upload/download files, and manage channels on a Rocket.Chat workspace over stdio.

Actively maintained fork of elieworkspace/rocketchat-mcp, adding Personal Access Token auth, more tools, and reliability/security improvements. See NOTICE for attribution.

Tools

ToolDescription
send_message_in_channelSend a message to a channel
send_direct_messageSend a direct message to a user
delete_messageDelete a message (your own, unless the role has force-delete)
get_channel_messagesRead history of a channel/group/DM; supports offset paging and accepts a room ID or name
search_messagesKeyword search within a room (chat.search)
get_unreadList rooms with unread messages and their latest content
send_fileUpload a file to a channel or @user
download_attachmentDownload a message's attachments to local files
list_all_roomsList channels, groups and DMs ∗
list_usersList users ∗
get_user_infoGet a user's profile
create_channelCreate a channel

Quoted messages and attachments

Message listings include quoted text and uploaded files inside quotes. A quote is a snapshot shared in the containing message; the original room may no longer be accessible. Use the containing message ID when downloading a quoted attachment. You do not need to read the original room first.

download_attachment(message_id, attachment_id) downloads the selected file ID shown in the listing. Omitting attachment_id retains the existing behavior of downloading all supported attachments, now including quoted files. The server still enforces file access permissions. File references must originate from this Rocket.Chat server's upload path; redirects to file storage do not receive Rocket.Chat authentication headers. Downloads use unique temporary filenames and do not overwrite prior downloads.

HTTP errors include the server's error type and message when available, so a missing message, an access failure, and a network failure are not reduced to the same diagnosis. Configured authentication secrets are excluded from these error summaries.

∗ list_all_rooms and list_users call workspace-wide endpoints (channels.list / users.list) that require admin or the corresponding view-* permission. Every other tool works for a normal chat user.

Authentication

A normal chat user is enough for the core tools. A Personal Access Token is recommended — it keeps the token out of process arguments:

VariableDescription
ROCKETCHAT_SERVER_URLWorkspace URL, e.g. https://chat.example.com
ROCKETCHAT_USER_IDYour Rocket.Chat user ID
ROCKETCHAT_AUTH_TOKENPersonal Access Token
ROCKETCHAT_WATCHDOG_INTERVAL(optional) orphan-watchdog interval in seconds, default 60

Username/password is also supported via --username / --password. Use --no-verify-ssl for self-signed certificates.

Usage

Run with uvx

bash
uvx rocketchat-mcp --server-url https://chat.example.com

To run the latest unreleased code straight from GitHub instead:

bash
uvx --from git+https://github.com/millerchou/rocketchat-mcp rocketchat-mcp --server-url https://chat.example.com

Client configuration

json
{  "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"      }    }  }}

Local development

bash
git clone https://github.com/millerchou/rocketchat-mcpcd rocketchat-mcpuv run rocketchat.py --server-url https://chat.example.com \  --auth-token "$ROCKETCHAT_AUTH_TOKEN" --user-id "$ROCKETCHAT_USER_ID"

Reliability

Run the offline attachment and API error tests with:

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

The tests use synthetic messages and an HTTP mock transport; no chat account is needed.

Persistent HTTP connection pool, room-endpoint caching, log rotation (1 MB), and an orphan watchdog that self-exits when the MCP client process dies.

License

Modifications in this fork are released under the MIT License. This is a fork of upstream code originally published without a license; see NOTICE for details.

Source: README.md at commit cddff60

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts