mcp-server-matrix
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MATRIX_USER | Yes | Full user ID (e.g. @bot:matrix.org) | |
| MCP_LOG_LEVEL | No | Log level: DEBUG, INFO, WARNING, ERROR (default: INFO) | |
| MATRIX_PASSWORD | No | Account password | |
| MATRIX_HOMESERVER | Yes | Homeserver URL (e.g. https://matrix.org) | |
| MATRIX_STORE_PATH | No | Path for nio session store (default: ~/.mcp-server-matrix/nio_store/) | |
| MATRIX_ACCESS_TOKEN | No | Access token (alternative to password) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_messageB | Send a message to a Matrix room. Supports plain text, HTML, and Markdown formats. Can reply to a specific message. |
| read_messagesB | Read recent messages from a Matrix room. Returns messages in reverse chronological order. |
| list_roomsB | List all Matrix rooms the user has joined. |
| get_room_infoA | Get detailed information about a Matrix room — name, topic, members, aliases. |
| get_room_membersB | List joined members of a Matrix room with display names and avatars. |
| join_roomB | Join a Matrix room by ID or alias. |
| leave_roomB | Leave a Matrix room. |
| create_roomC | Create a new Matrix room. |
| invite_userC | Invite a user to a Matrix room. |
| send_reactionB | Send a reaction (emoji) to a message in a Matrix room. |
| resolve_aliasA | Resolve a Matrix room alias (#room:server) to a room ID. |
| get_messages_by_dateA | Get messages from a Matrix room filtered by date range. Dates are ISO 8601 strings (e.g. '2026-04-01', '2026-04-01T12:00:00Z'). |
| get_notification_countsA | Get unread notification and mention counts for all rooms with pending notifications. |
| get_direct_messagesA | List all direct message (DM) conversations — rooms with 2 or fewer members. |
| send_direct_messageA | Send a direct message to a user. Finds existing DM room or creates one automatically. |
| get_user_profileA | Get a Matrix user's profile — display name and avatar URL. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools have distinct purposes. Potential confusion between send_direct_message and send_message is mitigated by descriptions specifying DM vs room context. Tools for rooms, messages, users, and notifications are well-separated.
All tools follow a consistent verb_noun snake_case pattern (e.g., create_room, get_room_info, send_message). No deviations or mixed conventions, making the set predictable.
16 tools cover a broad range of Matrix operations without being overwhelming. Each tool has a clear purpose, and the count matches the complexity of the domain.
Core CRUD for rooms (create, join, leave, list, get info, members) and messaging (send, read, react, date filtering) are covered. Missing tools for updating room settings and deletion, but basic workflows are complete.