Skip to main content
Glama
julioc-barros

imap-mail-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IMAP_SSLNoUse SSL for IMAP; set to 'false' for STARTTLStrue
IMAP_HOSTYesIMAP server hostname (required)
IMAP_PORTNoIMAP port (993 for SSL, 143 for STARTTLS)993
MAIL_FROMNoFrom address, e.g. 'Name <user@example.com>'MAIL_USER
MAIL_PASSYesEmail account password (required)
MAIL_USERYesEmail account username (required)
SMTP_HOSTYesSMTP server hostname (required)
SMTP_PORTNoSMTP port (587, 465, or 25)587
ATTACH_DIRNoDirectory to save attachments~/mcp-mail-attachments
TLS_VERIFYNoVerify TLS certificate; set to 'false' for self-signedtrue
SENT_FOLDERNoSent folder name; auto-detected if not set
SMTP_SECURITYNoSMTP security mode: starttls, ssl, or nonestarttls
MAX_BODY_CHARSNoMaximum characters of email body to read20000

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
list_accountsA

Lista as contas de e-mail configuradas e qual é a padrão.

account_infoB

Mostra a configuração ativa de uma conta (sem senha), capacidades do servidor IMAP e a pasta de Enviados detectada.

list_foldersA

Lista todas as pastas (mailboxes) de uma conta. Com with_counts=True inclui total e não lidos (mais lento). account: nome ou e-mail da conta; vazio = conta padrão.

search_emailsA

Busca e-mails em uma pasta de uma conta. Retorna os mais recentes primeiro com UID, remetente, assunto, data e flags. account: nome ou e-mail da conta; vazio = conta padrão. Datas no formato YYYY-MM-DD. raw_criteria permite passar critério IMAP SEARCH direto (ex.: 'UNSEEN FROM "x"'), ignorando os demais filtros. Os filtros sender/to/subject/text são substring, case-insensitive.

search_all_accountsB

Executa a mesma busca em TODAS as contas configuradas (mesma pasta em cada uma) e devolve os resultados agrupados por conta. Útil para 'o que chegou de novo em todas as caixas'. Erros de uma conta não interrompem as demais.

read_emailB

Lê um e-mail completo pelo UID: cabeçalhos, corpo (texto por padrão, ou HTML) e lista de anexos. account: nome ou e-mail da conta; vazio = conta padrão. Use download_attachment para salvar anexos. max_chars=0 usa o limite padrão (MAX_BODY_CHARS).

get_raw_emailC

Retorna a fonte RFC822 completa da mensagem (cabeçalhos brutos + MIME). Útil para diagnóstico.

download_attachmentB

Salva anexos de um e-mail em disco. index=-1 salva todos; caso contrário salva só o anexo indicado (índice conforme read_email). dest_dir vazio usa a pasta de anexos da conta. Retorna os caminhos gravados.

send_emailA

Envia um e-mail via SMTP pela conta indicada (account vazio = conta padrão). Destinatários separados por vírgula ou ponto-e-vírgula. html=True trata body como HTML. attachments = lista de caminhos locais. Grava cópia na pasta Enviados via IMAP quando save_to_sent=True.

reply_emailA

Responde um e-mail existente mantendo o encadeamento (In-Reply-To/References) e marca-o como respondido. account: nome ou e-mail da conta onde o e-mail está; vazio = conta padrão.

forward_emailC

Encaminha um e-mail (corpo em texto + anexos originais) para novos destinatários.

set_flagsB

Marca/desmarca flags em um ou mais UIDs: seen (lido), flagged (estrela/importante), answered. Passe True para adicionar, False para remover, omita para não alterar.

move_emailB

Move e-mails para outra pasta da mesma conta (usa MOVE se o servidor suportar; senão COPY + delete + EXPUNGE).

delete_emailA

Exclui e-mails (marca \Deleted e, se expunge=True, remove definitivamente da pasta). Para 'mover para a lixeira' prefira move_email para a pasta Trash/Lixeira.

create_folderC

Cria uma pasta. Use o delimitador do servidor para subpastas (ex.: 'INBOX/Clientes' ou 'INBOX.Clientes').

delete_folderC

Remove uma pasta e todas as mensagens nela. Irreversível.

rename_folderD

Renomeia uma pasta.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 17 tools

Disambiguation4/5

Each tool maps to a distinct IMAP action (list, search, read, send, flag, move, delete, folder CRUD). Minor overlaps exist between read_email/get_raw_email and search_emails/search_all_accounts, but descriptions clarify scope (formatted vs raw source; single account vs all accounts).

Naming Consistency4/5

Mostly consistent verb_noun snake_case pattern: list_folders, search_emails, send_email, move_email, create_folder. The main exception is account_info (noun_noun), which breaks the pattern but does not make the naming chaotic.

Tool Count4/5

17 tools is slightly above the typical 3–15 sweet spot, but each maps to a necessary email action (accounts, folders, search, read/send/reply/forward, attachments, flags, move, delete). No obvious filler tools, so the count is reasonable for a full IMAP client.

Completeness4/5

Covers core lifecycle: account listing/config, folder CRUD, message search/read/send/reply/forward, attachment download, flags, move, delete. Minor gaps exist (e.g., draft management), but agents can work around them and the core workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues