Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Security-first, self-hosted email archive with search, cited answers, and sending for AI agents.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://{mailfathom_host}/mcpThe address contains {…} parts that only you know (such as your account), so copy it and fill them in.
Run this in your terminal
claude mcp add --transport http mailfathom 'https://{mailfathom_host}/mcp'The address contains {…} parts that only you know (such as your account), so copy it and fill them in.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mailfathom": {
"url": "https://{mailfathom_host}/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
The address contains {…} parts that only you know (such as your account), so copy it and fill them in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"mailfathom": {
"type": "http",
"url": "https://{mailfathom_host}/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://{mailfathom_host}/mcpThe address contains {…} parts that only you know (such as your account), so copy it and fill them in.
Menu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account fathomise, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
The address needs your own account values, so we cannot check it for you
The address needs your own account values, so we cannot check it for you
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.7.0) reached the registry 25 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A brain for your mail — self-hosted, AI-native, and yours alone.
[!WARNING]
MailFathom is under active development, and nothing between two releases is guaranteed to stay compatible until version 1.0.0. Any release before it may change the MCP tools, the configuration, the database schema, or the deployment in a breaking way — up to a release that cannot run over the previous one's configuration or data at all. Read the changelog before every upgrade, and keep a backup you can go back to.
MailFathom synchronizes your IMAP accounts into a PostgreSQL database you run, indexes that copy, and serves it to AI agents as tools over the Model Context Protocol. Reading answers from your copy rather than from a mail server, and it never marks anything read there. Writing — marking, drafting, sending — is a separate act each account and each credential has to be given, and every one of them is off until you turn it on.
*One question, answered from the local copy in an ordinary chat client. The *** in these screenshots were blacked out by hand before the files entered a public repository — until you turn SensitiveContent on, MailFathom redacts nothing on its way to a client.*
Docker Compose is the recommended first installation. It is the only shape that provisions PostgreSQL for you, and its defaults publish both ports on loopback, so nothing is reachable from another machine until you decide it should be.
git clone https://github.com/fathomise/MailFathom.git
cd MailFathom scripts/quick-start-compose.sh
That third line is the quick way to *try* it, not the way to run it: the script asks where your mailbox lives, writes the configuration, starts the stack, offers the schema step, records you and your mailbox, and hands you the key a chat client connects with — and what it prepares serves that one machine over plain HTTP, keeps its credentials in files under the checkout, and backs nothing up. It prints that list when it finishes.
Installing MailFathom is the real thing: what every shape needs, and the guide for Compose, Podman Quadlet, Kubernetes, or a native systemd process. Getting started then walks from an installed instance to a first successful tool call. To evaluate from the checkout instead, the local Aspire orchestration provisions PostgreSQL and applies the schema on its own — local development has that path.
| You are | Start at |
|---|---|
| Deciding whether MailFathom is for you | What it does well below, then the user guide |
| Installing or operating it | Installing MailFathom, then getting started |
| Connecting an agent to a running instance | Using the tools |
| Reading any of that with an AI assistant beside you | Hand it the documentation below |
| Contributing | CONTRIBUTING.md |
If an AI assistant is helping you install, configure, or use MailFathom, give it the documentation rather than a search over the site. One line is the whole of it:
Read https://fathomise.github.io/MailFathom/docs/llms.txt and follow it to the pages that answer my question.
That address is the current release's map: every published page, what it answers, and a link to its source, so the agent fetches the one page that owns your question instead of fragments of several. MailFathom also resolves in Context7 as /fathomise/mailfathom, which mirrors the default branch rather than a release.
→ Handing this guide to your own agent
Twenty-one tools, and they are the whole surface.
| Reading your mail | list_accounts, list_emails, search_emails — ranked lexically, and by embedding similarity once you configure a model — get_email_content for up to ten messages in full, and ask_mail, which answers a question from your mail and cites every message it drew on |
| Marking it | set_mail_flags marks a message read or unread, stars it, and writes the keywords your client shows as tags |
| Sending | send_email sends one message; reply_to_email and forward_email answer one you already hold, deriving the addressing, subject, threading, quotation, and attachments from your stored copy; get_outgoing_email and cancel_outgoing_email report what became of a send and stop one that has not left |
| Drafting | save_draft, update_draft, and delete_draft write a message into your own Drafts folder and send nothing at all; send_draft is what sends one |
| Contacts | Six tools over MailFathom's own book of people — not addresses — which lives in your database rather than at your mail provider |
Two properties hold everywhere, and much of the design follows from them:
\Seen flag at all. What can change your mailbox is what you configured — a mail rule, a spam action — or a tool a credential was explicitly granted. Sending is stricter again: it is off on every account, refused outright while the deployment is read-only, and bounded by a recipient policy and a per-period ceiling you set.No send is performed while the caller waits. Each is written down, answered with a record identity, and offered by a delivery pass that survives a crash — so a message MailFathom says it queued is one it will actually try to deliver, and the seconds before it leaves are the only window in which it can be withdrawn. Nothing a client sends decides who a message is from.
Beside what a tool returns, MailFathom records what it can establish about each message: who authenticated its sender and whether you recognize that author, how much its text reads as machine written, and the conversation it belongs to. What each tool answers, refuses, and never repeats back is the contract.
0.8.0 is the current release, and it is the one in which a deployment stops being one person's mailbox described in a configuration file. The people it serves, their mail accounts, their credentials, and the roles that decide what each of them may do are records in your database, administered with mfctl while the deployment runs — so one deployment serves several people, shares a mailbox between them, and runs as more than one replica.
Upgrading from `0.7.0` is a new installation over a backup, not an upgrade in place. Applying the schema discards the stored mail, which synchronization fetches again, and nothing imports the mailboxes or credentials a 0.7.0 configuration declared: each is recorded again through mfctl. The changelog states each break against the surface it breaks, and what to do about it.
Nightly images are built from main and published beside the releases. A nightly is not a release: its schema can be ahead of any published migration, it has no upgrade path in either direction, and it is deleted once newer ones accumulate. What a nightly build risks states the whole of it.
| Artifact | Where |
|---|---|
| Container image | ghcr.io/fathomise/mailfathom and docker.io/fathomise/mailfathom |
| Helm chart | oci://ghcr.io/fathomise/charts/mailfathom |
| Database schema script | attached to each release |
mfctl, the administrative command | attached to each release, one self-contained binary per platform, verified by the checksum file beside them, and installed on Linux by one command that does both |
Both registries carry the same manifest list under the same digest, so pull from whichever your environment already reaches. There is no binary artifact for the service itself: a native installation starts from a checkout.
MailFathom is built as an enterprise-grade system from the first line, even while its feature scope is still small. Every claim below is a property of the code and the deployment assets today.
Only the beginning is shown; read the rest in the repo