| name | matrix |
| description | Send messages, listen to messages, manage rooms, and interact with Matrix chat via matrix-commander-rs. Use when user asks to send a message, check Matrix, read messages, or manage Matrix rooms. |
| allowed-tools | Bash(matrix-commander-rs:*), Bash(tmux:*) |
Matrix Chat
Interact with the user's Matrix homeserver using matrix-commander-rs.
Prerequisites
Sending Messages
matrix-commander-rs --message "Hello!" --room '!roomid:matrix.glinq.org'
matrix-commander-rs --message "**Bold** and _italic_" --markdown --room '!roomid:matrix.glinq.org'
matrix-commander-rs --message "<h1>Title</h1><p>Body</p>" --html --room '!roomid:matrix.glinq.org'
matrix-commander-rs --message "Status update" --notice --room '!roomid:matrix.glinq.org'
matrix-commander-rs --file /path/to/file.pdf --room '!roomid:matrix.glinq.org'
Reading Messages
Known bug: --listen tail and --tail crash or fail with room IDs containing ! due to an escaping bug. Use --listen once with room aliases instead.
matrix-commander-rs --listen once --room '#onlyhackers:matrix.glinq.org' --timeout 10
matrix-commander-rs --listen once --listen-self --room '#onlyhackers:matrix.glinq.org' --timeout 10
matrix-commander-rs --listen once --room '#onlyhackers:matrix.glinq.org' --timeout 120
matrix-commander-rs --listen once --listen-self --room '#onlyhackers:matrix.glinq.org' --timeout 10
Room Management
matrix-commander-rs --rooms
matrix-commander-rs --joined-rooms
matrix-commander-rs --get-room-info '!roomid:matrix.glinq.org'
matrix-commander-rs --joined-members '!roomid:matrix.glinq.org'
matrix-commander-rs --room-create my-room-alias --name "Room Name" --topic "Room topic"
matrix-commander-rs --room-join '!roomid:matrix.glinq.org'
matrix-commander-rs --room-invite '!roomid:matrix.glinq.org' --user '@user:matrix.glinq.org'
matrix-commander-rs --room-enable-encryption '!roomid:matrix.glinq.org'
Account Info
matrix-commander-rs --whoami
matrix-commander-rs --devices
matrix-commander-rs --get-profile
matrix-commander-rs --get-display-name
matrix-commander-rs --set-display-name "New Name"
Output Formats
Use --output to control output format:
text — human-readable (default)
json — JSON output for programmatic processing
json-spec — JSON with full spec fields
matrix-commander-rs --tail 5 --room '!roomid:matrix.glinq.org' --output json
Defaults
- Homeserver:
https://matrix.glinq.org
- Default room: OnlyHackers (
!abqXsTxtuSwElxvHoH:matrix.glinq.org) — use this when the user doesn't specify a room
Important Notes