email-tool

io.github.skhan61由 GitHub 帳號 skhan61 發布v5.6.0更新於 Nov 3, 2026

IMAP/SMTP email for AI assistants: read, search, draft and send, with CMMC-grade safeguards.

已驗證STDIO僅桌面效率與工作流溝通與協作

概覽

AI 產生的概覽

本機 IMAP/SMTP 郵件伺服器,讓助理列出信箱、讀取、搜尋、起草、寄送與刪除郵件,並處理附件。

可以做什麼
  • 列出已設定的信箱及其資料夾,並檢查每個信箱能否登入
  • 依寄件者、主旨、內文或日期列出與搜尋郵件,並完整讀取單封郵件且不標示為已讀
  • 把郵件附件儲存到使用者指定的資料夾
  • 建立、列出、讀取與更新草稿,包括加入對話串的回覆草稿
  • 立即寄出含附件的郵件,或永久刪除某封郵件
  • 透過瀏覽器設定頁新增信箱,並產生或寄送問題報告給維護者
適用情境
適合希望助理在自己電腦上處理真實郵件的場合:整理與搜尋信箱、準備待審閱的草稿,或寄送使用者明確核准的訊息;也適用於需要記錄操作、寄送前須核准的組織。
執行需求
以本機程序在使用者的桌上型電腦執行(PyPI 套件 email-tool-mcp,可透過 uv 或應用程式安裝器安裝)。須透過瀏覽器開啟的設定頁新增至少一個信箱,密碼在該頁面輸入並存放於作業系統鑰匙圈。需要能連線至郵件服務商的 IMAP/SMTP 伺服器。
安裝前請注意
寄送與刪除無法復原,刪除為永久刪除;伺服器會要求使用者明確確認特定郵件,疑似敏感的附件會先顯示給使用者確認。密碼只能在設定頁輸入,切勿在對話中提供。問題報告工具會蒐集版本、應用程式資訊、信箱類型與最近失敗的呼叫,並移除地址、主旨、引用文字、路徑與金鑰;寄送該報告會把資料傳給維護者,寄送前應用程式會顯示確切內容供核准。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 email-tool,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[email-tool icon]

email-tool

Email for any AI agent that speaks MCP: Claude Code, Claude Desktop, Cowork, ChatGPT desktop, Codex and others.
Read, search, draft and send mail, with attachments, over IMAP/SMTP.

Works with
[Claude Code plugin] [Claude Desktop and Cowork] [ChatGPT desktop and Codex] [MCP server]

Compliance
[CMMC Level 2 / NIST SP 800-171 control mapping]

Build and security
[CI] [CodeQL] [OpenSSF Scorecard] [Latest release]

Code quality
[Python version] [Tested on Linux, macOS and Windows] [Ruff] [mypy strict] [uv] [pre-commit] [Dependabot]

Project
[License] [Security policy] [Contributing]

email-tool lets an AI assistant read, search, draft and send your email. It runs on your own computer, keeps passwords in your operating system's keyring, and is built for organizations under CMMC Level 2 and NIST SP 800-171: every action is logged, sending can wait for your approval, and CUI-marked mail stays inside the domains you allow.

Documentation: skhan61.github.io/email-tool

Quick start

No terminal, any app: Start here. Install email-tool in your app (Claude Desktop and Cowork: one file to open; ChatGPT desktop and Codex: one installer to open), then ask your assistant to "add my mailbox".

From a terminal:

  1. Install uv.

  2. Connect your AI app. In Claude Code:

    text
    /plugin marketplace add skhan61/email-tool/plugin install email-tool@email-tool

    Other apps: Advanced setup.

  3. Ask your assistant to "add my mailbox", or from a terminal:

    bash
    uv tool install email-tool-mcpemail-tool-mcp add work --auth microsoft --address [email protected]

    Gmail, Google Workspace and other accounts: Mailbox details.

Documentation

PageWhat it covers
Start hereInstall in any app and add a mailbox, no terminal
Everyday useWhat to ask, the tools, approving before sending
Mailbox detailsWhat each mailbox needs (Gmail App Password, Microsoft, GCC High, Google Workspace, others), and the terminal steps
Advanced setupuv by hand, configuration files, ChatGPT Business, other MCP apps, update or remove
Why CMMCEach protection, with examples
CMMC control mappingNIST SP 800-171 requirements, evidence and your part
For administratorsPolicy, audit log, FIPS mode, your own Microsoft or Google app
TroubleshootingEvery message and its fix
PrivacyWhat email-tool accesses and where it goes

Contributing and security

See CONTRIBUTING.md. Report vulnerabilities privately as described in SECURITY.md.

License

MIT

來源:README.md,提交 c17996b

工具

15

list_mailboxes

List the mailboxes configured on this machine and whether each can log in.

無需輸入參數。

list_folders

List every folder in the mailbox.

輸入參數mailbox

list_emails

List the newest messages in a folder, newest first.

輸入參數limitfoldermailbox

search_emails

Search a folder by sender, subject, body text or date (since, as DD-Mon-YYYY). On Gmail, `gmail_query` takes Gmail's own search syntax instead; other servers ignore it. Supply at least one field.

輸入參數bodylimitsincefoldersendermailboxsubjectgmail_query

get_email

Read one message in full by UID. Does not mark it as read.

輸入參數uid必填foldermailbox

save_attachment

Save one attachment of a message into a folder the user names. The file is never opened. A relative folder is taken from the user's home ("Downloads" is ~/Downloads). Saving into a place where a file can run (autostart, .ssh, ...) asks the user first.

輸入參數uid必填index必填foldermailboxdirectory必填confirm_sensitive

delete_email

Permanently delete one message by UID. This cannot be undone.

輸入參數uid必填folder必填mailbox

create_draft

Save a new draft into the drafts folder, with any attachments. Does not send it. For a reply, `in_reply_to_uid` names the message answered, so the draft joins its conversation.

輸入參數ccto必填bodyhtmlfolder必填mailboxsubjectattachmentsin_reply_to_uidin_reply_to_folder

list_drafts

List the newest drafts, newest first.

輸入參數limitfolder必填mailbox

get_draft

Read one draft in full by UID.

輸入參數uid必填folder必填mailbox

update_draft

Replace an existing draft with new content and attachments, keyed by UID. IMAP has no in-place edit: the replacement is stored first, then the original deleted. A reply draft stays in its conversation; `in_reply_to_uid` moves it to another one.

輸入參數ccto必填uid必填bodyhtmlfolder必填mailboxsubjectattachmentsin_reply_to_uidin_reply_to_folder

send_email

Send an email immediately from this mailbox, with any attachments. This is not reversible. Attachments that look sensitive (keys, credentials, CUI) are shown to the user to confirm first. For a reply, `in_reply_to_uid` names the message answered, so the reply joins its conversation.

輸入參數ccto必填body必填htmlmailboxsubject必填attachmentsin_reply_to_uidconfirm_sensitivein_reply_to_folder

add_mailbox

Open a setup page in the user's browser to add a mailbox: Gmail, Outlook or Microsoft 365, Google Workspace, or any other. The user types any password on that page only; never ask for it in the chat. Closing the app's page box can read as "canceled" even after a mailbox was added: then call list_mailboxes to see whether it was.

無需輸入參數。

report_problem

Build a problem report for the email-tool maintainer when the user wants to report a problem. It holds the versions, the app, the kinds of mailbox and the last few failed calls, with addresses, subjects, quoted text, home-folder paths, passwords, tokens and keys removed. It changes nothing and sends nothing; it says how the user can send it.

輸入參數description必填

email_problem_report

Email a report from report_problem to the email-tool maintainer, from one of the user's mailboxes. The user's app always shows them the exact message to approve first. If the app cannot ask, nothing is sent: offer the GitHub link from report_problem instead.

輸入參數report必填mailbox

版本歷史

3
  1. v5.6.0最新Oct 29, 2026
  2. v5.5.0Oct 23, 2026
  3. v5.4.4Oct 23, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分