ThunderbirdをMCP化してClaude Desktopからメールを操作する
はじめに
Claude DesktopにはMCP(Model Context Protocol)という仕組みがあり、外部ツールと連携できる。
本記事ではthunderbird-mcpを使って、ローカルのThunderbirdメールボックスをClaude Desktopから直接読み書きできる環境をWindowsで構築する手順を紹介する。
完成イメージ
Claude Desktopのチャット画面から、こんな操作ができる。
- 「未読メールを5件見せて」
- 「〇〇社からのメールを探して要約して」
- 「このメールへの返信ドラフトを作って」
前提条件
- Windows 10 / 11
- Thunderbird v115以上がインストール済み
- Claude Desktopアプリがインストール済み(Proプラン以上)
- Node.js v18以上がインストール済み
- Gitがインストール済み
Node.jsのバージョン確認
node --version
# v18.0.0 以上であればOK
Step 1: thunderbird-mcpをダウンロード
作業フォルダを作成してGitHubからcloneします。
mkdir C:\tools\thunderbird-mcp
cd C:\tools\thunderbird-mcp
git clone https://github.com/TKasperczyk/thunderbird-mcp.git .
事前ビルド済みのXPIファイルが同梱されているので、ビルド作業は不要です。
Step 2: ThunderbirdにXPIをインストール
- Thunderbirdを開く
- ツール → アドオンとテーマ を開く
- 歯車アイコン → 「ファイルからアドオンをインストール」 をクリック
-
C:\tools\thunderbird-mcp\dist\thunderbird-mcp.xpiを選択 - Thunderbirdを再起動
Step 3: Claude Desktopの設定ファイルを作成
Claude Desktopの設定ファイル claude_desktop_config.json を作成します。
注意点:文字コードはBOMなしUTF-8
PowerShellの Out-File -Encoding utf8 はBOM付きで保存されるため、Claude DesktopがJSONとして読み込めません。
以下のコマンドでBOMなしで作成してください。
$json = '{
"mcpServers": {
"thunderbird-mail": {
"command": "node",
"args": ["C:/tools/thunderbird-mcp/mcp-bridge.cjs"]
}
}
}'
[System.IO.File]::WriteAllText("$env:APPDATA\Claude\claude_desktop_config.json", $json)
パスの区切り文字は**バックスラッシュ(\)ではなくスラッシュ(/)**で記述してください。
設定ファイルの確認
cat "$env:APPDATA\Claude\claude_desktop_config.json"
以下のように表示されればOKです。
{
"mcpServers": {
"thunderbird-mail": {
"command": "node",
"args": ["C:/tools/thunderbird-mcp/mcp-bridge.cjs"]
}
}
}
Step 4: Claude Desktopを再起動
設定を反映させるため、Claude Desktopを完全に終了してから再起動します。
- タスクバーのClaudeアイコンを右クリック
- 「終了」 を選択(×ボタンではなく)
- タスクマネージャーで
Claude.exeプロセスが残っていないか確認 - Claude Desktopを再起動
Step 5: MCPサーバーの確認
Claude Desktopの設定画面でMCPサーバーが認識されているか確認する。
Claude Desktop → 設定 → 開発者
thunderbird-mail が running と表示されていれば成功。
Step 6: 動作確認
必ずThunderbirdを先に起動してからClaude Desktopを使用してください。
thunderbird-mcpはThunderbirdのローカルHTTPサーバーに接続するため、Thunderbirdが起動していないと動作しません。
Claude Desktopで新しいチャットを開き、以下を入力する。
未読メールを5件見せて
メールの一覧が返ってくれば完成🎉
活用例
メールの確認・整理
今日届いたメールを優先度順に整理して
〇〇社からの未返信メールをリストアップして
返信ドラフトの作成
このメールへの返信ドラフトを丁寧なビジネス文体で作って
メール検索・要約
先月の請求書関連のメールをまとめて
トラブルシューティング
MCPサーバーがrunningにならない
ログを確認する。
cat "$env:APPDATA\Claude\logs\main.log" | Select-String -Pattern "mcp|thunderbird" -CaseSensitive:$false
よくある原因:
| 症状 | 原因 | 対処 |
|---|---|---|
Unexpected token '・ソ' |
BOM付きUTF-8で保存されている | Step 3のコマンドで再作成 |
| メールが返ってこない | Thunderbirdが起動していない | Thunderbirdを先に起動 |
| 接続エラー | XPIが正しく入っていない | Step 2をやり直し |
JSONパースエラーが出る場合
設定ファイルをメモ帳で開いて確認し、余分な文字が入っていないか確認すること。
notepad "$env:APPDATA\Claude\claude_desktop_config.json"
アーキテクチャ
Claude Desktop
│
│ stdio(MCP Protocol)
▼
mcp-bridge.cjs(Node.js)
│
│ HTTP(localhost:8765)
▼
thunderbird-mcp拡張(Thunderbird内蔵HTTPサーバー)
│
│ WebExtension API
▼
Thunderbird(メールボックス)
Claude DesktopはMCPのstdioプロトコルでNode.jsブリッジと通信し、ブリッジがThunderbird内蔵のローカルHTTPサーバーに転送する構造です。
おわりに
この構成により、Claude Desktopのチャット画面から自然言語でメールを操作できるようになる。
特にビジネスメールが多い方には、返信ドラフト生成や未返信メールの整理など、日常業務の効率化に直結する。
次のステップとして CLAUDE.md に会社情報や文体ルールを記述しておくと、毎回説明しなくても自社スタイルに合った返信ドラフトを生成できるようになる。
