Skip to content

Releases: mindroom-ai/matrix-mcp

v0.9.1

Choose a tag to compare

@basnijholt basnijholt released this 10 Oct 06:16
690eab1

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

Choose a tag to compare

@basnijholt basnijholt released this 04 Oct 15:12
c255b46

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_error such as missing room key.
  • Sends encrypt text, replies, reactions, edits, and files. This also fixes matrix_send_message sending plaintext into encrypted rooms.
  • matrix_download_media decrypts encrypted attachments when given the message's room_id and event_id.
  • Every login publishes the device's encryption keys. matrix-mcp e2ee setup retries that step, and matrix-mcp e2ee import-keys imports a room key export so older history becomes readable. auth logout also removes the keys.
  • Several matrix-mcp serve processes 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

Choose a tag to compare

@basnijholt basnijholt released this 12 Sep 15:20
17b6c2b

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

Choose a tag to compare

@basnijholt basnijholt released this 12 Sep 14:22
ac55e53

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

Choose a tag to compare

@basnijholt basnijholt released this 12 Sep 07:39
868bdad

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

Choose a tag to compare

@basnijholt basnijholt released this 11 Sep 14:08
8eb5f1f
  • 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

Choose a tag to compare

@basnijholt basnijholt released this 11 Sep 11:47
d2e59a5

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

Choose a tag to compare

@basnijholt basnijholt released this 26 Jul 03:49
9a6d661

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_FILE and SSL_CERT_DIR trust sources.
  • Fetch room names concurrently while preserving room order.

Verification

  • uv run pytest: 65 passed
  • pre-commit run --all-files
  • uv build: 0.5.4 source distribution and wheel
  • CI and exact-head AI review passed on PR #11

v0.5.3

Choose a tag to compare

@basnijholt basnijholt released this 21 Jun 21:27
d410733

Changes

  • Apply Matrix message edits when reading thread roots and replies.
  • Refresh generic Matrix server examples and Codex MCP setup docs.

Verification

  • uv run pytest
  • uv build
  • uv run ruff check .
  • uv run ruff format --check .
  • uv run mypy src tests
  • uv run ty check

v0.5.2

Choose a tag to compare

@basnijholt basnijholt released this 20 May 20:14
50c7e73

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