mailopoly
Server Details
Your unified inbox — everything that reaches you, understood and actionable from your AI assistant.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- Changed
get_connect_instructions1 field changed- changed
Output schema / properties / imap_suggestion / descriptionPrevious value: -"IMAP details + app-password steps when method=imap: provider_name, host, port, help_url, app_password_required, app_password_note, instructions. app_password_note can carry hard prerequisites (e.g. IMAP is a Premium-only feature on mail.com) — always relay it to the user when present."New value: +"IMAP details + app-password steps when method=imap: provider_name, host, port, help_url, app_password_required, app_password_note, instructions."
1 tool update
- Changed
get_connect_instructions1 field changed- changed
Output schema / properties / imap_suggestion / descriptionPrevious value: -"IMAP details + app-password steps when method=imap: provider_name, host, port, help_url, app_password_required, app_password_note, instructions."New value: +"IMAP details + app-password steps when method=imap: provider_name, host, port, help_url, app_password_required, app_password_note, instructions. app_password_note can carry hard prerequisites (e.g. IMAP is a Premium-only feature on mail.com) — always relay it to the user when present."
1 tool update
- Changed
search_emails2 fields changed- removed
Input schema / properties / accountRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Account" -} - removed
Input schema / properties / sort_orderRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Sort Order" -}
1 tool update
- Changed
search_emails1 field changed- added
Input schema / properties / accountAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Account" +}
1 tool update
- Changed
search_emails1 field changed- added
Input schema / properties / sort_orderAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Sort Order" +}
2 tool updates
- Changed
create_task2 fields changed- added
Input schema / $defsAdded value: +{ + "TaskAttendee": { + "description": "One meeting attendee for create_task(task_type='event'). email is the\nattendee's real address (required); role defaults to 'required'.", + "properties": { + "email": { + "title": "Email", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "role": { + "enum": [ + "required", + "optional" + ], + "title": "Role", + "type": "string" + } + }, + "required": [ + "email" + ], + "title": "TaskAttendee", + "type": "object" + } +} - changed
Input schema / properties / attendees / anyOfPrevious value: -[ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "$ref": "#/$defs/TaskAttendee" + }, + "type": "array" + }, + { + "type": "null" + } +]
- Changed
resolve_priority3 fields changed- added
Input schema / $defsAdded value: +{ + "PrioritySource": { + "additionalProperties": true, + "description": "The `source` object the EA report attaches to each priorities/nudge\nitem, passed back verbatim to resolve_priority. Different item kinds\npopulate different fields (a bill has invoice ids, a reply has an\nemail_id…), so nothing is universally required — ref_id remains the\nfallback identifier. extra=\"allow\" keeps any additional keys the report\nemits (e.g. sender_name) intact through validation, since\napply_ea_item_action reads the value as a plain dict.", + "properties": { + "amount": { + "title": "Amount", + "type": "number" + }, + "currency": { + "title": "Currency", + "type": "string" + }, + "due_date": { + "title": "Due Date", + "type": "string" + }, + "email_id": { + "title": "Email Id", + "type": "string" + }, + "email_ids": { + "items": { + "type": "string" + }, + "title": "Email Ids", + "type": "array" + }, + "event_id": { + "title": "Event Id", + "type": "string" + }, + "invoice_id": { + "title": "Invoice Id", + "type": "string" + }, + "invoice_ids": { + "items": { + "type": "string" + }, + "title": "Invoice Ids", + "type": "array" + }, + "kind": { + "title": "Kind", + "type": "string" + }, + "sender_email": { + "title": "Sender Email", + "type": "string" + }, + "sender_name": { + "title": "Sender Name", + "type": "string" + }, + "subject": { + "title": "Subject", + "type": "string" + }, + "task_id": { + "title": "Task Id", + "type": "string" + }, + "thread_id": { + "title": "Thread Id", + "type": "string" + } + }, + "title": "PrioritySource", + "type": "object" + } +} - changed
Input schema / properties / source / anyOfPrevious value: -[ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "$ref": "#/$defs/PrioritySource" + }, + { + "type": "null" + } +] - removed
Input schema / properties / source / titleRemoved value: -"Source"
1 tool update
- Added
snooze_reconnect_reminder
6 tool updates
- Added
dismiss_nudge - Changed
get_email1 field changed- added
Output schema / properties / suggested_repliesAdded value: +{ + "anyOf": [ + { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Pre-written reply drafts in the user's own voice ({short_response, content}, best first). Offer by label; send the chosen one via send_email(reply_to_email_id, body=content).", + "title": "Suggested Replies" +}
- Added
get_priorities - Added
next_nudge - Added
resolve_priority - Added
set_daily_briefing
4 tool updates
- Changed
deep_search_emails1 field changed- changed
Output schema / properties / results / descriptionPrevious value: -"Email summary objects. Common keys: email_id, subject, sender_name, sender_email, date, snippet, personal_or_ad, categories, source. Pass email_id to get_email / get_action_links."New value: +"Email summary objects. Common keys: email_id, subject, sender_name, sender_email, date, snippet, folder ('cleanbox' = genuine personal mail, 'other' = promotional), categories, source. Pass email_id to get_email / get_action_links."
- Changed
get_catch_up12 fields changed- added
Input schema / properties / filter_type / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / filter_type / defaultPrevious value: -"all"New value: +null - removed
Input schema / properties / filter_type / typeRemoved value: -"string" - added
Input schema / properties / folderAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Folder" +} - added
Input schema / properties / summarizeAdded value: +{ + "default": false, + "title": "Summarize", + "type": "boolean" +} - changed
Output schema / properties / briefing / descriptionPrevious value: -"AI summary of what was missed."New value: +"Mailopoly's own written briefing — null unless summarize=true was passed (summarise sender_groups yourself)." - added
Output schema / properties / cleanbox_countAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "How many of the new emails are Cleanbox (personal).", + "title": "Cleanbox Count" +} - removed
Output schema / properties / filterRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Filter" -} - added
Output schema / properties / folderAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Which folder was covered: cleanbox | other | all.", + "title": "Folder" +} - added
Output schema / properties / other_count / descriptionAdded value: +"How many are Other (promotional)." - removed
Output schema / properties / personal_countRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Personal Count" -} - changed
Output schema / properties / sender_groups / descriptionPrevious value: -"New emails grouped by sender, with unread counts."New value: +"New emails grouped by sender, with unread counts and per-email snippets — summarise these yourself."
- Changed
get_feed2 fields changed- added
Input schema / properties / folderAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Folder" +} - changed
Output schema / properties / results / descriptionPrevious value: -"Email summary objects. Common keys: email_id, subject, sender_name, sender_email, date, snippet, personal_or_ad, categories, source. Pass email_id to get_email / get_action_links."New value: +"Email summary objects. Common keys: email_id, subject, sender_name, sender_email, date, snippet, folder ('cleanbox' = genuine personal mail, 'other' = promotional), categories, source. Pass email_id to get_email / get_action_links."
- Changed
search_emails2 fields changed- added
Input schema / properties / folderAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Folder" +} - changed
Output schema / properties / results / descriptionPrevious value: -"Email summary objects. Common keys: email_id, subject, sender_name, sender_email, date, snippet, personal_or_ad, categories, source. Pass email_id to get_email / get_action_links."New value: +"Email summary objects. Common keys: email_id, subject, sender_name, sender_email, date, snippet, folder ('cleanbox' = genuine personal mail, 'other' = promotional), categories, source. Pass email_id to get_email / get_action_links."
1 tool update
- Added
set_language
1 tool update
- Changed
list_invoices3 fields changed- changed
Output schema / properties / summary / descriptionPrevious value: -"Totals over the full matching set: total_amount_outstanding, total_amount_paid, total_due_today/this_week/this_month."New value: +"Totals over the FULL matching set (every vendor, not just the returned page): grand_total, total_paid, total_outstanding, record_count, vendor_count, capped." - changed
Output schema / properties / total_matching / descriptionPrevious value: -"Total matching records before the page limit."New value: +"Total matching records (across all vendors). If `summary.capped` is true there may be even more." - added
Output schema / properties / vendor_breakdownAdded value: +{ + "anyOf": [ + { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Per-vendor rollup over the full matching set, biggest first: [{vendor, count, total}]. Use this to answer 'which vendors' / 'anyone other than X' without paging every record.", + "title": "Vendor Breakdown" +}
1 tool update
- Changed
get_email1 field changed- changed
Output schema / properties / attachments / descriptionPrevious value: -"Attachment digests: name + type."New value: +"Attachment digests: name, type, and attachment_text (the extracted text content, when available) for both provider and @mly.life attachments. Read attachment_text for invoice/proposal details not present in the body."
1 tool update
- Added
set_timezone
1 tool update
- Added
about_mailopoly
36 tool updates
- First observed
add_email_to_list - First observed
check_email_sync - First observed
complete_task - First observed
create_email_list - First observed
create_task - First observed
create_task_rule - First observed
deep_search_emails - First observed
delete_task_rule - First observed
get_account_overview - First observed
get_action_links - First observed
get_catch_up - First observed
get_connect_instructions - First observed
get_draft - First observed
get_email - First observed
get_feed - First observed
get_my_day - First observed
get_widgets - First observed
hide_emails - First observed
list_drafts - First observed
list_email_accounts - First observed
list_email_lists - First observed
list_events - First observed
list_invoices - First observed
list_task_rules - First observed
list_tasks - First observed
mark_email_read - First observed
pause_email_account - First observed
remove_email_from_list - First observed
resume_email_account - First observed
save_draft - First observed
search_emails - First observed
send_email - First observed
snooze_task - First observed
start_email_account_sync - First observed
start_email_connection - First observed
verify_email_account
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
- alfred_OAuthai.get-alfred
Your real Gmail, Outlook and calendars, worked as you: read, draft, send, schedule, organize.
Stateful email for AI agents — read inboxes, reply in-thread, draft with approval.
Email triage tool powered by AI: classifies your inbox, finds messages that need a reply, and…
Connect any mailbox to Claude, ChatGPT & AI: read, send, reply, schedule & search emails.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceTransform your inbox into an intelligent, LLM-powered assistant that manages, organizes, and streamlines email using conversational language. Compatible with Gmail, Outlook, iCloud, Yahoo, and IMAP services through Nylas v3 API.21-
- FlicenseNot gradedqualityBmaintenanceUnified email orchestration server for Gmail and Outlook with agentic tools for sending, reading, searching, and managing emails, enabling assistant-driven email workflows.2-
- AlicenseNot gradedqualityCmaintenanceEnables unified email management across Gmail, Outlook, iCloud, and IMAP providers with tools for search, send, organize, and batch operations via natural language.397MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Gmail and Outlook inboxes through natural language, supporting email search, reading, and reply operations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have distinct purposes, but some overlap exists between search_emails and deep_search_emails, and between get_feed, get_catch_up, and other listing tools. Descriptions are detailed and help differentiate, so disambiguation is generally strong.
The majority use a consistent verb_noun pattern (e.g., create_task, list_invoices). However, 'about_mailopoly' and 'next_nudge' deviate slightly from this pattern, reducing consistency slightly.
With 45 tools, the count is excessively high for most assistants. While the domain is broad (email management), this number exceeds typical well-scoped ranges (3-15) and falls into the 'too many' category, causing potential bloat.
The tool set covers a wide range of email management tasks: account setup, sync, search, read, send, drafts, tasks, priorities, invoices, lists, and more. Minor gaps exist (e.g., managing non-email app connections), but overall it is comprehensive.