MCP Notmuch Sendmail

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Uses LaTeX-inspired styling for email formatting, allowing users to create beautiful, professionally formatted emails with LaTeX aesthetics.

  • Supports composing email content in Markdown format, which is then converted to HTML for sending styled emails with inline images.

MCP Notmuch Sendmail

ステータス: 正常に動作し、既知のバグもなく毎日使用されています。

ステータス2: パッケージをPyPIに追加し、使用方法を更新しました。何か問題があればご報告ください :)

Claude をあなたのメールアシスタントにしましょう!MCP Notmuch Sendmail は Claude Desktop を notmuch メールデータベースに接続し、次のことを可能にします:

  • メールスレッドを検索して閲覧する
  • 会話をきれいなテキスト形式で表示する
  • マークダウンを使用して新しいメールを作成する
  • 引用されたコンテンツの重複をスマートに排除してスレッドに返信する
  • LaTeX風のスタイルで美しいメールを作成
  • 設定されたスクリプトを実行してメールデータベースを同期します

HTML メールのレンダリングには html2text を使用し、インライン画像を含むリッチ HTML メールの作成には markdown-it を使用します。

インストール

uv がインストールされていることを確認してください:

# Install uv if you haven't already curl -LsSf https://astral.sh/uv/install.sh | sh

Claude Desktopでの使用

claude_desktop_config.jsonに追加します:

{ "mcpServers": { "email": { "command": "uvx", "args": ["--from", "mcp-notmuch-sendmail==2025.04.09.174710", "--python", "3.10", "--refresh", "mcp-notmuch-sendmail"] "env": { "NOTMUCH_DATABASE_PATH": "/path/to/your/notmuch/db", "NOTMUCH_REPLY_SEPARATORS": "Pipe|Separated|Phrases", "SENDMAIL_FROM_EMAIL": "your.email@example.com", "SENDMAIL_EMAIL_SIGNATURE_HTML": "<p>Optional HTML signature</p>", "NOTMUCH_SYNC_SCRIPT": "/path/to/your/sync/script.sh", "LOG_FILE_PATH": "/path/to/log/file.log", "DRAFT_DIR": "/path/for/email/drafts" } } } }

環境変数

  • NOTMUCH_DATABASE_PATH : notmuchデータベースへのパス(必須)
  • NOTMUCH_REPLY_SEPARATORS : パイプで区切られたテキストマーカーのリスト - これらのマーカーのいずれかで始まる最初の行までメールの内容を保持し、引用された返信を削除します(必須)
  • SENDMAIL_FROM_EMAIL : From:フィールドのメールアドレス(必須)
  • SENDMAIL_EMAIL_SIGNATURE_HTML : メールに追加するHTML署名(オプション)
  • NOTMUCH_SYNC_SCRIPT : メールを同期するためのスクリプトへのパス(オプション)
  • LOG_FILE_PATH : ログファイルのパス(オプション)
  • DRAFT_DIR : メールの下書きを保存するディレクトリ(オプション、デフォルトは /tmp/mcp-notmuch-sendmail)

API

ツール

  • メールスレッドを探す
    • Notmuchデータベースでメールスレッドを探す
    • 入力: notmuch_search_query (文字列)
    • GXP3形式でタブ区切りのスレッドリストを返します。
  • メールスレッドの表示
    • メールスレッドのすべてのメッセージを表示する
    • 入力: thread_id (文字列)
    • HTML->テキスト変換GXP4を使用して会話をテキスト形式で返します。
  • 新しいメールを作成する
    • Markdownから新しいメールの下書きを作成します。SENDMAIL_EMAIL_SIGNATURE_HTMLが設定されている場合は、署名が自動的に追加されます。
    • 入力:
      • subject (文字列):メールの件名
      • body_as_markdown (文字列): Markdown形式のメール本文
      • to (リスト): 受信者のメールアドレス
      • cc (リスト、オプション): CC受信者
      • bcc (リスト、オプション): BCC受信者
    • ドラフトファイルを作成し、パスを返します: GXP5
  • メールの返信を作成する
    • 既存のメールスレッドに返信を作成します。SENDMAIL_EMAIL_SIGNATURE_HTML が設定されている場合は、署名が自動的に追加されます。
    • 入力:
      • thread_id (文字列): 返信先のスレッドID
      • subject (文字列):メールの件名
      • body_as_markdown (文字列): Markdown形式のメール本文
      • to (リスト): 受信者のメールアドレス
      • cc (リスト、オプション): CC受信者
      • bcc (リスト、オプション): BCC受信者
    • ドラフトファイルを作成し、パスを返します: GXP6
  • メールを送信
    • 作成したメールの下書きを送信する
    • 入力不要
    • 成功/エラーメッセージを返す
  • 同期メール
    • 設定されたスクリプトを実行して電子メールを同期します
    • 入力不要
    • stdoutとstderrを含むスクリプトの出力を返します。
    • NOTMUCH_SYNC_SCRIPTが設定されている場合にのみ使用可能

返信セパレーター

NOTMUCH_REPLY_SEPARATORS環境変数は、メール返信の検出を制御します。スレッドを表示すると、各メールの内容は、設定された区切り文字で始まる最初の行で切り詰められます。これにより、新しい内容は保持されながら、引用符で囲まれた返信が削除されます。

さまざまな言語に推奨される区切りパターンは次のとおりです。

英語

On|wrote:|From:|Sent:|To:|Subject:|Date:|Cc:|Best regards|Kind Regards|Thanks,|Thank you,|Best,|All the best|regards,|Sent from my|Get Outlook for|CAUTION:|Disclaimer:|Warning:|Confidential:|CONFIDENTIALITY:|---------- Original Message ----------

ドイツ語

Am.*schrieb|Von:|Gesendet|An:|Betreff:|Datum:|Cc:|Organisation:|Mit freundlichen Grüßen|Beste Grüße|Viele Grüße|Hinweis:|Achtung:|Gesendet von

フランス語

Le.*a écrit|De |Envoyé |À |Objet |Cc |cordialement|salutations|bonne réception|bonne journée|Envoyé depuis

オランダ語

Op.*schreef:|Van:|Verzonden|Aan:|Onderwerp:|Datum:|Cc:|Met vriendelijke groet|Hartelijke groeten|Bedankt,|Dank u,|Verzonden vanaf

イタリア語

Il.*ha scritto:|Da:|Inviato|A:|Oggetto:|Data:|Cc:|Cordiali saluti|Inviato da

注: パターンを区切るには | (パイプ) を使用してください。これらは一般的なメールクライアントから派生した簡略化されたパターンであるため、特定のニーズに合わせて調整する必要がある場合があります。

貢献

貢献は大歓迎です!バグ報告、機能リクエスト、ドキュメントの改善、コードへの貢献など、あらゆるご意見が貴重です。ぜひお気軽にご連絡ください。

  • バグを報告したり機能を提案したりするには、問題を開いてください
  • 改善点を記載したプルリクエストを送信する
  • ドキュメントを充実させたり、使用例を共有したりする
  • 質問をして経験を共有しましょう

目標は、Claude による電子メール管理をさらに改善することであり、あなたの洞察と貢献がその達成に役立ちます。

謝辞

このプロジェクトは、他者の優れた取り組みに基づいて構築されています。

  • mail-parser-reply - 包括的なメール返信マーカーパターン
  • notmuch - 高速メールインデックスと検索エンジン
  • html2text - HTMLメールを読み取り可能なテキストに変換します
  • markdown-it-py - 美しいHTMLメールを生成する
  • latex.css - LaTeXスタイルの電子メールフォーマット用

ライセンス

Mozilla パブリックライセンス バージョン 2.0

私の他のLLMプロジェクト

  • MCP Alchemy - スキーマを探索し、SQL を実行するために、Claude Desktop をデータベースに接続します。
  • MCP Redmine - Claude Desktop で Redmine プロジェクトと問題を管理します。
  • Diffpilot - ファイルのグループ化とタグ付けが可能な複数列の Git 差分ビューア。
  • Claude ローカル ファイル- Claude デスクトップ アーティファクト内のローカル ファイルにアクセスします。
-
security - not tested
A
license - permissive license
-
quality - not tested

Claude Desktop を notmuch 電子メール データベースに接続する電子メール アシスタント サーバー。これにより、ユーザーは電子メールの検索、スレッドの表示、新しいメッセージの作成、マークダウン形式での会話への返信が可能になります。

  1. Installation
    1. Usage with Claude Desktop
      1. Environment Variables
        1. API
          1. Tools
        2. Reply Separators
          1. English
          2. German
          3. French
          4. Dutch
          5. Italian
        3. Contributing
          1. Acknowledgments
            1. License
              1. My Other LLM Projects
                ID: vzg5i81fa1