tutamcp

by peix2

Not rated
GitHub

About

MCP server giving Claude access to Tuta mail, calendar, contacts and drive. Supports mail modes (dedicated/shared/folder), trusted sender filtering with E2E verification, and Docker-based setup.

Details

Author
peix2
Categories
Productivity, Automation, Other, Communication

Setup

Install tutamcp in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/peix2/tutamcp-public

Follow the installation instructions in the repository README, then restart your MCP client.

MCP server giving Claude access to aTutaaccount: mail, calendar, contacts, and drive. Each module is enabled independently. Built on top oftutaproxy'sTutaClient— no direct Tuta API calls.

30 MCP toolsacross 4 modules. Requirestutaproxy-public≥ v1.3.10.

The easiest setup: no local dependencies beyond Docker. The image bundles tutaproxy at build time.

git clone https://github.com/peix2/tutamcp-public.git cd tutamcp-public docker build -t tutamcp .

Pin a specific tutaproxy release (default:v1.3.15):

docker build --build-arg TUTAPROXY_REF=v1.3.15 -t tutamcp .

2FA note:logging into an account with two-factor authentication requires tutaproxy ≥v1.3.15. Older refs will fail the second-factor challenge.

Create a credentials file (chmod 600):

TUTA_EMAIL=your@tuta.com TUTA_PASSWORD=yourpassword # only for accounts with 2FA enabled — base32 secret from the Tuta app (spaces ignored): #TUTA_TOTP_SECRET=jbsw y3dp ehpk 3pxp

Register in Claude Code (.mcp.jsonor~/.claude.json):

{ "mcpServers": { "tutamcp": { "command": "docker", "args": [ "run", "--rm", "-i", "-v", "/path/to/credentials.env:/creds.env:ro", "-e", "TUTAMCP_CREDENTIALS_FILE=/creds.env", "-e", "TUTAMCP_ENABLE_MAIL=1", "-e", "TUTAMCP_MAIL_MODE=dedicated", "-e", "TUTAMCP_OWNER_EMAIL=you@tuta.com", "tutamcp" ] } } }

Requires Python 3.11 and a local clone oftutaproxy-public.

git clone https://github.com/peix2/tutamcp-public.git cd tutamcp-public pip install --target=.venv/lib/python3.11/site-packages -r requirements.txt
{ "mcpServers": { "tutamcp": { "command": "python3.11", "args": ["/path/to/tutamcp-public/run.py", "/path/to/tutamcp-public/server.py"], "env": { "TUTAPROXY_PATH": "/path/to/tutaproxy-public", "TUTAMCP_CREDENTIALS_FILE": "/path/to/credentials.env", "TUTAMCP_ENABLE_MAIL": "1", "TUTAMCP_MAIL_MODE": "dedicated", "TUTAMCP_OWNER_EMAIL": "you@tuta.com", "TUTAMCP_DOWNLOAD_DIR": "/tmp/tutamcp" } } } }

For Claude Desktop, use the same block in~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows).

Seeconfig.example.envfor all variables. Key options:

TUTAMCP_MAIL_SEND=reply_only— onlytuta_mail_replyis registered; recipients are derived from the original mail only, no arbitrary addresses accepted.

TUTAMCP_MAIL_SEND=full— also registerstuta_mail_sendfor initiating new threads.

Default:dedicatedfull,sharedreply_only,folder→ alwaysreply_only.

Used for autonomous mail handling (e.g. a background poller that wakes Claude to process incoming commands).

tuta_mail_listandtuta_mail_readreturntrusted_sender: boolande2e: boolon every message. Passonly_trusted=Truetotuta_mail_listto filter to trusted senders only.

If the Tuta account has a second factor enabled, add its TOTP secret to your credentials so tutamcp can complete the login challenge:

TUTA_EMAIL=your@tuta.com TUTA_PASSWORD=yourpassword TUTA_TOTP_SECRET=jbsw y3dp ehpk 3pxp

- TUTA_TOTP_SECRETis thebase32 secretshown by the Tuta app when you set up an authenticator (the same string behind the QR code). Spaces and letter case are ignored, so you can paste it exactly as displayed.
- It can also be passed as a plain environment variable instead of via the credentials file. The value is bridged into the login and never logged.
- tutamcp computes the 6-digit RFC 6238 code at login time — you donotregister a separate authenticator app for it.

Treat the secret like a password: keep it in thechmod 600credentials file, out of version control.

Note: editing a single occurrence of a recurring series is not supported.

Drive requires a paid Tuta account. Free accounts receive an informative error rather than a crash.

- Credentials are never logged. The server warns if the credentials file permissions are wider than600.
- All logging goes tostderror a log file.stdoutis reserved for the MCP protocol.
- Tool registration is conditional: a disabled module registers no tools — Claude doesn't see them at all.
- Infoldermode, all operations are scoped to the configured folder; attempts to access outside it are rejected at the tool level.
- Reply-only policy is enforced structurally:tuta_mail_sendis simply not registered, not blocked at runtime.
- Path traversal on attachment/drive downloads is blocked (basename sanitization + regex).

An open-source server that gives AI assistants full access to Fastmail email, calendars, and contacts over JMAP.

Interact with Microsoft 365 services like Outlook, OneDrive, and Teams using the Graph API.

Zo is your personal vibe server in the cloud with 50+ tools and integrations. Add texting, email, calendar, research and more to your harness easily.

Local email connectivity for AI agents — read, draft, send, and organize Outlook mail via MCP. Apache-2.0 licensed.

Interact with Fastmail email, contacts, and calendar data using the Fastmail API.

A service for managing multiple email accounts from various providers like 163, Gmail, QQ, and Outlook.

MCP server for Outlook email, calendar, and contacts — let your AI assistant manage your inbox directly from the conversation.

MCP server for Fastmail — email, contacts, calendars, and files via JMAP, CardDAV, CalDAV, and WebDAV

Query contacts, companies, and relationship data extracted from your email and calendar. Build pre-meeting reports, find warm intros, and identify fading relationships.

Provides various DingTalk services including contacts, department management, robot messaging, calendar, and tasks.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.