Repository navigation
Releases: mindroom-ai/matrix-mcp
Release list
v0.9.1
Every tool now declares whether it reads or writes. matrix_whoami, matrix_list_rooms, matrix_read_room_recent, and matrix_read_thread carry the MCP read-only hint, and matrix_send_message is marked as a non-destructive write, in both stdio and authenticated HTTP mode. Previously these five tools had no hints, unlike the other 25.
The documentation site and README have been redesigned: a new landing page with example prompts and a feature overview, a grouped Tool Reference with a safety summary, a command reference and access-gateway setup in Getting Started, and a sign-in diagram for authenticated HTTP. See https://matrix-mcp.mindroom.chat/.
The PyPI page now lists project links, keywords, and classifiers, including supported Python versions.
v0.9.0
Adds end-to-end encryption for local stdio clients. Matrix MCP now acts as its own encrypted Matrix device, so encrypted rooms work with the same tools as other rooms:
- Reads decrypt messages, edits, thread replies, unread mentions, and attachments. A message that cannot be decrypted is still listed, with a
decryption_errorsuch asmissing room key. - Sends encrypt text, replies, reactions, edits, and files. This also fixes
matrix_send_messagesending plaintext into encrypted rooms. matrix_download_mediadecrypts encrypted attachments when given the message'sroom_idandevent_id.- Every login publishes the device's encryption keys.
matrix-mcp e2ee setupretries that step, andmatrix-mcp e2ee import-keysimports a room key export so older history becomes readable.auth logoutalso removes the keys. - Several
matrix-mcp serveprocesses can share one device. Matrix MCP never replaces encryption keys that another client published for the same device.
The device is not verified with cross-signing, so other clients show it as an unverified session. Authenticated HTTP mode does not support encrypted rooms. See the usage guide for limitations.
v0.8.1
Fix thread reads with small limits returning the oldest replies.
They now include the newest messages and attachments while preserving chronological display order and the thread root.
v0.8.0
Adds everyday Matrix workflows to local and authenticated HTTP clients:
- Paginated history, attachment metadata, edits, and event context.
- Replies, reactions, and edits or redactions of your own events.
- Pending invitations, joining/leaving rooms, and private-room creation.
- Authenticated media upload/download and file sending, capped at 5 MiB per transfer.
- Unread activity and explicit read markers, using private receipts by default.
New tools use raw Matrix IDs on both transports and the connected account's permissions.
Existing tools and login flows remain available.
v0.7.0
Adds joined room members, user search and invitations, room name/topic/avatar updates, and profile tools to both MCP transports.
Operations use the connected Matrix account; avatar updates accept existing Matrix media URIs.
Also fixes HTTP session cleanup for stdio tools.
Full changelog: v0.6.1...v0.7.0
v0.6.1
- Publish Linux AMD64 and ARM64 container images to GHCR alongside the Python package.
- Package the release wheel with locked dependencies and a non-root runtime.
- Test container startup, OAuth discovery, authentication enforcement, and restart in CI.
- Document container usage and standardize Markdown sentence wrapping.
v0.6.0
Adds opt-in authenticated HTTP serving through Matrix SSO, with per-user credentials, OAuth consent and PKCE, encrypted persistent state, refresh rotation, and revocation.
Text messages support explicit Matrix user mentions, including thread replies. Local stdio remains the default.
Hosted mode supports plaintext conversations only. Its encryption-state check is best effort; end-to-end encryption and account administration are unsupported.
Validation: 118 tests passed on Python 3.12 and 3.13 across Linux and macOS. See the authenticated HTTP guide for setup and session lifecycle limits.
v0.5.4
Changes
- Document headless SSO login over SSH with callback port forwarding.
- Keep the local SSO callback alive through token-less browser requests.
- Add a certifi TLS fallback for nio clients while preserving explicit
SSL_CERT_FILEandSSL_CERT_DIRtrust sources. - Fetch room names concurrently while preserving room order.
Verification
uv run pytest: 65 passedpre-commit run --all-filesuv build:0.5.4source distribution and wheel- CI and exact-head AI review passed on PR #11
v0.5.3
Changes
- Apply Matrix message edits when reading thread roots and replies.
- Refresh generic Matrix server examples and Codex MCP setup docs.
Verification
uv run pytestuv builduv run ruff check .uv run ruff format --check .uv run mypy src testsuv run ty check
v0.5.2
Summary
- Fix Cloudflare Access SSO setup so cloudflared login runs before Matrix token exchange.
- Store a fast cf-access-token lookup command for future requests.
- Update docs and regression tests for the Cloudflare Access flow.
Verification
- uv run pytest
- uv build --out-dir /tmp/matrix-mcp-release-v0.5.2