Skip to main content
Glama
weirdapps

yahoo-access

by weirdapps

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YAHOO_MAIL_ALLOWED_DIRSNoList of folders separated by os.pathsep (: on macOS/Linux) that replace the default file-access allowlist (~/Downloads plus temp folders). It replaces the defaults rather than adding to them; ~ is expanded. A refused path causes yahoo_download_attachments to write nothing and yahoo_send_mail to neither save nor send the message.
YAHOO_APP_PASSWORD_<KEY>NoApp password for an account, where <KEY> is the uppercased account key (e.g. YAHOO_APP_PASSWORD_PERSONAL). Used as a fallback after the macOS Keychain lookup and before the inline password field.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
yahoo_check_authA

Preflight: verify IMAP (and optionally SMTP) login for one or all accounts.

Args: account: Account key from accounts.json, e.g. "personal" or "work". None = check all. check_smtp: Also verify SMTP login (default: IMAP only).

Returns a dict keyed by account name with ok/stage/error/hint fields.

yahoo_list_foldersB

List all mailbox folders.

Returns folder names available in the Yahoo mailbox. Use account="" for another account in accounts.json, or omit it for the account that file marks as default.

yahoo_list_mailA

List recent messages with subject, sender, date, and attachment indicators.

Each result's "id" is the message's IMAP UID: stable across calls, unlike a sequence number, and the value every msg_id parameter expects.

Args: folder: Mailbox folder (default: INBOX) top: Max messages to return (default: 20, max: 100) since: Only messages after this date (YYYY-MM-DD). Default: last 30 days. account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_get_mailA

Read a specific message by UID (the "id" from yahoo_list_mail or yahoo_search_mail).

Args: msg_id: Message UID from yahoo_list_mail / yahoo_search_mail folder: Mailbox folder (default: INBOX) body: Body format: "text" (plain text, default), "html", or "none" max_body_chars: Truncate body to this many chars (default: 5000) account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_search_mailA

Search messages by keyword in subject, sender, or body.

Result ids are IMAP UIDs, the same ids yahoo_list_mail returns.

Args: query: Search text (case-insensitive) folder: Mailbox folder (default: INBOX) field: Where to search: "subject", "from", "body", or "all" (default: subject) since: Only search after this date (YYYY-MM-DD) top: Max results (default: 20) account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_download_attachmentsA

Download attachments from a message to disk.

Args: msg_id: Message UID from yahoo_list_mail / yahoo_search_mail folder: Mailbox folder (default: INBOX) out_dir: Directory to save files (default: ~/Downloads). Must lie inside an allowed folder: ~/Downloads or a temp folder (the system temp dir, /tmp), unless YAHOO_MAIL_ALLOWED_DIRS replaces that list. Anything else is refused. filename_filter: Only download files matching this substring (case-insensitive) account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_mail_statsA

Quick mailbox statistics: total messages, recent/unseen counts, date range.

Args: folder: Mailbox folder (default: INBOX) account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_send_mailA

Send a new email via SMTP, or save as draft (default).

Args: to: Recipient(s), comma-separated (e.g. "a@x.com,b@y.com") subject: Subject line body: Email body (plain text by default; set html=True for HTML) cc: CC recipient(s), comma-separated bcc: BCC recipient(s), comma-separated html: True if body is HTML; False (default) for plain text attachments: List of absolute file paths to attach. Each must lie inside an allowed folder: ~/Downloads or a temp folder (the system temp dir, /tmp), unless YAHOO_MAIL_ALLOWED_DIRS replaces that list. Otherwise nothing is saved or sent and an error is returned. send_now: True to dispatch via SMTP immediately. Default False = save to Drafts folder. account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

Returns dict with status ("draft_saved" or "sent"), folder/recipients, and message id.

yahoo_forward_mailA

Forward an existing message to new recipient(s), preserving attachments.

Args: msg_id: Source message UID (from yahoo_list_mail / yahoo_search_mail) to: Recipient(s), comma-separated cc: CC recipient(s) bcc: BCC recipient(s) additional_text: Optional text prepended above the forwarded content (plain text) folder: Source folder (default: INBOX) send_now: True to dispatch immediately. Default False = save to Drafts. account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

Returns status, subject, attachment count, and message id.

yahoo_move_mailA

Move one message, addressed by UID, from source_folder to dest_folder.

Uses UID MOVE when the server supports it, else UID COPY + \Deleted + UID EXPUNGE, and a bare EXPUNGE only on a server with neither MOVE nor UIDPLUS. Destination folder must already exist (use yahoo_create_folder first if needed).

Args: msg_id: Source message UID from yahoo_list_mail / yahoo_search_mail (one UID; ranges and lists are refused) dest_folder: Target folder name source_folder: Source folder (default: INBOX) account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_create_folderB

Create a new mailbox folder.

Args: name: Folder name. For nested folders use the server's separator (commonly "/" or ".", e.g. "INBOX/Archive2026" or "Archive.2026"). subscribe: Subscribe to the folder so it appears in mail clients (default: True). account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_delete_mailA

Delete a single message, addressed by UID. Default: move to Trash (reversible).

Args: msg_id: Message UID (from yahoo_list_mail / yahoo_search_mail; one UID, ranges and lists are refused) folder: Folder the message lives in (default: INBOX) permanent: True = mark \Deleted + expunge this UID in place (IRREVERSIBLE); False (default) = move to the Trash folder. account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

yahoo_empty_folderA

PERMANENTLY delete ALL messages in a folder (mark \Deleted + EXPUNGE).

Intended for Bulk (spam) and Trash. Irreversible.

Safety: with confirm=False (default) NOTHING is deleted — it returns the count that WOULD be purged. Pass confirm=True to actually empty the folder.

Args: folder: Folder to empty (e.g. "Bulk", "Trash") confirm: Must be True to actually delete. Default False = dry run. account: Account key from accounts.json, e.g. "personal" or "work". Default: the account that file marks as default.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 13 tools

Disambiguation5/5

Each tool maps to a clearly distinct mail operation: folder listing/creation, message listing/getting/searching, sending/forwarding, moving, deleting, attachments, stats, and auth checks. The overlap between single-message delete and bulk empty-folder is explicitly scoped, so an agent can select correctly without confusion.

Naming Consistency5/5

All tools use the same yahoo_ prefix and snake_case convention, with predictable verb_noun naming in almost every case. The lone noun-style name (yahoo_mail_stats) still follows the same overall style, so the set is highly consistent.

Tool Count5/5

At 13 tools, the set is well-scoped for an email access server. Each tool corresponds to a meaningful operation, and there are no obviously redundant entries inflating the count.

Completeness4/5

The core mailbox lifecycle is covered: listing/searching/reading, sending/drafting/forwarding, moving/deleting, attachments, folder management, and stats. Missing flag/read-state operations and a dedicated reply tool are minor gaps that agents can mostly work around.

Maintenance

ActivityMaintained
ResponsivenessNo issues