Mailoo - Email MCP Server
io.github.Bitfloo · Updated
Email MCP server for AI agents: IMAP/SMTP, Gmail, Outlook, calendar, ManageSieve, AI triage, OAuth2.
At a glance
Mailoo - Email MCP Server is an MCP server in the Productivity category. It runs locally over stdio via `npx -y @bitfloo/mailoo`, and needs MCP_EMAIL_ADDRESS, MCP_EMAIL_IMAP_HOST, MCP_EMAIL_SMTP_HOST, MCP_EMAIL_PASSWORD and MCP_EMAIL_OAUTH2_CLIENT_SECRET. It exposes 66 tools, including osascript, notify-send and paplay. It scores A (80/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install Mailoo - Email MCP Server in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install Mailoo - Email MCP Server in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add mailoo -e 'MCP_EMAIL_ADDRESS=<MCP_EMAIL_ADDRESS>' -e 'MCP_EMAIL_PASSWORD=<MCP_EMAIL_PASSWORD>' -e 'MCP_EMAIL_IMAP_HOST=<MCP_EMAIL_IMAP_HOST>' -e 'MCP_EMAIL_SMTP_HOST=<MCP_EMAIL_SMTP_HOST>' -e 'MCP_EMAIL_OAUTH2_CLIENT_SECRET=<MCP_EMAIL_OAUTH2_CLIENT_SECRET>' -- npx -y @bitfloo/mailooFill in your credentials
Replace <MCP_EMAIL_ADDRESS>, <MCP_EMAIL_PASSWORD>, <MCP_EMAIL_IMAP_HOST>, <MCP_EMAIL_SMTP_HOST>, <MCP_EMAIL_OAUTH2_CLIENT_SECRET> with your real values. Keep secrets out of any config file you commit.
Verify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes (e.g. osascript, notify-send, paplay). It discovers them automatically.
How to install Mailoo - Email MCP Server in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "mailoo": { "command": "npx", "args": [ "-y", "@bitfloo/mailoo" ], "env": { "MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>", "MCP_EMAIL_PASSWORD": "<MCP_EMAIL_PASSWORD>", "MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>", "MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>", "MCP_EMAIL_OAUTH2_CLIENT_SECRET": "<MCP_EMAIL_OAUTH2_CLIENT_SECRET>" } } } }Fill in your credentials
Replace <MCP_EMAIL_ADDRESS>, <MCP_EMAIL_PASSWORD>, <MCP_EMAIL_IMAP_HOST>, <MCP_EMAIL_SMTP_HOST>, <MCP_EMAIL_OAUTH2_CLIENT_SECRET> with your real values. Keep secrets out of any config file you commit.
Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install Mailoo - Email MCP Server in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "mailoo": { "command": "npx", "args": [ "-y", "@bitfloo/mailoo" ], "env": { "MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>", "MCP_EMAIL_PASSWORD": "<MCP_EMAIL_PASSWORD>", "MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>", "MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>", "MCP_EMAIL_OAUTH2_CLIENT_SECRET": "<MCP_EMAIL_OAUTH2_CLIENT_SECRET>" } } } }Fill in your credentials
Replace <MCP_EMAIL_ADDRESS>, <MCP_EMAIL_PASSWORD>, <MCP_EMAIL_IMAP_HOST>, <MCP_EMAIL_SMTP_HOST>, <MCP_EMAIL_OAUTH2_CLIENT_SECRET> with your real values. Keep secrets out of any config file you commit.
Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install Mailoo - Email MCP Server in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.mailoo] command = "npx" args = ["-y", "@bitfloo/mailoo"] env = { MCP_EMAIL_ADDRESS = "<MCP_EMAIL_ADDRESS>", MCP_EMAIL_PASSWORD = "<MCP_EMAIL_PASSWORD>", MCP_EMAIL_IMAP_HOST = "<MCP_EMAIL_IMAP_HOST>", MCP_EMAIL_SMTP_HOST = "<MCP_EMAIL_SMTP_HOST>", MCP_EMAIL_OAUTH2_CLIENT_SECRET = "<MCP_EMAIL_OAUTH2_CLIENT_SECRET>" }Fill in your credentials
Replace <MCP_EMAIL_ADDRESS>, <MCP_EMAIL_PASSWORD>, <MCP_EMAIL_IMAP_HOST>, <MCP_EMAIL_SMTP_HOST>, <MCP_EMAIL_OAUTH2_CLIENT_SECRET> with your real values. Keep secrets out of any config file you commit.
Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install Mailoo - Email MCP Server in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "mailoo": { "command": "npx", "args": [ "-y", "@bitfloo/mailoo" ], "env": { "MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>", "MCP_EMAIL_PASSWORD": "<MCP_EMAIL_PASSWORD>", "MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>", "MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>", "MCP_EMAIL_OAUTH2_CLIENT_SECRET": "<MCP_EMAIL_OAUTH2_CLIENT_SECRET>" } } } }Fill in your credentials
Replace <MCP_EMAIL_ADDRESS>, <MCP_EMAIL_PASSWORD>, <MCP_EMAIL_IMAP_HOST>, <MCP_EMAIL_SMTP_HOST>, <MCP_EMAIL_OAUTH2_CLIENT_SECRET> with your real values. Keep secrets out of any config file you commit.
Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install Mailoo - Email MCP Server in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "mailoo": { "command": "npx", "args": [ "-y", "@bitfloo/mailoo" ], "env": { "MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>", "MCP_EMAIL_PASSWORD": "<MCP_EMAIL_PASSWORD>", "MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>", "MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>", "MCP_EMAIL_OAUTH2_CLIENT_SECRET": "<MCP_EMAIL_OAUTH2_CLIENT_SECRET>" } } } }Fill in your credentials
Replace <MCP_EMAIL_ADDRESS>, <MCP_EMAIL_PASSWORD>, <MCP_EMAIL_IMAP_HOST>, <MCP_EMAIL_SMTP_HOST>, <MCP_EMAIL_OAUTH2_CLIENT_SECRET> with your real values. Keep secrets out of any config file you commit.
How to install Mailoo - Email MCP Server in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "mailoo": { "type": "stdio", "command": "npx", "args": [ "-y", "@bitfloo/mailoo" ], "env": { "MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>", "MCP_EMAIL_PASSWORD": "<MCP_EMAIL_PASSWORD>", "MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>", "MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>", "MCP_EMAIL_OAUTH2_CLIENT_SECRET": "<MCP_EMAIL_OAUTH2_CLIENT_SECRET>" } } } }Fill in your credentials
Replace <MCP_EMAIL_ADDRESS>, <MCP_EMAIL_PASSWORD>, <MCP_EMAIL_IMAP_HOST>, <MCP_EMAIL_SMTP_HOST>, <MCP_EMAIL_OAUTH2_CLIENT_SECRET> with your real values. Keep secrets out of any config file you commit.
Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What does Mailoo - Email MCP Server need from you?
API key — Password or app password. Required unless MCP_EMAIL_OAUTH2_PROVIDER is set.
MCP_EMAIL_ADDRESSrequiredEnvironment variableEmail address. Required for the environment-variable account.
MCP_EMAIL_PASSWORDoptionalsecretEnvironment variablePassword or app password. Required unless MCP_EMAIL_OAUTH2_PROVIDER is set.
MCP_EMAIL_IMAP_HOSTrequiredEnvironment variableIMAP server hostname.
MCP_EMAIL_SMTP_HOSTrequiredEnvironment variableSMTP server hostname.
MCP_EMAIL_ACCOUNT_NAMEoptionalEnvironment variableAccount name. Defaults to default.
MCP_EMAIL_FULL_NAMEoptionalEnvironment variableDisplay name on sent mail.
MCP_EMAIL_USERNAMEoptionalEnvironment variableLogin username. Defaults to the email address.
MCP_EMAIL_IMAP_PORToptionalEnvironment variableIMAP port. Defaults to 993.
MCP_EMAIL_IMAP_TLSoptionalEnvironment variableSet to false to turn off implicit IMAP TLS. Defaults to true.
MCP_EMAIL_IMAP_STARTTLSoptionalEnvironment variableSet to true to upgrade IMAP with STARTTLS. Defaults to false.
MCP_EMAIL_IMAP_VERIFY_SSLoptionalEnvironment variableSet to false to skip IMAP certificate verification. Defaults to true.
MCP_EMAIL_IMAP_DISABLE_IMAP4REV2optionalEnvironment variableSet to true to force IMAP4rev1 SEARCH.
MCP_EMAIL_SIEVE_HOSToptionalEnvironment variableManageSieve hostname. Defaults to the IMAP host.
MCP_EMAIL_SIEVE_PORToptionalEnvironment variableManageSieve port. Defaults to 4190.
MCP_EMAIL_SMTP_PORToptionalEnvironment variableSMTP port. Defaults to 465.
MCP_EMAIL_SMTP_TLSoptionalEnvironment variableSet to false to turn off implicit SMTP TLS. Defaults to true.
MCP_EMAIL_SMTP_STARTTLSoptionalEnvironment variableSet to true to upgrade SMTP with STARTTLS. Defaults to false.
MCP_EMAIL_SMTP_VERIFY_SSLoptionalEnvironment variableSet to false to skip SMTP certificate verification. Defaults to true.
MCP_EMAIL_SMTP_POOL_ENABLEDoptionalEnvironment variableSet to false to disable SMTP connection pooling. Defaults to true.
MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONSoptionalEnvironment variableMaximum pooled SMTP connections. Defaults to 1.
MCP_EMAIL_SMTP_POOL_MAX_MESSAGESoptionalEnvironment variableMaximum messages per pooled SMTP connection. Defaults to 100.
MCP_EMAIL_OAUTH2_PROVIDERoptionalEnvironment variableOAuth2 provider: google, microsoft, or custom. Configure custom in the config file: an account in the environment replaces the config file, so custom set here has no token_url or auth_url.
MCP_EMAIL_OAUTH2_CLIENT_IDoptionalEnvironment variableOAuth2 client id.
MCP_EMAIL_OAUTH2_CLIENT_SECREToptionalsecretEnvironment variableOAuth2 client secret.
Pass secrets through your shell environment rather than committing them into a config file.
What tools does Mailoo - Email MCP Server expose? (66)
Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.
- osascriptmacOS notifications, calendar events, reminders
- notify-sendLinux desktop notifications
- paplayLinux notification sound
- powershellWindows balloon notifications
- whichChecks that `osascript`, `afplay`, `notify-send`, `paplay`, or `powershell` exists. `afplay` is only probed; macOS sound goes through `osascript`
- xdg-openOpens a temporary calendar file on Linux
- launchctlInstalls, removes or checks (`scheduler status`) the macOS scheduler agent
- crontabInstalls, removes or checks (`scheduler status`) the Linux scheduler line
- savePath`download_attachment` or `export_email` when that argument is set
- list_accountsList all configured email accounts
- list_mailboxesList folders with unread counts and special-use flags
- list_emailsPaginated email listing with date, sender, subject, and flag filters
- get_emailRead full email content with attachment metadata
- get_emailsFetch full content of multiple emails in a single call (max 20)
- get_email_statusGet read/flag/label state of an email without fetching the body
- search_emailsSearch by keyword; `since`/`before` (aliases `start_date`/`end_date`)
- download_attachmentDownload an attachment (base64, or `savePath` to disk — not a read-only write)
- export_emailExport one message as its raw RFC 822 `.eml` source (base64, or `savePath` to disk); flags unchanged
- find_email_folderDiscover the real folder(s) an email resides in (resolves virtual folders)
- extract_contactsExtract unique contacts from recent email headers
- get_threadReconstruct a conversation thread via References/In-Reply-To
- list_templatesList available email templates
- get_email_statsEmail analytics — volume, top senders, daily trends
- check_healthConnection health, latency, quota, and IMAP capabilities
- get_email_securityRead-only SPF/DKIM/DMARC and From/Reply-To/Return-Path domains
- sieve_statusWhether ManageSieve is reachable (default port 4190)
- sieve_list_scriptsList ManageSieve scripts
- sieve_get_scriptDownload a ManageSieve script
- send_emailSend a new email (plain text or HTML, CC/BCC, attachments)
- reply_emailReply with proper threading (In-Reply-To, References)
- forward_emailForward with original content quoted
- save_draftSave a draft (RFC 2047 subjects; optional attachments)
- send_draftSend an existing draft and remove from Drafts
- apply_templateApply a template with variable substitution
- schedule_emailSchedule an email for future delivery
- list_scheduledList scheduled emails by status
- cancel_scheduledCancel a pending scheduled email
- sieve_put_scriptCreate or replace a ManageSieve script (does not activate)
- sieve_delete_scriptDelete a ManageSieve script
- sieve_activate_scriptActivate a script (empty name deactivates all)
- move_emailMove email between folders
- delete_emailMove to Trash or permanently delete
- mark_emailMark as read/unread, flag/unflag
- bulk_actionBatch operation on up to 100 emails
- create_mailboxCreate a new mailbox folder
- rename_mailboxRename an existing mailbox folder (not INBOX or a special-use folder)
- delete_mailboxPermanently delete a mailbox and contents (not INBOX or a special-use folder)
- list_labelsDiscover available labels (auto-detects provider strategy)
- add_labelAdd a label to an email (ProtonMail folders, Gmail X-GM-LABELS, or IMAP keywords)
- remove_labelRemove a label from an email
- create_labelCreate a new label
- delete_labelDelete a label (on Gmail, not INBOX or a special-use folder)
- get_watcher_statusShow IMAP IDLE connections, folders being monitored, and last-seen UIDs
- list_presetsList available AI triage presets with descriptions and suggested labels
- get_hooks_configShow current hooks configuration — preset, rules, and custom instructions
- configure_alertsUpdate alert/notification settings at runtime
- check_notification_setupDiagnose desktop notification support and provide setup instructions
- test_notificationSend a test notification to verify OS permissions are configured
- extract_calendarExtract ICS/iCalendar events from an email
- analyze_email_for_schedulingAnalyze an email to detect events and reminder-worthy content
- add_to_calendarAdd an email event to the local calendar (macOS/Linux)
- create_reminderCreate a reminder in macOS Reminders.app from an email
- list_calendarsList all available local calendars
- list_eventsList local calendar events with optional title, date, and calendar filters
- list_remindersList Reminders.app items with optional title and list filters
- check_calendar_permissionsCheck whether the local calendar is accessible
What the code can do
Read from the published package source — never executed. Parsed 80 of 122 source files.
This server can run other programs on your machine, read and write files and make network requests.
How it was published
- Published by a verified CI identity (github trusted publishing) rather than a personal token.
- Has a provenance attestation tying this artifact to the commit it was built from.
- 1 npm maintainer — a single point of compromise · last published by GitHub Actions.
Maintainer of this package and think something here is wrong? Tell us and we'll correct it.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit today — Actively maintained.
- Repository created 1 month ago — Very new project with little track record yet.
- 0 GitHub stars — Very little community usage so far.
Client compatibility
Health score
A · 80Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 0 days ago.
- Adoption20%0%
0 stars.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%100%
Package and registry entry point at the same repository.
- Packaging15%100%
Publishes a pinned version (0.3.1).
Documentation
Full READMEMailoo
Mailoo (@bitfloo/mailoo) is a Model Context Protocol (MCP) server for email (IMAP/SMTP), calendar, reminders, and ManageSieve automation developed and maintained by Bitfloo.
Enables AI assistants and autonomous agents to read, search, send, manage, schedule, and analyze emails, calendars, Reminders, and ManageSieve filter scripts across multiple accounts. Exposes up to 57 tools (with full, core, and minimal toolset profiles), up to 7 prompts, and 6 resources over MCP with outputSchema / structuredContent, OAuth2 support _(experimental)_, email scheduling, calendar extraction, analytics, provider-aware label management, real-time IMAP IDLE watcher with AI-powered triage, customizable presets and static rules, ManageSieve filters, and a guided setup wizard.
Behaviour for Sent copies, IMAP4rev2, Sieve, attachment savePath, read-only side effects, and reconnect backoff is documented in `docs/configuration.md` and `docs/tools.md`.
Highlights
| Feature | In this tree | |---------|:------------:| | Multi-account IMAP/SMTP | ✅ | | Send / reply / forward (with dryRun preview) | ✅ | | Drafts & templates | ✅ | | Provider-aware labels & bulk ops | ✅ | | Schedule future emails | ✅ | | Real-time IMAP IDLE watcher | ✅ | | AI triage with presets | ✅ | | Desktop & webhook alerts | ✅ | | Calendar (ICS, Apple Calendar/Reminders) | ✅ | | Email analytics | ✅ | | OAuth2 (Gmail / M365) | ✅ _experimental_ | | Guided setup wizard | ✅ | | ManageSieve (server-side filters) | ✅ | | Sender auth headers (SPF/DKIM/DMARC) | ✅ | | Toolset profiles (full / core / minimal) & GBNF small-LLM ergonomics | ✅ | | MCP outputSchema & structuredContent | ✅ |
Table of Contents
- Highlights
- Security & Sandboxing Architecture
- LLM Ergonomics & Toolset Profiles
- Docs
- Background
- Install
- Usage
- Capabilities & data flows
- API
- Maintainers
- Contributing
- Attribution & License
Security & Sandboxing Architecture
Policy and how to report a vulnerability: [SECURITY.md](SECURITY.md).
Mailoo is engineered with defense-in-depth sandboxing so AI agents can safely interact with untrusted mail and external servers:
- Zero Shell Execution (`execFile` only) — Native OS integrations (macOS
osascriptfor Calendar/Reminders/notifications, Linuxnotify-send, Windowspowershell, and crontab installation) invokechild_process.execFilewith strict argument arrays (shell: false), eliminating command injection vectors. - SSRF & DNS-Rebinding Protection (`net.BlockList`) — Outbound alert webhooks validate URLs against an IPv4/IPv6
net.BlockListcovering loopback, RFC 1918 private ranges, link-local/cloud metadata (169.254.169.254,100.100.100.200), CGNAT, NAT64, 6to4, and reserved prefixes both at configuration time and at socket connection time (createWebhookConnectLookup), preventing DNS-rebinding attacks (src/safety/validation.ts). - Symlink-Free Write Containment (`savePath`) — Attachment and
.emlexports viasavePathare strictly confined to the working directory, walk every path segment withlstat, refuse hidden dotfiles and OS persistence directories (Library/LaunchAgents,.ssh,.gnupg), and open targets withO_CREAT | O_EXCL | O_NOFOLLOWunder a 50 MiB cap (5 MiB inline base64 cap). An.emlexport is capped by its own size; an attachment by its encoded size in the message, which for base64 runs above the file size (details). - Prompt Injection Fencing (`<<<UNTRUSTED_EXTERNAL_CONTENT>>>`) — Untrusted email subjects, sender headers, message bodies, previews, and authentication results are wrapped in
<<<UNTRUSTED_EXTERNAL_CONTENT>>>…<<<END_UNTRUSTED_EXTERNAL_CONTENT>>>delimiters (stripping any forged markers inside the payload) so LLMs treat external mail as data, not instructions. - Strict Credential File Permissions (`0600`) —
config.tomlis written and verified with mode0600inside a0700config directory ($XDG_CONFIG_HOME/mailoo/config.toml). Passwords and message bodies are redacted from the JSONL write audit log (src/safety/audit.ts). - TLS & STARTTLS Verification —
tlsenforces implicit TLS with certificate verification (verify_ssl = trueby default);starttlsfails closed if the server does not advertiseSTARTTLS. Turning both off is accepted only for a loopback host. ManageSieve refusesAUTHENTICATE PLAINover unencrypted sockets withoutSTARTTLS. - Operational Guardrails (`MCP_EMAIL_READ_ONLY`, `MCP_EMAIL_TOOLSET`, `dryRun`) —
MCP_EMAIL_READ_ONLY=truedisables all write tools, background watchers, hooks, and schedulers at startup, exposing only the 31 read-only tools.MCP_EMAIL_TOOLSET=full|core|minimalscopes the registered tool surface to match the agent's capability tier and context budget.dryRun: trueon high-risk tools (send_email,reply_email,forward_email,send_draft,delete_email,bulk_action,delete_mailbox,sieve_put_script,sieve_delete_script) validates all parameters and account resolution and returns a[DRY RUN]preview without modifying server state.- Per-Account Rate Limiting —
rate_limit(default 10 sends/minute) enforces an independent token bucket per account (src/safety/rate-limiter.ts). Buckets live in memory, so each server process and eachmailoo scheduler checkrun counts on its own.
LLM Ergonomics & Toolset Profiles
Mailoo is designed to work across both frontier models (Claude, GPT, Gemini) and local/small 3B–8B parameter models (llama.cpp GBNF grammars, Ollama, vLLM):
Excerpt — the full document is on GitHub.
Alternatives to Mailoo - Email MCP Server
- Sendraven MCPA · 82Email infrastructure for AI agents: send, read replies as threads, campaigns, per-key limits.
- Gmail-MCP-ServerA · 87Lean Gmail MCP server with auto authentication support
- CalendarMCPB · 71Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
- OneUptimeA · 96Manage incidents, alerts, monitors, status pages, on-call and telemetry in OneUptime.
Maintain Mailoo - Email MCP Server? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/io-github-bitfloo-mailoo)Catalog data refreshed . Something wrong? Report it.