Skip to main content
Glama
README.md
<p align="center">
  <img src="docs/assets/fluxmail-banner.png" alt="Fluxmail" width="100%">
</p>

<p align="center"><a href="https://github.com/churichard/fluxmail/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/churichard/fluxmail/ci.yml?branch=main&amp;style=flat-square&amp;label=CI&amp;logo=github"></a> <a href="https://www.npmjs.com/package/fluxmail"><img alt="npm version" src="https://img.shields.io/npm/v/fluxmail?style=flat-square&amp;logo=npm&amp;color=1f4fcc"></a> <a href="https://github.com/churichard/fluxmail/pkgs/container/fluxmail"><img alt="Container image" src="https://img.shields.io/badge/GHCR-container-2496ED?style=flat-square&amp;logo=docker&amp;logoColor=white"></a></p>

Fluxmail is self-hosted email infrastructure for agents and apps. It connects to Gmail, Microsoft 365, Outlook.com, and IMAP/SMTP mailboxes. Agents use MCP, apps and backend workflows use the versioned REST API, and operators use the CLI to connect mailboxes, manage access, and run the service.

## Features

- ๐Ÿ“ฌ Connect Gmail, Google Workspace, Microsoft 365, Outlook.com, and IMAP/SMTP mailboxes to one instance.
- ๐Ÿค– Give agents MCP tools to list, search, read, draft, reply, forward, send, schedule, and organize email.
- ๐Ÿ”Œ Use the same mailbox operations from the versioned REST API and CLI.
- ๐Ÿงต Fetch complete messages and threads, work across several mailboxes, and download attachments.
- ๐Ÿ—‚๏ธ Mark mail as read, star or archive it, move it between folders, send it to Trash, and manage Gmail labels or Outlook categories.
- ๐Ÿ” Limit each client to selected mailboxes and actions with permission profiles or custom policies.
- ๐Ÿ‘ฅ Add members and share selected mailboxes on Team and Enterprise plans.
- ๐Ÿ  Run Fluxmail locally or in Docker while keeping its database and encrypted provider credentials on your infrastructure.

## Get started

Fluxmail requires Node.js 20.20.x, or Node.js 22.22 or later.

```bash
npm install -g fluxmail
fluxmail setup --name "Your name" --email you@example.com
```

Then follow the [quickstart](https://fluxmail.ai/docs/quickstart) to connect a mailbox and choose how you want to use Fluxmail: MCP, REST API, or CLI.

## Documentation

- [Overview](https://fluxmail.ai/docs/overview)
- [MCP tools](https://fluxmail.ai/docs/tools)
- [Build with REST](https://fluxmail.ai/docs/build-with-rest)
- [REST API](https://fluxmail.ai/docs/rest-api)
- [Permissions](https://fluxmail.ai/docs/permissions)
- [Configuration](https://fluxmail.ai/docs/configuration)
- [CLI reference](https://fluxmail.ai/docs/cli)
- [Gmail setup](https://fluxmail.ai/docs/connect-gmail-to-mcp)
- [Outlook setup](https://fluxmail.ai/docs/connect-outlook-to-mcp)
- [IMAP setup](https://fluxmail.ai/docs/connect-an-imap-mailbox)
- [Architecture](https://fluxmail.ai/docs/architecture)
- [Teams and plans](https://fluxmail.ai/docs/teams-and-plans)
- [Authentication and instances](https://fluxmail.ai/docs/authentication-and-instances)

## Plans and license

The Personal plan supports three mailboxes and one member. Paid plans raise those limits for teams that share an instance. See [Fluxmail pricing](https://fluxmail.ai/pricing) for current details.

Fluxmail is source available under the [Elastic License 2.0](LICENSE.md). You may use, modify, create derivative works, and redistribute Fluxmail subject to that license. Running a fork does not by itself require a paid Fluxmail subscription, and the built-in Personal plan supports three mailboxes and one member without a paid key.

Official Pro and Team entitlements require a valid Fluxmail license key. ELv2 does not allow you to change or circumvent license key functionality, remove protected functionality, or provide Fluxmail itself as a hosted or managed service that exposes a substantial set of its features. Use of the Fluxmail name and logos is also subject to the [Fluxmail Terms of Service](https://fluxmail.ai/terms).

TDQS

A3.7/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have clear, distinct purposes: drafts, sending, listing, searching, scheduling, and attachments are all separated. The only potential confusion is between list_emails and search_emails, both of which retrieve emails, but their filtering semantics are described distinctly enough to avoid serious misselection.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun convention: list_accounts, send_email, get_thread, cancel_scheduled_email, etc. There are no mixed casing styles or vague verb-only names, making the set highly predictable.

Tool Count4/5

17 tools is slightly above the ideal 3-15 range for a focused server, but the count is justified by the breadth of email operations covered: drafts, sending, scheduled sends, searching, threads, attachments, folders, labels, and account status. It feels substantial rather than bloated.

Completeness5/5

The surface covers the core email lifecycle: draft creation/update/deletion, send, forward, reply, scheduled sending and cancellation, retrieval by list/get/search/thread, attachment download, and batch modification. It also covers account/folder/label management, leaving no obvious dead ends for normal email workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues