rocketchat-mcp-server
Provides tools for managing Rocket.Chat channels, messages, threads, direct messages, files, users, and analytics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rocketchat-mcp-serverlist recent messages in #general"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rocketchat-mcp-server
A FastMCP (Python) server for Rocket.Chat — 28 tools with AI governance,
observability, and monitoring built in. A ground-up rewrite of the Go server
rocketchat-mcp-go, applying the systematic MCP-server approach in
ADR 0001.
Highlights
28 tools across channels, messages, threads, DMs, files, users, and analytics.
Token economy: message grouping (consecutive same-user merge), compact mode, parallel thread expansion, server-side channel digests.
Governance:
READ_ONLYmode (write tools hidden), per-toolreadOnlyHint/destructiveHintannotations, optional human-in-the-loop approval for consequential writes, structured audit events, and a bearer-token gateway.Observability: structlog JSON logs with secret redaction, per-tool logging middleware,
/metrics(Prometheus), optional OpenTelemetry tracing, and/healthz+/readyz.Security: SSRF host guard + 25 MB cap on downloads, filename escaping on uploads, URL scheme validation, bounded pagination. See the security review.
Related MCP server: Slack MCP Server
Quick start
uv sync --extra dev --extra metrics
export ROCKETCHAT_URL="https://chat.example.com"
export ROCKETCHAT_AUTH_TOKEN="<personal access token>"
export ROCKETCHAT_USER_ID="<user id>"
# HTTP (Streamable) transport on :8000, endpoint /mcp
uv run rocketchat-mcp --mode http
# stdio transport (local MCP clients)
uv run rocketchat-mcp --mode stdioConfiguration
Go-compatible env vars are preserved: ROCKETCHAT_URL, ROCKETCHAT_AUTH_TOKEN,
ROCKETCHAT_USER_ID, READ_ONLY, MCP_PORT. New settings use the RCMCP_
prefix — notably RCMCP_APPROVE_WRITES, RCMCP_GATEWAY_TOKENS
(token:principal,...), RCMCP_READ_ONLY, RCMCP_ENABLE_METRICS,
RCMCP_LOG_JSON. See config.py.
Security note: the HTTP transport should sit behind the bearer-token gateway (
RCMCP_GATEWAY_TOKENS) and TLS termination (Traefik/nginx). The server holds a single Rocket.Chat identity — every authorised caller shares its permission ceiling.
Development
uv run ruff check .
uv run mypy src
uv run pytest -m "not live" # default: respx-mocked, no live server neededLive integration tests
tests/test_live.py exercises the server against a real Rocket.Chat. They
are excluded from the default suite and CI, and only touch a dedicated test
channel (default mcp-test), cleaning up every message they create. The
configured account must be a member of that channel.
RCMCP_LIVE=1 RCMCP_TEST_CHANNEL=mcp-test \
ROCKETCHAT_URL=... ROCKETCHAT_AUTH_TOKEN=... ROCKETCHAT_USER_ID=... \
uv run pytest -m livePin/react tests skip automatically when the account lacks those permissions.
Deployment
Docker / Podman:
Dockerfilebuilds a non-root OCI image. A systemd quadlet unit is indeploy/quadlet/.Release: tag
v*triggers the multi-arch nexus push workflow.
Architecture Decision Records
This server is built to a documented, systematic standard. The design rationale
lives in ADRs under docs/adr/:
ADR 0001 — A systematic approach to building MCP servers — the house standard for architecture, AI governance, observability, and engineering practice that this repository implements.
ADR 0002 — Per-principal upstream identity (multi-tenant) — opt-in per-caller Rocket.Chat credentials so actions are attributable.
New consequential decisions are recorded as additional numbered ADRs.
Documentation
System design — FastMCP adoption design, tool parity, delivery phases.
Bot identity — message alias vs a dedicated bot account, and how to set one up.
Cutover runbook — migrating from the Go server and retiring it.
Architecture Decision Records — see above.
Security review — Snickers / Snyk agent-security findings and their dispositions.
Provenance
A ground-up FastMCP (Python) rewrite of the Go server rocketchat-mcp-go,
applying lessons from openproject-gt-mcp-server (layered architecture,
observability, human-in-the-loop) and redmine-mcp-server (tag-based tool
visibility, {error, hint, code} envelope, secret scrubbing). Tracked under
OpenProject AI and Automation / EPIC #9810.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA production-ready MCP server built with FastAPI, providing an enhanced tool registry for creating, managing, and documenting AI tools for Large Language Models (LLMs).Last updated34
- Flicense-qualityDmaintenanceA comprehensive Slack integration server that enables sending messages, managing channels, uploading files, and running Pomodoro timers through FastMCP v2.Last updated2
- Flicense-qualityDmaintenanceEnables AI agents and LLMs to interact with the ICON MCP v104 API through standardized tools. The server is built on FastMCP for efficient async handling and includes Docker support for easy deployment.Last updated
- Alicense-qualityBmaintenanceA Python FastMCP server with 33 tools that lets AI agents manage tasks, capture knowledge, and coordinate sessions across projects via a unified interface.Last updated10MIT
Related MCP Connectors
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GavinTomlins/rocketchat-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server