Coffee's Maubot Plugins 🍢 is a collection of plugins for Maubot, a plugin-based Matrix bot system.
To get started, you first need to install Maubot.
Here's a quick 3-step guide for how to set up Maubot for Matrix:
Introduction
Maubot is a user-friendly bot framework designed for the Matrix messaging platform, which many people recognize as a secure and decentralized way to chat online. With Maubot, anyone can create and manage their own bots without needing to know how to code. This makes it easy to add fun and useful features to your Matrix chats, like automating tasks or connecting with other apps. Whether you want to enhance your messaging experience or streamline your online interactions, Maubot offers a simple solution that anyone can use to make the most of their Matrix conversations.
In this guide, we’ll provide a clear, step-by-step tutorial on how to selfhost and set up Maubot with your Matrix account in 2025. You’ll learn how to install Maubot, add your first bot, and customize its features -- all without needing any coding skills. We’ll also cover essential aspects of self-hosting Maubot, such as setting up encryption support and managing plugins. By the end of this guide, you'll be ready to enhance your Matrix messaging experience with your own bot. Let’s get started with this Maubot setup tutorial and explore the benefits of self-hosting!
Step 1 - Installing Maubot
Requirements: Linux; Python 3.10+ with pip
and virtualenv
; and a second Matrix account for your bot
mkdir maubot && cd maubot
python3.10 -m venv .
- (Note: There is a . at the end)
source ./bin/activate
pip install --upgrade maubot[encryption]
mkdir plugins trash logs
cp example-config.yaml config.yaml && nano config.yaml
- Update the config with your information
homeservers:
- Skip this if your Matrix username is@####:matrix.org
-- it is already added by defaultadmins:
- Enter new line, addusername: password
, this is for the Maubot Manager Web UI login- Note: The login page is insecure, use an appropriate password
- Note: Don't include
'
or"
in the password entry
Step 2 - Starting Maubot
To start Maubot, run:
python3.10 -m maubot
Then, visit the URL http://localhost:29316/_matrix/maubot
to launch the Maubot Manager Web UI. Log in using your username and password, from above.
Now let's set up your second Matrix account for the bot.
Make sure only Maubot will be using this "bot account" from now on:
Get account info using Element
Note: This method will not support encrypted Matrix rooms.
Log in to Element with your second Matrix account ("bot account").
Click on the name in the top left corner, then "Settings".
Device ID:
- Click the "Sessions" tab (left sidebar)
- Copy your Device ID
Access Token:
- Click the "Help & About" tab (left sidebar)
- Scroll to the bottom and click on
<click to reveal>
part of Access Token - Copy your Access Token
Get account info using mbc auth (required for Encryption Support)
First, make sure your bot account's homeserver is listed above in config.yaml
. (If your Matrix username is @####:matrix.org
, it's included by default.)
Open a new console tab (with the previous still running):
cd maubot
andsource ./bin/activate
to reactivate the venv, as neededmbc login
- First, use your Maubot Manager Web UI username and password, from above
mbc auth
Homeserver
is asking for the nickname (dictionary key, not URL) from the config- If your Matrix username is
@####:matrix.org
, typematrix.org
(from the config's dictionary key), notmatrix-client.matrix.org
- If your Matrix username is
Username
can be either the Matrix username or full Matrix user ID, that doesn't matterPassword
is the Matrix account password- Note: If the command says "Registration target server not found", it means you didn't add the server to homeservers properly, or didn't enter the correct name in mbc.
In the Maubot Manager Web UI, on the left sidebar, click the + next to Clients
.
Enter your Access Token
and Device ID
here.
Enter the word disable
for Display name
and Avatar URL
, as needed, to prevent Maubot changing your bot's name or avatar.
Step 3 - Adding Plugins
To get started with Coffee's Maubot Plugins 🍢:
- Choose a plugin from this website
- Download the plugin
.mbp
file from Releases
Next, from the Maubot Manager Web UI at http://localhost:29316/_matrix/maubot
:
- On the left sidebar, click the + next to
Plugins
- Drag and drop the downloaded plugin
.mbp
file to the ⬆️ up arrow, to upload it- Check that it's added to the Plugins list on the left sidebar, when done
- On the left sidebar, click the + next to
Instances
- The
ID
can be any name - Set the
Primary user
(Client/bot account) andType
(plugin)
- The
Your bot is now ready to use!
You can also visit the Maubot Plugins website for a full list of plugins.
Starting the Bot
In the future, you can start the bot by navigating to your maubot
folder, then
source ./bin/activate
pip install --upgrade maubot[encryption]
python3.10 -m maubot
Then, visit the URL http://localhost:29316/_matrix/maubot
to launch the Maubot Manager Web UI.
Sources: Maubot Setup, Maubot Encryption, Maubot mbc auth, Stack Exchange