yahoo-mail-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YAHOO_EMAIL | No | Your Yahoo email address | |
| YAHOO_ACCOUNTS | No | JSON array of account objects with name, email, app_password | |
| YAHOO_MAIL_MCP_DB | No | Path to SQLite database file | |
| YAHOO_ACCOUNT_NAME | No | A name for the account (e.g., personal) | |
| YAHOO_APP_PASSWORD | No | Yahoo app password | |
| YAHOO_MAIL_MCP_LOG_LEVEL | No | Python log level | |
| YAHOO_MAIL_MCP_BATCH_SIZE | No | IMAP fetch batch size | |
| YAHOO_MAIL_MCP_DELETE_THRESHOLD | No | Threshold for large move confirmation |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List configured Yahoo accounts with their folders and message counts. Connects to each account over IMAP, so this also verifies that the app passwords work. |
| scan_mailboxA | Scan a Yahoo account's folders, pulling header-level data only. Does all the heavy lifting internally: fetches sender, subject, date, size and List-Unsubscribe headers in batches, and persists them to the local database. Progress is checkpointed continuously, so if the scan is interrupted, calling this tool again resumes where it left off. Once a folder has been fully scanned, later calls only pick up new mail. By default scans all folders except Trash, Drafts and Sent. Pass
|
| get_scan_statusA | Show scan progress per folder (from checkpoints), without connecting to IMAP. |
| start_scan_jobA | Start a durable background header scan and return immediately. Use this for large scans from remote clients that impose request timeouts. Poll get_scan_job with the returned job_id. If the server restarts, starting a new job resumes from the stored IMAP checkpoints. |
| get_scan_jobB | Get status and, when complete, the result of one background scan. |
| list_scan_jobsC | List recent background scans, optionally filtered by status. |
| list_recent_messagesA | List recently scanned messages using cached headers only. Run scan_mailbox first. Results include account, folder, UID, UIDVALIDITY and a staleness field. Sender email is hidden by default; raw unsubscribe links and message bodies are never returned. |
| search_messagesA | Search cached message headers without connecting to IMAP. Free-text query matches subject, sender domain and sender email. Additional exact filters can narrow account, folder, sender, date, unsubscribe availability and decision. List results never expose raw unsubscribe URLs or message bodies. |
| list_unsubscribe_candidatesA | List sender domains with cached unsubscribe methods for one account.
|
| get_message_headersA | Get the cached headers for one exact account/folder/UID reference. Includes sender, subject, date, size, decision and safe unsubscribe method names. It never returns raw unsubscribe links or a message body. |
| list_sender_groupsA | List scanned mail grouped by account and sender domain. Every group includes its account. Pass |
| get_sender_detailA | Full detail for one sender domain: addresses, folder breakdown, up to 20 sample subjects, and unsubscribe methods for one account. |
| set_decisionsA | Batch-tag sender domains with account-scoped cleanup decisions. Each entry: {"account": "personal", "domain": "example.com",
"decision": "keep|unsubscribe|archive|delete|needs_review",
"notes": "optional"}. |
| export_review_csvB | Export all sender groups to a CSV for spreadsheet review. Edit the |
| import_review_csvA | Import decisions from a CSV previously produced by export_review_csv. Only account, sender_domain, decision and notes are read. Account may be omitted only when exactly one account is configured. |
| preview_cleanupA | Dry run for execute_decisions: exact counts of affected messages for one account and per domain, plus a confirm_token. Nothing in Yahoo Mail is modified. The token is required by execute_decisions for large Archive or Delete operations. |
| execute_decisionsA | Execute tagged decisions. THE ONLY DESTRUCTIVE TOOL.
decision="unsubscribe": for each domain tagged 'unsubscribe', performs RFC 8058 one-click POST or sends a mailto unsubscribe email. Plain http links are never auto-fetched; they are returned as manual items. Domains tagged 'keep' or 'needs_review' are never touched. |
| triage_new_mailB | Incrementally scan new mail since the last scan and triage it. Never deletes or unsubscribes anything. Returns:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ktrann24/yahoo-mail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server