bb1/thunderbird-mcp
If you are the rightful owner of thunderbird-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This repository contains a Thunderbird extension that exposes experimental APIs for accessing the Thunderbird search index, managing the calendar, searching contacts, and sending mail through a Model Context Protocol (MCP) server.
thunderbird-mcp
This repository contains a Thunderbird extension that exposes experimental APIs for accessing the Thunderbird search index, managing the calendar, searching contacts, and sending mail. The extension also starts a small HTTP server (referred to as the MCP server) that exposes these capabilities using JSON-RPC 2.0 messages. MCP stands for Model Context Protocol; see https://modelcontextprotocol.io/specification/2025-06-18 for the specification.
Extension contents
extension/
āāā background.js - Starts the MCP server
āāā manifest.json - Extension manifest
āāā search_index/
ā āāā api.mjs
ā āāā schema.json
āāā calendar/
ā āāā api.mjs
ā āāā schema.json
āāā contacts/
āāā api.mjs
āāā schema.json
The experimental APIs integrate with Thunderbird's search index and calendar services and are usable from other scripts via the MCP server. They enable the following MCP tools:
searchMessages
ā search the message indexsendMail
ā compose and dispatch a maillistCalendars
ā list available calendarssearchContacts
ā look up contacts the user interacted with
Loading the extension in Thunderbird
- Open Thunderbird and navigate to
Add-ons and Themes
. - Use
Debug Add-ons
to load theextension
directory as a temporary add-on. - The extension will start the MCP server on
http://localhost:8765
. Send JSON-RPC requests viaPOST /
.tools/list
returns available toolstools/call
invokes one of the tools with arguments
The extension requires Thunderbird 102 or later.
Running tests
The repository includes a small test runner. After installing development dependencies, run:
npm test
The script downloads Thunderbird, launches the extension in headless mode
using web-ext
, and checks that the MCP server responds to tools/list
.