pyfastmail-mcp

Servidor MCP para Fastmail — e-mail, contatos, calendários e arquivos via JMAP, CardDAV, CalDAV e WebDAV

Documentação

pyfastmail-mcp

Um servidor MCP que dá aos assistentes de IA acesso completo à sua conta Fastmail — e-mail, contatos, calendários e armazenamento de arquivos.

⚠️ Este servidor pode enviar e-mails, excluir mensagens e modificar contatos/calendários em seu nome. Assistentes de IA podem agir com base em conteúdo de fontes não confiáveis (e-mails, páginas da web, arquivos) que podem conter ataques de injeção de prompt. Revise as chamadas de ferramentas antes de aprová-las, especialmente ações que enviam e-mail ou excluem dados.

Recursos

DomínioProtocoloFerramentas
E-mailJMAPEnviar, responder, encaminhar, pesquisar, ler, fixar, arquivar, palavras-chave, e-mail mascarado, anexos, conversas, importar/exportar, identidades
ContatosJMAPListar catálogos de endereços, CRUD de contatos, consulta
CalendárioCalDAVListar calendários, CRUD de eventos (opcional — requer senha de aplicativo)
ArquivosWebDAVListar, enviar, baixar, mover, excluir, criar pastas (opcional — requer senha de aplicativo)

Instalação

pip install pyfastmail-mcp

Ou execute diretamente com uvx:

uvx pyfastmail-mcp

Configuração

1. Obtenha as Credenciais do Fastmail

Você precisa de um token de API do Fastmail. Uma senha de aplicativo é opcional (necessária apenas para calendário e armazenamento de arquivos).

Se você definir apenas o token de API, o servidor inicia com as ferramentas de e-mail e contatos. As ferramentas de calendário e arquivos são registradas somente quando a senha de aplicativo também é fornecida.

2. Defina as Variáveis de Ambiente

export FASTMAIL_API_TOKEN="fmu1-..."
export FASTMAIL_APP_PASSWORD="your-app-password"
export FASTMAIL_EMAIL="you@fastmail.com"

3. Adicione ao Seu Cliente MCP

Para o Claude Desktop, adicione em claude_desktop_config.json:

{
  "mcpServers": {
    "fastmail": {
      "command": "uvx",
      "args": ["pyfastmail-mcp"],
      "env": {
        "FASTMAIL_API_TOKEN": "fmu1-...",
        "FASTMAIL_APP_PASSWORD": "your-app-password",
        "FASTMAIL_EMAIL": "you@fastmail.com"
      }
    }
  }
}

Para o Kiro CLI, adicione em .kiro/settings/mcp.json:

{
  "mcpServers": {
    "fastmail": {
      "command": "uvx",
      "args": ["pyfastmail-mcp"],
      "env": {
        "FASTMAIL_API_TOKEN": "${FASTMAIL_API_TOKEN}",
        "FASTMAIL_EMAIL": "${FASTMAIL_EMAIL}",
        "FASTMAIL_APP_PASSWORD": "${FASTMAIL_APP_PASSWORD}"
      }
    }
  }
}

Ferramentas

E-mail (mail_*)

FerramentaDescrição
health_checkVerificar conexão e autenticação
mail_list_mailboxesListar todas as caixas de correio (pastas/rótulos)
mail_create_mailboxCriar uma caixa de correio
mail_rename_mailboxRenomear uma caixa de correio
mail_delete_mailboxExcluir uma caixa de correio
mail_get_emailObter e-mail por ID (com cabeçalhos opcionais)
mail_get_recent_emailsObter e-mails recentes
mail_search_emailsPesquisar por consulta
mail_search_snippetsTrechos destacados de resultados de pesquisa
mail_get_email_threadObter conversa completa
mail_mark_email_readMarcar como lido/não lido
mail_pin_emailFixar/desafixar (marcar/estrelar)
mail_move_emailMover para caixa de correio
mail_delete_emailMover para a lixeira ou excluir permanentemente
mail_archive_emailArquivar
mail_manage_email_labelsAdicionar/remover palavras-chave
mail_export_emailBaixar arquivo .eml bruto
mail_import_emailImportar .eml para o armazenamento de e-mail
mail_parse_emailAnalisar um blob como e-mail sem importar
mail_list_identitiesListar identidades de envio
mail_set_identityCriar/atualizar/excluir identidades
mail_send_emailEnviar novo e-mail
mail_reply_to_emailResponder a e-mail
mail_forward_emailEncaminhar e-mail
mail_list_masked_emailsListar e-mails mascarados
mail_create_masked_emailCriar e-mail mascarado
mail_update_masked_emailAtualizar estado, domínio, descrição ou URL do e-mail mascarado
mail_download_attachmentBaixar anexo
mail_upload_attachmentFazer upload de blob para envio

Contatos (contacts_*)

FerramentaDescrição
contacts_list_address_booksListar catálogos de endereços
contacts_listListar contatos (combinação de consulta e obtenção)
contacts_get_contactObter contato(s) por ID
contacts_query_contactsConsultar contatos com filtros e ordenação
contacts_create_contactCriar contato
contacts_update_contactAtualizar campos do contato
contacts_delete_contactExcluir contato(s)

Calendário (calendar_*)

FerramentaDescrição
calendar_list_calendarsListar calendários
calendar_list_eventsListar eventos
calendar_get_eventObter detalhes do evento
calendar_create_eventCriar evento
calendar_update_eventAtualizar evento
calendar_delete_eventExcluir evento

Arquivos (files_*)

FerramentaDescrição
files_listListar arquivos/pastas
files_getBaixar arquivo
files_uploadEnviar arquivo
files_create_folderCriar pasta
files_moveMover/renomear arquivo
files_deleteExcluir arquivo/pasta

Desenvolvimento

git clone https://github.com/pjosols/pyfastmail-mcp.git
cd pyfastmail-mcp
uv sync --group dev
uv run pytest

Licença

MIT