Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Rocketchat Server

FreeNot checked

A FastMCP (Python) server for Rocket.Chat with 28 tools covering channels, messages, threads, DMs, files, users, and analytics, plus AI governance, observabilit

GitHubEmbed

About

A FastMCP (Python) server for Rocket.Chat with 28 tools covering channels, messages, threads, DMs, files, users, and analytics, plus AI governance, observability, and security features.

README

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_ONLY mode (write tools hidden), per-tool readOnlyHint/ destructiveHint annotations, 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.

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 stdio

Configuration

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 needed

Live 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 live

Pin/react tests skip automatically when the account lacks those permissions.

Deployment

  • Docker / Podman: Dockerfile builds a non-root OCI image. A systemd quadlet unit is in deploy/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/:

New consequential decisions are recorded as additional numbered ADRs.

Documentation

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.

from github.com/GavinTomlins/rocketchat-mcp-server

Install Rocketchat Server in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install rocketchat-mcp-server

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add rocketchat-mcp-server -- uvx --from git+https://github.com/GavinTomlins/rocketchat-mcp-server rocketchat-mcp-server

FAQ

Is Rocketchat Server MCP free?

Yes, Rocketchat Server MCP is free — one-click install via Unyly at no cost.

Does Rocketchat Server need an API key?

No, Rocketchat Server runs without API keys or environment variables.

Is Rocketchat Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Rocketchat Server in Claude Desktop, Claude Code or Cursor?

Open Rocketchat Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Rocketchat Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All communication MCPs