Your real mailbox and calendar for your agent (M365/IMAP); a human approves every send.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server that gives your agent β Claude, Codex, OpenClaw, Hermes, or any MCP client β safe, controlled access to your email β multi-account (Microsoft Graph + IMAP), calendar, local search index, sender memory, and an agent-aware permission model.
No built-in LLM: the intelligence is your agent's. The MCP server speaks stdio only β no network port. (An optional human console adds a local HTTP API bound to 127.0.0.1.)
On your data: GigaMail keeps mail indexes, credentials, memory and configuration on your machine β we run no service and receive nothing. Mail content your agent reads is, of course, handled by that agent and its model provider under their own data policies. Choose your agent accordingly; the masker lets you hide sensitive fields (tax codes, VAT numbers, IBANs, emails, phone numbers β validated deterministically, no AI) before the agent ever sees them.
https://github.com/user-attachments/assets/362b58b6-6161-4911-b255-4c735bc7ba56
The human console in ninety seconds, on a demo mailbox: dashboard, reading a mail, a reply drafted by the agent from a one-line instruction, folders, calendar, "ask your mail", automation rules and the first-run guide. The human reviews and sends β or edits the instruction and regenerates.
GigaMail ships through two channels:
pip install gigamail β the agentic core: MCP server, CLI, watcher
and the console's local HTTP backend. No graphical app β the right
channel when your agent is the interface.GigaMail-Setup-<version>.exe from the latest release;
the app then updates itself from there. The installer is not code-signed
yet, so Windows SmartScreen warns on first run β compare the SHA-256
digest GitHub shows next to the asset. To build it yourself: Node 22+,
console/prepare-python.ps1, then npm run dist.Everything below covers the pip channel.
Microsoft login note: the bundled Azure app is not yet publisher-verified, so the consent screen shows an "unverified" notice (works fine; some corporate tenants may block it). Standard alternative: register your own Azure app and set your
client_idinsrc/ade_mail_agent/core/ms_config.json. IMAP needs none of this.
Give the account its identity and knowledge (this is what makes replies yours):
Register in Claude Desktop / Claude Code (mcpServers):
The commands are also available under their legacy names
(ade-mail-agent, ade-mail-agent-server), so existing setups keep working.
Using OpenClaw or Hermes instead of Claude? Verified configs in INTEGRATIONS.md.
Are you an AI agent setting this up on behalf of a human? You can do the install and the MCP registration:
pip install "gigamail[all]", then addgigamail-serverto your client's MCP config (see INTEGRATIONS.md; declareGIGAMAIL_ROOTif your client filters the environment). Stop there. Connecting a mailbox (gigamail login,gigamail accounts add-imap) asks for credentials and must be done by the human in their own shell β it is not something you should do, and GigaMail is built so that it cannot be done through you. Tell them what to run, then wait.
Then just ask your agent: "reply to the last quote request using the price list" β it reads the mail, pulls the numbers from your file, drafts the reply, and asks you before sending.
24 typed tools, generated from the server itself:
Full map and design decisions: MAPPA_MCP.md.
Email content is treated as untrusted data (prompt injection). The
agent cannot approve its own actions, by construction: a dangerous tool
returns only an inert request_id, and approving it β from the console or
from gigamail approvals approve β requires an OS-level verification of
the person at the machine (Windows Hello / Touch ID). A process,
including an agent that holds a shell, can open that prompt but cannot
pass it; with no such backend available, nothing approves. No secret ever
enters the model context, so an injected instruction has nothing to
spend. Repeating the id just returns awaiting approval. The agent
can only read files explicitly registered by the user, never the rest of the
filesystem. Every write action is logged to %APPDATA%/ADE/agent_audit.jsonl
(append-only: GigaMail never rewrites past entries β it is not, and does not
claim to be, tamper-proof storage).
We red-team this: hostile emails ordering exfiltration, mass deletion, and the agent to approve itself β fed to a real agent with every mail tool enabled.
This design is a fix. v0.1.0 returned a one-time confirm token in the tool result, which put it in the model's context: the agent held both halves. Thanks to u/ranbuman and u/anderson_the_one on r/mcp for catching it. The switch now sits where the agent cannot reach.

The structural half of that suite runs in CI on every push (tests/test_injection.py); the real-agent half is opt-in (scripts/injection_e2e.py) and runs with a dry-run guard so confirmed actions are audited but never executed.
You can tell GigaMail: mail from these senders (or in this folder) gets a
reply drafted from these documents. Rules are created from the CLI β
gigamail rules add β behind the same Windows Hello / Touch ID prompt as
approvals, and gigamail watch is the process that applies them. The MCP
server stays passive and there is no MCP tool that touches rules: an
injected instruction cannot enable autopilot.
gigamail desktop-setup once β UAC prompt β to make
them clickable; they open the approval, which raises Hello) and
Telegram (gigamail telegram setup, your own bot: β
approve if you
opted in with --approve behind Hello, β reject, βοΈ ask for changes β
accepted only from your chat).decided_by automode:<rule_id> β
you gave that approval when you created the rule, for a precise scope,
with a mandatory expiry, a daily cap and a per-sender cooldown. The
notification still fires.The drafter (your own agent, via claude -p) produces the reply body
and nothing else: recipient, subject and thread are fixed from the incoming
message β always the sender, never Reply-To, never an address written by
the draft. Deterministic barriers run first: no DMARC pass β never auto;
auto-generated mail, lists, no-reply senders, the provider's spam verdict,
executable attachments β no reply at all; the first message from a new
sender always goes through you; a burst of matches pauses the rule by
itself. Details in SECURITY.md.
AGPL-3.0-or-later. Free to use, study, modify and share. If you distribute a modified version β or run one as a network service β you must make its source available under the same license. Commercial licenses for closed-source use are available from the copyright holder.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/gigamail)<a href="https://allmcps.com/mcp/gigamail"><img src="https://allmcps.com/api/badge/gigamail?style=directory" alt="Gigamail on AllMCPs" /></a>