Thunderbird
Install Thunderbird and the curated extension policy through the thunderbird role, then configure accounts and profile data manually.
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags thunderbirdTODO: test on second laptop
If you restore the Thunderbird profile path from a previous installation, the manual account and workflow setup below should usually not be necessary. Restore profile data only from trusted backups and prefer normal account sign-in when possible.
đź”§ Manual setup and configuration
- Run the
thunderbirdrole before configuring Thunderbird accounts. - Add institutional and project email accounts through Thunderbird account setup.
- Restore profile data only from a trusted backup, and prefer fresh account sign-in when possible.
- Review extension permissions before enabling extensions, especially extensions that can read messages or connect Thunderbird to AI assistants.
- Create a folder named
Waiting fororWaiting-forif you use the waiting-for workflow. - When sending a message that requires follow-up, add your own address in
Cc. - Add an automatic copy or filter rule that moves self-cc messages into the waiting-for folder.
The thunderbird role installs the following extensions through Thunderbird Enterprise Policies. They use installation_mode: normal_installed, so Thunderbird installs them automatically but users can still disable extensions they do not need.
| Extension | Why install it |
|---|---|
| AI Grammar Checker & Paraphraser – LanguageTool | Adds grammar, spelling, punctuation, and style checks while composing email. Use it with the local LanguageTool setup when possible. |
| FiltaQuilla | Extends Thunderbird message filters with extra actions and search terms. Use it for workflow rules that Thunderbird cannot express by default. |
| mailmindr | Moves messages out of the inbox when you cannot currently act on them, then reminds you when follow-up is due. Use it for time-bound replies, delegated work, and review tasks. |
| Move Mail Shortcuts | Adds keyboard shortcuts for moving and copying mail to folders. Use it to file messages quickly without interrupting reading flow. |
| Owl for Exchange | Connects Thunderbird to Exchange and Microsoft 365 accounts through Outlook Web Access when standard IMAP/SMTP or OAuth setup is not sufficient. Check license terms before relying on it. |
| Thunderbird MCP | Exposes Thunderbird mail, contacts, calendars, filters, and message-management operations to local AI assistants through MCP. Treat it as sensitive access: disable it unless needed and review its configuration carefully. |
Thunderbird MCP bridge
The thunderbird role can install Thunderbird MCP reproducibly when thunderbird_mcp_enabled is true. The role installs the extension through Enterprise Policies and clones the Node.js bridge to /opt/thunderbird-mcp.
The default bootstrap release is pinned to v0.7.4 instead of an uncontrolled latest URL. Releases from v0.7.3 onward support subsequent automatic extension updates through Thunderbird. Automatic updates still depend on Thunderbird’s add-on update settings and continued trust in the upstream update channel.
The bridge command for MCP clients is:
node /opt/thunderbird-mcp/mcp-bridge.cjsThe role does not copy session tokens or connection.json. The bridge discovers the current Thunderbird extension connection dynamically, so Thunderbird must be running for bridge calls to reach the extension.
đź”§ Manual setup and configuration
- Restart Thunderbird after the initial extension-policy installation.
- Review Thunderbird MCP account access, enabled tools, and send-safety settings inside Thunderbird before connecting an MCP client.
- Treat Thunderbird MCP as sensitive access to email, contacts, calendars, filters, and message-management operations.
- Leave
thunderbird_mcp_enabled: falseif this workstation should not expose Thunderbird through MCP.
Optional MCP client fragment
The role does not modify ~/.claude.json, Codex configuration, or another MCP client’s live configuration automatically. To generate a fragment that users can merge manually, set:
thunderbird_mcp_write_client_fragment: trueThe fragment is written with user ownership and restrictive permissions under:
~/.config/workstation-setup/mcp/thunderbird-mail.json
It contains the configured bridge path:
{
"mcpServers": {
"thunderbird-mail": {
"command": "node",
"args": ["/opt/thunderbird-mcp/mcp-bridge.cjs"]
}
}
}Merge the mcpServers.thunderbird-mail entry into the configuration used by your MCP client, then restart or reload that client.
Email workflow best practices
Use Thunderbird as a working queue, not as long-term visible clutter.
Keep the inbox empty
- Treat the inbox as an action list.
- Decide each message once: reply, delegate, file, convert to a task, or delete.
- Move reference messages out of the inbox after reading.
- Use the waiting-for folder for delegated or pending replies instead of leaving sent follow-ups in the inbox.
Use a waiting-for rule
Use a dedicated waiting-for workflow for messages where you need a reply or external action.
- Create a folder named
Waiting fororWaiting-for. - When sending a message that requires follow-up, add your own address in
Cc. - Add an automatic copy or filter rule that moves self-cc messages into the waiting-for folder.
- Use mailmindr for dated reminders when a response is needed by a specific deadline.
- Review the waiting-for folder during daily or weekly email triage, then archive completed threads.
Archive email deliberately
- Archive messages that are complete but may be useful later.
- Keep folder names practical and stable; avoid over-classifying messages into many rarely used folders.
- Prefer Thunderbird search for retrieval instead of maintaining a complex folder hierarchy.
- Do not archive messages that contain credentials or unnecessary sensitive data; delete those when retention is not required.