MCP server that drives a local Thunderbird - mail, folders, contacts, calendar, filters and settings - from Claude Code, Codex and any other MCP client. 112 tools, Python.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 78
filesystem 13
- fs U-C4N-Thunderbird-MCP-88e910e/probe/build_xpi.py :11
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/probe/marionette_diag.py :51
zr.open(new FileUtils.File(xpiPath)); - fs U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/addon_build.py :21
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/addon_install.py :22
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/clients.py :29
import shutil - fs U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/ipc.py :15
from pathlib import Path - fs U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/profile.py :23
import shutil - fs U-C4N-Thunderbird-MCP-88e910e/tools/build_xpi.py :12
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/tools/check_consistency.py :17
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/tools/gen_tool_reference.py :14
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/tools/smoke_live.py :15
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/tools/smoke_write.py :17
import pathlib - fs U-C4N-Thunderbird-MCP-88e910e/tools/tb_console.py :14
import pathlib
shell / exec 5
- shell U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/addon_install.py :24
import subprocess - shell U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/bridge.py :14
import subprocess - shell U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/clients.py :30
import subprocess - shell U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/ipc.py :113
import subprocess - shell U-C4N-Thunderbird-MCP-88e910e/tools/check_consistency.py :20
import subprocess
network 2
- net U-C4N-Thunderbird-MCP-88e910e/probe/marionette_probe.py :11
import socket - net U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/marionette.py :22
import socket
database 1
- db U-C4N-Thunderbird-MCP-88e910e/src/tbmcp/profile.py :24
import sqlite3
declared dependencies 7
- mcp@>=2.0.0,<3
- websockets@>=15,<17
- tomlkit@>=0.13
- pydantic@>=2.9
- pytest@>=8
- anyio@>=4
- ruff@>=0.9