邮件服务MCP服务器

一个用于连接Fastmail或其他基于JMAP的电子邮件服务的MCP服务器,提供邮件管理功能。

  • by gnapse
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 gnapse/fastmail-mcp

使用说明

快速邮件MCP服务器

连接到Fastmail或其他基于jmap的电子邮件服务的MCP服务器

用户设置

  1. 克隆此存储库

    git clone https://github.com/gnapse/fastmail-mcp
    
  2. 安装依赖项并设置环境

    npm run setup
    
  3. 添加此 fastmail-mcp 部分到您的 mcp.json Cursor、Claude、Raycast等中的配置。

    {
        "mcpServers": {
            "fastmail-mcp": {
                "type": "stdio",
                "command": "node",
                "args": [
                    "/Users/<your_user_name>/code/fastmail-mcp/dist/mcp-server.js"
                ],
                "env": {
                    "JMAP_BEARER_TOKEN": "your-jmap-bearer-token-here",
                    "JMAP_SESSION_URL": "https://api.fastmail.com/jmap/session"
                }
            }
        }
    }
    
  4. 按如下方式更新上述配置

    • 替换 JMAP_BEARER_TOKEN 使用您的Fastmail API令牌(或任何其他JMAP电子邮件提供商的令牌)
    • (可选)更换 JMAP_SESSION_URL 如果您使用的是Fastmail以外的电子邮件提供商
    • 替换路径 args 具有克隆存储库的正确路径的数组

特性

这个项目还处于早期阶段。预计很快会有更多和/或更好的工具。

尽管如此,我们的目标是提供一小套工具,实现完整的工作流程,而不仅仅是原子操作,在LLM的灵活性和效率之间取得平衡。

可用工具

  • 列出邮箱:列出所有邮箱,包括其ID、名称、角色以及未读电子邮件总数
  • 搜索线索:按主题、发件人、收件人、正文等搜索电子邮件主题
  • 列出线程:列出邮箱中的电子邮件线程,或所有邮箱中的所有线程
  • 列出线程消息:在帖子(对话)中列出电子邮件
  • 获取电子邮件详细信息:获取电子邮件的详细信息
  • 将线程移动到邮箱:将一个或多个线程中的所有电子邮件移动到目标邮箱
  • 标记螺纹读数:将一个或多个线程中的所有电子邮件标记为已读
  • 将线程标记为未读:将帖子中的电子邮件标记为未读(全部或仅最后一封)
  • 归档线程:将一个或多个线程中的所有电子邮件移动到存档邮箱
  • 删除线程:将一个或多个线程中的所有电子邮件移动到废纸篓邮箱(软删除)

依赖项

开发设置

  1. 安装依赖项并设置环境

    npm run setup
    
  2. 配置环境变量 更新 .env 文件中包含您的JMAP凭据:

    JMAP_BEARER_TOKEN=your-jmap-bearer-token-here
    JMAP_SESSION_URL=https://api.fastmail.com/jmap/session
    
  3. 使用检查器运行MCP服务器

    npm run dev
    

如果在本地更改代码,则需要更新构建:

npm run build