LabscoMCP early access ↗
peix2MCP SERVER

tutamcp

Gives Claude a Tuta account — mail, calendar, contacts and drive across 31 tools, with the send policy and folder scope you choose.

by peix2 ↗Email: Mailboxes & DeliveryCommunity

LABSCO SUMMARY

The limits are structural, not runtime checks.

Reply-only mode does not block sending at call time — tuta_mail_send is simply never registered, so the model cannot see a tool it is not allowed to use, and the same applies to a disabled module. That is the reason to pick this over a general mail bridge. Two things to decide before you install: which of the three mail modes you want, since folder confines everything to one folder and forces reply-only, and whether TUTAMCP_TRUST_REQUIRE_E2E stays at its default of 1, which is what stops a spoofed From header from counting as a trusted sender.

What it is

An MCP server for a Tuta account. Four modules — mail, calendar, contacts and drive — are enabled independently, and it works through tutaproxy's TutaClient rather than calling the Tuta API directly, so decryption happens where Tuta expects it.

What you get

  • Mail read and organised: folders, listing without bodies, full reads with decrypted body and attachment metadata, attachment download, move, delete, mark, labels — tuta_mail_list_folders, tuta_mail_list, tuta_mail_read, tuta_mail_get_attachment, tuta_mail_move, tuta_mail_mark, tuta_mail_apply_labels
  • Sending under a policy you set: tuta_mail_reply derives recipients from the original mail only, and tuta_mail_send is registered only when the mode allows new threads
  • Calendar events over a date range, created with optional RRULE recurrence, updated and deleted — tuta_calendar_list_events, tuta_calendar_create_event, tuta_calendar_update_event, tuta_calendar_delete_event
  • Contacts searched by name, company or email, and the full CRUD around them — tuta_contacts_list, tuta_contacts_get, tuta_contacts_create, tuta_contacts_update, tuta_contacts_delete
  • Drive listing, download, upload, folders, rename, move and delete — tuta_drive_list, tuta_drive_download, tuta_drive_upload, tuta_drive_mkdir
  • A trust signal on every message: tuta_mail_list and tuta_mail_read return trusted_sender and e2e, and only_trusted=True filters the list to trusted senders
  • A status tool that reports version, enabled modules, mail mode and send policy — tuta_status

Requirements

A Tuta account, plus tutaproxy-public — Docker is the documented path and bundles it at build time; without Docker you need Python 3.11 and a local clone of tutaproxy. Credentials go in a chmod 600 file as TUTA_EMAIL and TUTA_PASSWORD, with TUTA_TOTP_SECRET added when the account has a second factor. Version floors matter: tutaproxy ≥ v1.3.10 in general, and ≥ v1.3.15 for the 2FA login challenge. Behaviour is set by environment variables — TUTAMCP_ENABLE_MAIL, TUTAMCP_MAIL_MODE (dedicated, shared or folder), TUTAMCP_MAIL_SEND, TUTAMCP_OWNER_EMAIL, TUTAMCP_DOWNLOAD_DIR. Drive requires a paid Tuta account.

Setup effort

Run a container — build the image from the repository, then point your client at it