MCP server for Matrix — interact with Matrix homeservers via Model Context Protocol
Project description
mcp-server-matrix
A Model Context Protocol (MCP) server for Matrix — the open, decentralized communication protocol.
Built on matrix-nio, this server lets any MCP-compatible AI assistant (Claude, OpenClaw, etc.) send and read messages, manage rooms, and interact with any Matrix homeserver (Synapse, Dendrite, Conduit).
Features
| Tool | Description |
|---|---|
send_message |
Send a text message to a room |
send_html |
Send an HTML-formatted message |
read_messages |
Read recent messages (with pagination) |
list_rooms |
List all joined rooms |
get_room_info |
Room details — name, topic, members, encryption status |
join_room |
Join a room by ID or alias |
leave_room |
Leave a room |
create_room |
Create a new room (with optional invites) |
invite_user |
Invite a user to a room |
send_reaction |
React to a message with an emoji |
resolve_alias |
Resolve #alias:server to a room ID |
Installation
pip install mcp-server-matrix
Or with uv:
uvx mcp-server-matrix
Configuration
Set environment variables:
| Variable | Required | Description |
|---|---|---|
MATRIX_HOMESERVER |
Yes | Homeserver URL (e.g. https://matrix.org) |
MATRIX_USER |
Yes | Full user ID (e.g. @bot:matrix.org) |
MATRIX_PASSWORD |
Yes* | Account password |
MATRIX_ACCESS_TOKEN |
Yes* | Access token (alternative to password) |
MATRIX_STORE_PATH |
No | Path for nio session store (default: ~/.mcp-server-matrix/nio_store/) |
MCP_LOG_LEVEL |
No | Log level: DEBUG, INFO, WARNING, ERROR (default: INFO) |
* Provide either MATRIX_PASSWORD or MATRIX_ACCESS_TOKEN.
Usage
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"matrix": {
"command": "mcp-server-matrix",
"env": {
"MATRIX_HOMESERVER": "https://matrix.example.com",
"MATRIX_USER": "@bot:example.com",
"MATRIX_PASSWORD": "your-password"
}
}
}
}
Claude Code
{
"mcpServers": {
"matrix": {
"command": "mcp-server-matrix",
"env": {
"MATRIX_HOMESERVER": "https://matrix.example.com",
"MATRIX_USER": "@bot:example.com",
"MATRIX_ACCESS_TOKEN": "syt_..."
}
}
}
}
OpenClaw
Add to openclaw.json:
{
"mcp": {
"servers": {
"matrix": {
"command": "mcp-server-matrix",
"env": {
"MATRIX_HOMESERVER": "https://matrix.example.com",
"MATRIX_USER": "@bot:example.com",
"MATRIX_PASSWORD": "your-password"
}
}
}
}
}
Direct (stdio)
export MATRIX_HOMESERVER=https://matrix.example.com
export MATRIX_USER=@bot:example.com
export MATRIX_PASSWORD=your-password
mcp-server-matrix
Examples
Once connected, your AI assistant can:
- Read messages: "What are the latest messages in #general?"
- Send messages: "Send 'Hello everyone!' to #announcements"
- Manage rooms: "Create a room called 'Project X' and invite @alice:matrix.org"
- Get info: "How many members are in #team-chat?"
Supported Homeservers
Tested with:
- Synapse (reference implementation)
- Should work with any spec-compliant homeserver (Dendrite, Conduit, etc.)
Requirements
- Python 3.10+
- A Matrix account on any homeserver
- Network access to the homeserver
License
MIT
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_matrix-0.1.0.tar.gz.
File metadata
- Download URL: mcp_server_matrix-0.1.0.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01ffbdbf9bf1a05e31d4a751329603d1cd41b98d2b489378ba4c17a7ac0a9bdb
|
|
| MD5 |
b000d2f5c41043711aecaf08b29d88f2
|
|
| BLAKE2b-256 |
a3cde3c67a7e1acdb22b3389dff24cad2bd2470848a1284aeaed431edc888772
|
File details
Details for the file mcp_server_matrix-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mcp_server_matrix-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b461dcbb04e4b1a6a2cdfd3759ace8a894c98740d06263d0b4de3312f0228b0a
|
|
| MD5 |
e6d680d7525cebf9adb7320bfaea03de
|
|
| BLAKE2b-256 |
fb8d45c28754f433f744e83d884bf0c627161524637f46e512863ca5b39ce2cc
|