项目简介

Email MCP Server是一个功能丰富的后端服务,旨在通过Model Context Protocol (MCP) 标准,为大型语言模型(LLM)客户端提供强大的邮件和联系人管理能力。它支持Gmail、Outlook、Yahoo及其他IMAP/SMTP邮件服务商,实现了邮件发送、接收、搜索、转发、日程安排,以及联系人增删改查等多种高级操作。同时,它也提供一套独立的命令行工具集,方便用户直接在终端管理邮件。

主要功能点

  • 基本邮件操作:
    • 发送普通邮件。
    • 发送带附件邮件。
    • 读取最新邮件。
    • 根据邮件ID获取或删除邮件。
    • 标记邮件为已读或未读。
  • 高级邮件操作:
    • 进行高级邮件搜索,支持按发件人、收件人、主题、日期、已读状态等多种条件筛选。
    • 转发现有邮件给新的收件人。
    • 回复邮件,并可选回复所有收件人。
    • 获取邮件账户的统计信息(如总邮件数、未读数、已读数等)。
    • 创建邮件草稿,方便稍后编辑或发送。
    • 安排邮件在指定日期和时间自动发送。
    • 支持批量发送多封邮件。
  • 联系人管理:
    • 添加新联系人到地址簿。
    • 列出所有联系人。
    • 按姓名或邮箱地址搜索联系人。
    • 按分组(如工作、朋友)获取联系人列表。
    • 更新现有联系人的信息。
    • 删除地址簿中的联系人。

安装步骤

  1. 全局安装 (推荐): 打开终端并运行以下命令:

    npm i -g @0xshariq/email-mcp-server

    这将把MCP服务器及其配套的命令行工具安装到您的系统 PATH 中。

  2. 手动安装 (如果您希望从源代码运行):

    git clone https://github.com/0xshariq/email-mcp-server.git
    cd email-mcp-server
    pnpm install
    pnpm run build

    手动安装后,您需要在项目目录下使用 'pnpm start' 运行服务器。

服务器配置

Email MCP Server作为后端服务,需要您的邮件账户信息才能正常工作。这些敏感信息应保存在项目根目录下的 '.env' 文件中。

  1. 创建 '.env' 文件: 从项目提供的示例文件复制:

    cp .env.example .env
  2. 配置邮件账户信息: 编辑 '.env' 文件,填入您的邮件服务提供商(如Gmail、Outlook、Yahoo或任何IMAP/SMTP服务)的详细配置。例如,对于Gmail:

    # Gmail SMTP Configuration
    SMTP_HOST=smtp.gmail.com
    SMTP_PORT=587
    SMTP_SECURE=false
    [email protected]
    EMAIL_PASS=your-app-password # 注意:Gmail需要应用专用密码
    
    # Gmail IMAP Configuration
    IMAP_HOST=imap.gmail.com
    IMAP_PORT=993
    IMAP_TLS=true
    IMAP_MARK_SEEN=false

    特别提示: 对于Gmail用户,您需要启用两步验证,并生成一个“应用专用密码”来代替您的常规密码填入 'EMAIL_PASS' 字段。

MCP客户端连接信息:

MCP客户端(如Claude Desktop)需要通过以下信息才能连接到此邮件MCP服务器。这些信息描述了服务器的名称、启动命令及参数:

  • 名称: 'email-mcp-server' (服务器的标识符)
  • 启动命令 (Command): 'pnpm' (或者您系统上 'pnpm' 的完整路径,如果您是手动安装,并且 'pnpm' 不在系统 PATH 中)
  • 参数 (Args): '["start"]' (这是用于启动此MCP服务器的命令参数)
  • 描述: 一个提供全面邮件操作和联系人管理能力的MCP服务器。

将这些信息以JSON格式提供给您的MCP客户端,客户端将能够通过 'pnpm start' 命令启动并连接到此邮件MCP服务器。

基本使用方法

  1. 启动MCP服务器: 在安装了服务器代码的项目根目录下(如果您是手动安装)或任何位置(如果您是全局安装并配置了 '.env'),运行:

    pnpm start

    服务器启动后,它将监听MCP客户端的请求,提供邮件和联系人操作服务。

  2. 通过CLI工具直接操作 (可选): 除了作为MCP服务器外,该项目还提供一套独立的命令行工具,您可以直接在终端使用它们执行邮件和联系人操作:

    • 发送邮件: 'email-send "收件人@example.com" "会议通知" "请查阅附件的会议议程。"'
    • 读取最新5封邮件: 'eread 5'
    • 搜索发件人是 "[email protected]" 且未读的邮件: 'esearch --from "[email protected]" --seen false'
    • 添加新联系人: 'cadd "李华" "[email protected]" "客户"'
    • 获取特定命令的帮助信息: 'email-send --help'

信息

分类

生产力应用