Sentry

A model context protocol server that reads mails with notmuch and sends mail with sendmail
  • python

7

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

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

MCP Notmuch Sendmail connects Claude Desktop to your notmuch email database, letting you search threads, view conversations in plain text, compose in markdown, and send well-formatted emails with optional signatures and styling. It also supports syncing your email database with a configured script, so your local mail data stays up to date.

How to use

You use this MCP server by adding it to your Claude Desktop configuration. Once set up, you can search for email threads, view conversations in a readable text format, compose new emails with markdown, and reply to threads while keeping quoted content neatly deduplicated. When you send, your drafts are created and can be edited before sending. If you enable a sync script, you can keep your notmuch database synchronized automatically.

How to install

Prerequisites you need before installation: a running Unix-like environment and curl available in your shell.

Install the runtime tool that executes MCP servers (uvx). Run this command in your terminal:

curl -LsSf https://astral.sh/uv/install.sh | sh

Configuration and usage notes

Enable the MCP server in Claude Desktop by adding an mcpServers entry named email. The entry runs uvx with explicit arguments to load the mcp-notmuch-sendmail package and keep it refreshed. You also provide environment variables that point to your notmuch database and control how emails are composed and rendered.

{
  "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"
      }
    }
  }
}

Environment variables

The following environment variables control how the MCP server operates. You should set these in your Claude Desktop configuration or your shell environment when launching the server.

  • NOTMUCH_DATABASE_PATH: Path to your notmuch database (required)

  • NOTMUCH_REPLY_SEPARATORS: Pipe-separated patterns used to trim quoted replies (required)

  • SENDMAIL_FROM_EMAIL: Your email address for the From: field (required)

  • SENDMAIL_EMAIL_SIGNATURE_HTML: HTML signature appended to emails (optional)

  • NOTMUCH_SYNC_SCRIPT: Path to a script that synchronizes emails (optional)

  • LOG_FILE_PATH: Path to a log file (optional)

  • DRAFT_DIR: Directory for storing email drafts (optional, defaults to /tmp/mcp-notmuch-sendmail)

Tools and API

The server exposes several capabilities as tools for Claude Desktop to call. These include finding threads, viewing a thread, composing new emails, replying to threads, sending drafts, and syncing emails.

Notes on reply separators

The NOTMUCH_REPLY_SEPARATORS environment variable controls where email content is trimmed when viewing threads. The first line that matches any of the configured patterns is treated as a separator, so quoted replies are removed while keeping new content. Use language-specific patterns to suit your locale.

Troubleshooting

If you run into issues, check the log file specified by LOG_FILE_PATH for any errors during startup or when processing emails. Ensure NOTMUCH_DATABASE_PATH points to a valid notmuch database. If emails fail to sync, verify NOTMUCH_SYNC_SCRIPT is executable and returns expected output.

Security considerations

Keep your email credentials and database paths secure. Do not expose NOTMUCH_DATABASE_PATH or SENDMAIL_FROM_EMAIL in public configurations. Use file permissions and restricted access to the script used for synchronization.

Examples

Drafting a new email uses markdown for the body. A signature can be appended automatically if SENDMAIL_EMAIL_SIGNATURE_HTML is set. Drafts will appear under the path you configured in DRAFT_DIR.

Available tools

find_email_thread

Find email threads in the notmuch database using a query and return a tab-separated list of thread_id, date, subject, and authors.

view_email_thread

Render a full conversation for a given thread_id, converting HTML content to plain text for readable viewing.

compose_new_email

Create a new email draft from Markdown, optionally appending an HTML signature, and produce draft and preview file paths.

compose_email_reply

Create a reply draft to an existing thread with Markdown content and recipient details, returning draft file paths.

send_email

Send the currently drafted email and return a success or error message.

sync_emails

Run the configured synchronization script to update the local notmuch database and return the script output.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational