Skip to main content

A Matrix MCP server for connecting coding agents to Matrix and MindRoom conversations.

Project description

Matrix MCP

License CI PyPI Python Versions Docs MCP

MindRoom Logo

Local-first Matrix access for MCP clients.

Matrix MCP lets Claude Code and other MCP clients read and write Matrix rooms. It is intended to make MindRoom conversations available to local coding agents without giving hosted agents access to the local filesystem.

Install

uv tool install matrix-mcp

For local development:

uv sync --extra dev

Login

Matrix SSO:

matrix-mcp auth sso https://matrix.example.com

If the homeserver advertises multiple SSO providers, list their provider IDs:

matrix-mcp auth providers https://matrix.example.com

Then pass the provider ID explicitly:

matrix-mcp auth sso https://matrix.example.com --idp-id github

If your homeserver is behind an access gateway that requires extra request headers, pass them during login. They are stored with the Matrix credentials and reused by MCP tools:

matrix-mcp auth sso https://matrix.example.com \
  --header "X-Access-Client-Id: ..." \
  --header "X-Access-Client-Secret: ..."

If the gateway header is short-lived, store a command that prints the current header value instead. The command is re-run when Matrix MCP creates a client for tool calls:

matrix-mcp auth sso https://matrix.example.com \
  --header-command "X-Access-Token: access-gateway-cli token --app https://matrix.example.com"

Existing Matrix access token:

matrix-mcp auth token https://matrix.example.com @alice:example.com "$MATRIX_ACCESS_TOKEN" --device-id DEVICEID

Password auth, when enabled by the homeserver:

matrix-mcp auth password https://matrix.example.com @alice:example.com

Credentials are stored in the user config directory reported by:

matrix-mcp config-path

Remove stored credentials:

matrix-mcp auth logout

Claude Code

Add the local MCP server:

claude mcp add matrix -- matrix-mcp serve

The server runs over stdio. It does not expose a local HTTP port during normal MCP operation.

Tools

  • matrix_whoami: show the configured Matrix user/device.
  • matrix_list_rooms: list rooms joined by the authenticated user.
  • matrix_read_room_recent: read recent text events from a room.
  • matrix_read_thread: read a Matrix thread root and its recent text replies.
  • matrix_send_message: send a text message or local file, optionally as a Matrix thread reply.

The tool instructions tell clients to prefer read tools first and only send messages when the user explicitly asks.

Development

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matrix_mcp-0.3.0.tar.gz (132.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matrix_mcp-0.3.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file matrix_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: matrix_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 132.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matrix_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ad7bb15e2e823eb6117c1a8b691d4ee944402036815bd8ad54a8654f53c69255
MD5 7c0ec18959608774408d8f9b936e9542
BLAKE2b-256 9d84fa72af6d8d32c4ed5a41e8a8208e74b012a6e4cf1ae1e8407e7d90051f70

See more details on using hashes here.

Provenance

The following attestation bundles were made for matrix_mcp-0.3.0.tar.gz:

Publisher: release.yml on mindroom-ai/matrix-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file matrix_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: matrix_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matrix_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d7e71e0ea5065d9c0322b604d75ce0de545431ce4833f3a73210c954ab983ae
MD5 17838522d83ca613d4209c41f1171194
BLAKE2b-256 141ab297fe2aee3d13088d3a6a8d9429a1760a044898d8d634b5a1cb0ba1174f

See more details on using hashes here.

Provenance

The following attestation bundles were made for matrix_mcp-0.3.0-py3-none-any.whl:

Publisher: release.yml on mindroom-ai/matrix-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page