Skip to content
Agentmart
Submit a tool

Mailoo

Email, calendar, reminders & ManageSieve MCP server (IMAP/SMTP, AI triage, scheduling, OAuth2).

Connector by Bitfloo · GitHub account verified by the MCP Registry

IndexedLGPL-3.0Local (stdio)
Write a review

Chalk Labs

Need help deploying Mailoo?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/bitfloo-mailoo

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Email, calendar, reminders & ManageSieve MCP server (IMAP/SMTP, AI triage, scheduling, OAuth2).

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
29 read · 12 write · 16 delete
Secrets
5 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 57

Read from the source code; the running server may list different tools.

Read 29 · Look things up without changing anything.

  • analyze_email_for_scheduling
  • check_calendar_permissions
  • check_health
  • check_notification_setup
  • extract_calendar
  • extract_contacts
  • find_email_folder
  • get_email
  • get_email_security
  • get_email_stats
  • get_email_status
  • get_emails
Show 17 more tools
  • get_hooks_config
  • get_thread
  • get_watcher_status
  • list_accounts
  • list_calendars
  • list_emails
  • list_events
  • list_labels
  • list_mailboxes
  • list_presets
  • list_reminders
  • list_scheduled
  • list_templates
  • search_emails
  • sieve_get_script
  • sieve_list_scripts
  • sieve_status

Write 12 · Create, change, send or run things.

  • add_label
  • add_to_calendar
  • create_label
  • create_mailbox
  • create_reminder
  • download_attachment
  • export_email
  • mark_email
  • move_email
  • rename_mailbox
  • save_draft
  • test_notification

Delete 16 · Delete, drop, revoke or wipe things.

  • apply_template
  • bulk_action
  • cancel_scheduled
  • configure_alerts
  • delete_email
  • delete_label
  • delete_mailbox
  • forward_email
  • remove_label
  • reply_email
  • schedule_email
  • send_draft
Show 4 more tools
  • send_email
  • sieve_activate_script
  • sieve_delete_script
  • sieve_put_script

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • MCP_EMAIL_ALERT_WEBHOOK_URL
  • MCP_EMAIL_HTTP_TOKEN
  • MCP_EMAIL_OAUTH2_CLIENT_SECRET
  • MCP_EMAIL_OAUTH2_REFRESH_TOKEN
  • MCP_EMAIL_PASSWORD

Other settings (environment variables or headers).

  • MCP_EMAIL_ACCOUNT_NAME
  • MCP_EMAIL_ADDRESS
  • MCP_EMAIL_ALERT_DESKTOP
  • MCP_EMAIL_ALERT_SOUND
  • MCP_EMAIL_ALERT_URGENCY_THRESHOLD
  • MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE
  • MCP_EMAIL_DEFAULT_ACCOUNT
  • MCP_EMAIL_FULL_NAME
  • MCP_EMAIL_HOOK_AUTO_CALENDAR
  • MCP_EMAIL_HOOK_AUTO_FLAG
  • MCP_EMAIL_HOOK_AUTO_LABEL
  • MCP_EMAIL_HOOK_BATCH_DELAY
Show 35 more settings
  • MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES
  • MCP_EMAIL_HOOK_CALENDAR_CONFIRM
  • MCP_EMAIL_HOOK_CALENDAR_NAME
  • MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS
  • MCP_EMAIL_HOOK_ON_NEW_EMAIL
  • MCP_EMAIL_HOOK_PRESET
  • MCP_EMAIL_HTTP_ALLOWED_HOSTS
  • MCP_EMAIL_HTTP_HOST
  • MCP_EMAIL_IMAP_DISABLE_IMAP4REV2
  • MCP_EMAIL_IMAP_HOST
  • MCP_EMAIL_IMAP_PORT
  • MCP_EMAIL_IMAP_STARTTLS
  • MCP_EMAIL_IMAP_TLS
  • MCP_EMAIL_IMAP_VERIFY_SSL
  • MCP_EMAIL_OAUTH2_CLIENT_ID
  • MCP_EMAIL_OAUTH2_PROVIDER
  • MCP_EMAIL_RATE_LIMIT
  • MCP_EMAIL_READ_ONLY
  • MCP_EMAIL_SAVE_TO_SENT
  • MCP_EMAIL_SIEVE_HOST
  • MCP_EMAIL_SIEVE_PORT
  • MCP_EMAIL_SMTP_HOST
  • MCP_EMAIL_SMTP_POOL_ENABLED
  • MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS
  • MCP_EMAIL_SMTP_POOL_MAX_MESSAGES
  • MCP_EMAIL_SMTP_PORT
  • MCP_EMAIL_SMTP_STARTTLS
  • MCP_EMAIL_SMTP_TLS
  • MCP_EMAIL_SMTP_VERIFY_SSL
  • MCP_EMAIL_SYSTEM_ONE_ENABLED
  • MCP_EMAIL_TOOLSET
  • MCP_EMAIL_USERNAME
  • MCP_EMAIL_WATCHER_ENABLED
  • MCP_EMAIL_WATCHER_FOLDERS
  • MCP_EMAIL_WATCHER_IDLE_TIMEOUT

Network hosts it talks to 10

  • accounts.google.com · found in code
  • apple.com · found in code
  • auth.example.test · found in code
  • biomejs.dev · found in code
  • github.com · found in code
  • glama.ai · found in code
  • login.microsoftonline.com · found in code
  • mail.google.com · found in code
  • oauth2.googleapis.com · found in code
  • outlook.office.com · found in code

Files it touches

  • /opt/mailoo/main.js
  • /private/etc
  • /tmp/mailoo-scheduler.log
  • /usr/share/sounds/freedesktop/stereo/message-new-instant.oga
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (57)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_labelAdd Label

    Add a label to an email. For ProtonMail, this copies the email into the corresponding Labels/<name> folder. For Gmail and standard IMAP, this sets a keyword flag on the message.

  • add_to_calendarAdd Email to Calendar

    Add an email event to the local calendar (macOS Calendar.app / Linux via xdg-open). Automatically extracts event data from the email: ICS attachments, meeting URL (Zoom/Teams/Meet), conference dial-in / ID / passcode, attendees, and email body excerpt. All relevant email attachments (PDFs, docs, etc.) are saved locally and linked in the event notes. A native confirmation dialog is shown on macOS before the event is written. Returns one of: added | cancelled | timed_out | no_display | duplicate.

  • analyze_email_for_schedulingAnalyze Email for Schedulingread-only

    Analyze an email to detect calendar events and/or reminder-worthy content. Returns structured analysis so the AI can decide whether to call add_to_calendar, create_reminder, both, or neither. Use this as the first step before creating any scheduling resource.

  • apply_templateApply Templatecan change or delete data

    Apply an email template with variable substitution. Use action "preview" to see the result, "draft" to save as draft, or "send" to send immediately.

  • bulk_actionRun Bulk Actioncan change or delete data

    Batch operation on multiple emails by UID list. Supports mark_read, mark_unread, flag, unflag, move, and delete. delete moves the messages to Trash. Max 100 IDs per call. Returns success/failure counts.

  • cancel_scheduledCancel Scheduled Emailcan change or delete data

    Cancel a scheduled email. Removes it from the queue and moves the associated draft to Trash.

  • check_calendar_permissionsCheck Calendar Permissionsread-only

    Check whether the local calendar is accessible. On macOS, verifies Calendar.app access (requires Privacy & Security → Calendars permission). Returns granted status and step-by-step setup instructions if access is denied.

  • check_healthCheck Account Healthread-only

    Check connection health, quota, and capabilities for email accounts. Useful for diagnosing issues.

  • check_notification_setupCheck Notification Setupread-only

    Diagnose desktop notification support on this platform. Checks if required OS tools are available and provides setup instructions to enable notification permissions (macOS, Linux, Windows).

  • configure_alertsConfigure Alertscan change or delete data

    Update alert/notification settings at runtime. Changes take effect immediately. Use save=true to persist changes to the config file. Omit any field to leave it unchanged.

  • create_labelCreate Label

    Create a new label. For ProtonMail, creates a folder under Labels/. For standard IMAP keywords, labels are auto-created on first use — this is a no-op.

  • create_mailboxCreate Mailbox

    Create a new mailbox (folder). Use '/' as separator for nested folders (e.g., 'Work/Projects'). Use list_mailboxes to see existing folders.

  • create_reminderCreate Reminder

    Create a reminder in macOS Reminders.app from an email. Shows a native confirmation dialog before adding. Use for action items, deadlines, and follow-up tasks extracted from emails. Use analyze_email_for_scheduling first to let the AI decide if a reminder is appropriate.

  • delete_emailDelete Emailcan change or delete data

    Delete an email. By default moves to Trash. Set permanent=true for permanent deletion (⚠️ irreversible). The mailbox must be a real folder. Use find_email_folder first if the email was found in a virtual folder.

  • delete_labelDelete Labelcan change or delete data

    Delete a label. For ProtonMail, deletes the label folder. For standard IMAP keywords, labels cannot be deleted server-wide — use remove_label on individual emails.

Show 42 more tools
  • delete_mailboxDelete Mailboxcan change or delete data

    ⚠️ DESTRUCTIVE: Permanently delete a mailbox and ALL its contents. This cannot be undone. Use list_mailboxes to verify the folder path.

  • download_attachmentDownload Attachment

    Description is built at runtime.

  • export_emailExport Email

    Description is built at runtime.

  • extract_calendarExtract Calendar Eventsread-only

    Extract calendar events (ICS/iCalendar) from an email. Returns structured event data including time, location, attendees, and status.

  • extract_contactsExtract Contactsread-only

    Extract unique contacts from recent email headers. Returns contacts sorted by frequency (most frequent first). Useful for finding frequent correspondents or building an address book.

  • find_email_folderFind Email Folderread-only

    Find which real mailbox folder(s) an email belongs to. Required before move_email or delete_email when the email was found in a virtual folder (e.g., "All Mail", "Starred"). Returns the real folder path to use as sourceMailbox.

  • forward_emailForward Emailcan change or delete data

    Forward an email to new recipients with optional additional message. Original email is quoted below. Original attachments are not included.

  • get_emailGet Email

    Get the full content of a specific email by ID. Does NOT mark the email as seen (uses IMAP BODY.PEEK — non-destructive). Use format="text" to strip HTML, or format="stripped" to also remove quoted replies and signatures. Use maxLength to cap the body size for large emails. Set markRead=true only when you want to explicitly mark the email as read.

  • get_email_securityRead Email Securityread-only

    Read-only SPF/DKIM/DMARC and From/Reply-To/Return-Path domain signals for an email. Does not change flags. Does not return unsubscribe or tracking URLs.

  • get_email_statsGet Email Statisticsread-only

    Get email statistics and analytics for a mailbox. Shows volume, top senders, daily trends, and read/flagged counts.

  • get_email_statusGet Email Statusread-only

    Get the current read/flag/label state of an email without fetching its body. Much cheaper than get_email when you only need to check whether an email is unread, flagged, or which labels it has. Also useful to confirm the result of a mark_email call. Does NOT mark the email as seen.

  • get_emailsGet Emailsread-only

    Fetch the full content of multiple emails in a single call (max 20). More efficient than calling get_email repeatedly when triaging or summarising several emails. Does NOT mark emails as seen. Defaults to format="text" (HTML stripped) for compact, AI-friendly output.

  • get_hooks_configGet Hooks Configurationread-only

    Get the current AI hooks configuration including preset, rules, and custom instructions.

  • get_threadGet Email Threadread-only

    Reconstruct a full email conversation thread by following References and In-Reply-To headers. Returns all related messages. Does NOT mark emails as seen. Use format="text" to strip HTML, or format="stripped" to also remove quoted replies. Use newestFirst=true to show the most recent message in full and older messages as header-only summaries. Use get_email first to obtain the message_id.

  • get_watcher_statusGet Watcher Statusread-only

    Get the status of IMAP IDLE watcher connections and recent activity.

  • list_accountsList Accountsread-only

    List all configured email accounts. Call this first to discover available account names for use with other tools.

  • list_calendarsList Calendarsread-only

    List all available local calendars (macOS Calendar.app / Linux default). Use the returned calendar names with add_to_calendar to target a specific calendar.

  • list_emailsList Emailsread-only

    List emails in a mailbox with optional filters. Returns paginated results with metadata (read/unread 🔵, flagged ⭐, replied ↩️, attachments 📎, labels 🏷️). Use get_email to fetch full body content. ProtonMail note: labels are represented as IMAP folders — use list_labels to discover them, then list_emails with mailbox="Labels/X" to find labeled emails.

  • list_eventsList Calendar Eventsread-only

    List local calendar events with optional filters. Search by title, date range, or calendar name. Use to check for existing events before creating new ones, or to verify a recently added event. Returns event id, title, start/end time, location, and calendar name.

  • list_labelsList Labelsread-only

    List available labels for an email account. Auto-detects the label system: ProtonMail folder-labels, Gmail X-GM-LABELS, or IMAP keywords. ProtonMail note: labels are represented as IMAP folders under the Labels/ prefix. Use list_emails with mailbox="Labels/<name>" to find emails tagged with a ProtonMail label.

  • list_mailboxesList Mailboxesread-only

    List all mailbox folders for an account with unread counts and special-use flags. Use list_accounts first to get the account name.

  • list_presetsList Triage Presetsread-only

    List all available AI triage presets with their descriptions and suggested labels.

  • list_remindersList Remindersread-only

    List reminders from macOS Reminders.app with optional filters. Search by title or list name. By default only shows incomplete reminders. Use to check for existing reminders before creating new ones, or to verify a recently added reminder. Returns reminder id, title, due date, completion status, priority, and list name.

  • list_scheduledList Scheduled Emailsread-only

    List scheduled emails. Shows pending, sent, or all scheduled emails.

  • list_templatesList Templatesread-only

    Description is built at runtime.

  • mark_emailMark Email

    Change email flags — mark as read/unread, flag/unflag. Idempotent: marking an already-read email as read is a no-op.

  • move_emailMove Email

    Move an email to a different mailbox folder. The sourceMailbox must be a real folder, not a virtual one like "All Mail". Use find_email_folder first if the email was discovered in a virtual folder.

  • remove_labelRemove Labelcan change or delete data

    Remove a label from an email. For ProtonMail, this removes the email from the label folder. For Gmail and standard IMAP, this removes a keyword flag.

  • rename_mailboxRename Mailbox

    Rename an existing mailbox (folder). Use list_mailboxes to see current folder paths.

  • reply_emailReply to Emailcan change or delete data

    Reply to an email with proper threading (In-Reply-To & References headers). Use get_email first to read the original.

  • save_draftSave Draft

    Save an email draft to the Drafts folder. Compose over time, then use send_draft to send it. Use list_emails with the Drafts mailbox to see saved drafts.

  • schedule_emailSchedule Emailcan change or delete data

    Schedule an email to be sent at a specific time in the future. The email is queued locally and sent automatically when the time arrives.

  • search_emailsSearch Emailsread-only

    Search emails by keyword across subject, sender, and body. Omit query (or pass an empty string) to use it as a pure filter — e.g. find all emails with attachments from a specific recipient without a keyword. Supports additional filters for recipient, attachments, size, and reply status.

  • send_draftSend Draftcan change or delete data

    Send an existing draft email and remove it from Drafts. The draft is fetched, sent via SMTP, then deleted. Use list_emails with the Drafts mailbox to find draft IDs.

  • send_emailSend Emailcan change or delete data

    Send a new email. Supports plain text or HTML body, CC, BCC, and attachments. Optional messageId lets a retried call reuse the same Message-ID.

  • sieve_activate_scriptActivate Sieve Scriptcan change or delete data

    Activate a ManageSieve script (RFC 5804 SETACTIVE). Pass an empty name to deactivate all.

  • sieve_delete_scriptDelete Sieve Scriptcan change or delete data

    Delete a ManageSieve script (RFC 5804 DELETESCRIPT). Active scripts must be deactivated first.

  • sieve_get_scriptGet Sieve Scriptread-only

    Download a ManageSieve script by name (RFC 5804 GETSCRIPT).

  • sieve_list_scriptsList Sieve Scriptsread-only

    List ManageSieve scripts on the account (RFC 5804 LISTSCRIPTS).

  • sieve_put_scriptSave Sieve Scriptcan change or delete data

    Create or replace a ManageSieve script (RFC 5804 PUTSCRIPT). Does not activate it.

  • sieve_statusCheck Sieve Availabilityread-only

    Detect whether ManageSieve is available for an account (port 4190 by default). If the provider only exposes filters in a web UI, this reports a warning rather than IMAP capabilities.

  • test_notificationSend Test Notification

    Send a test desktop notification to verify that OS permissions are correctly configured. Use check_notification_setup first to diagnose any issues.

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
453
Last commit
Oct 23, 2026 (7 days ago)
Last release
Oct 18, 2026 (12 days ago)
Last package publish
Oct 18, 2026 (12 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.Bitfloo/mailoo
Version
0.2.2
Auth
API key
Packages
npm @bitfloo/mailoo
License
LGPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Mailoo running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Mailoo?

CallGet help
Cite this page

Mailoo MCP server. Agent Mart. https://agentmart.dev/connectors/bitfloo-mailoo (last updated 2026-10-25)