rocketchat-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | Port for HTTP transport (default: 8000) | |
| READ_ONLY | No | Set to 'true' to enable read-only mode (write tools hidden) | |
| RCMCP_LOG_JSON | No | Set to 'true' to enable JSON logging | |
| ROCKETCHAT_URL | Yes | URL of the Rocket.Chat server (e.g., https://chat.example.com) | |
| RCMCP_READ_ONLY | No | Alternative to READ_ONLY using RCMCP_ prefix | |
| ROCKETCHAT_USER_ID | Yes | User ID corresponding to the auth token | |
| RCMCP_APPROVE_WRITES | No | Set to 'true' to require human approval for consequential writes | |
| RCMCP_ENABLE_METRICS | No | Set to 'true' to expose /metrics endpoint | |
| RCMCP_GATEWAY_TOKENS | No | Comma-separated token:principal pairs for HTTP transport gateway | |
| ROCKETCHAT_AUTH_TOKEN | Yes | Personal access token for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_channelsA | List public channels. Optional |
| list_joined_channelsB | List channels the authenticated user has joined. |
| get_channel_infoA | Get details for a channel or private group by name or ID. |
| list_groupsA | List private groups the authenticated user belongs to. |
| get_channel_membersC | List members of a channel or private group. |
| get_channel_messagesB | Get channel history, newest first.
|
| search_messagesC | Search for text within a channel. |
| get_message_contextC | Get N messages before and after a target message (target flagged is_target). |
| send_messageC | Post a message to a channel or group. |
| edit_messageC | Edit an existing message (needs room_id and message_id). |
| delete_messageC | Delete a message (needs room_id and message_id). Destructive. |
| get_thread_messagesC | Get the replies in a thread. |
| get_pinned_messagesB | Get pinned messages in a channel. |
| reply_to_threadA | Reply into a thread. |
| add_reactionB | Add an emoji reaction to a message (e.g. |
| pin_messageC | Pin a message. |
| unpin_messageC | Unpin a message. |
| list_usersB | List users. Optional |
| get_user_infoA | Get details for a user by username. |
| list_dmsB | List direct-message conversations. |
| send_dmA | Send a direct message to a user (creates the DM room if needed). |
| list_room_filesC | List files shared in a room. |
| download_fileA | Download a file from the configured Rocket.Chat server. Returns an image, plain text, or a base64 blob depending on content type. Only fetches from the configured server host (SSRF-guarded, 25 MB cap). |
| send_fileB | Upload a base64-encoded file to a room. |
| get_channel_digestA | Summarise channel activity over the last N hours (active users, threads, files). |
| get_mentionsB | Get messages that mention the authenticated user in a channel. |
| get_unread_channelsA | List channels with unread messages, sorted by unread count descending. |
| mark_as_readB | Mark all messages in a channel as read (clears the unread counter). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
Each tool targets a distinct action or resource, with clear separation between message operations, channel queries, user info, and file handling. Even similar tools like get_channel_messages and search_messages have different intents, and descriptions prevent confusion.
All tool names follow a consistent verb_noun pattern in snake_case, such as add_reaction, delete_message, list_channels, and send_dm. The only minor variation is reply_to_thread, which still adheres to the same convention.
28 tools is above the typical 5-15 range for MCP servers, but the coverage of Rocket.Chat operations (messages, channels, users, files, etc.) justifies the count. It's borderline heavy but not excessive.
The toolset covers core messaging, channel reading, and user lookups, but lacks room creation/deletion (e.g., create_channel, delete_room) and administrative actions. This creates noticeable gaps for automation of the full lifecycle.