使用说明
快速邮件MCP服务器
Fastmail的模型上下文协议(MCP)服务器。允许任何兼容MCP的AI助手通过JMAP协议读取、搜索、发送和管理Fastmail帐户中的电子邮件、日历和联系人。
先决条件
- Node.js 18或更高版本
- Fastmail帐户(标准或专业计划)
- 具有JMAP访问权限的Fastmail API令牌
设置
1.生成Fastmail API令牌
- 登录 快速邮件
- 首选 设置→ 隐私和安全→ 管理API令牌
- 点击 新API令牌
- 授予访问权限 邮件, 日历,以及 联系人 (读写)
- 复制生成的令牌
2.安装
npm install @jordonh19/fastmail-mcp-server
或者直接运行:
npx @jordonh19/fastmail-mcp-server
3.配置
此MCP服务器可与支持模型上下文协议的任何AI助手配合使用。以下是流行的MCP客户端示例。
克劳德桌面
添加到您的Claude Desktop配置(claude_desktop_config.json):
{
"mcpServers": {
"fastmail": {
"command": "npx",
"args": ["@jordonh19/fastmail-mcp-server"],
"env": {
"FASTMAIL_API_TOKEN": "your-api-token-here"
}
}
}
}
克劳德代码CLI
export FASTMAIL_API_TOKEN="your-api-token-here"
claude mcp add fastmail -- npx @jordonh19/fastmail-mcp-server
光标
添加到光标MCP配置(.cursor/mcp.json):
{
"mcpServers": {
"fastmail": {
"command": "npx",
"args": ["@jordonh19/fastmail-mcp-server"],
"env": {
"FASTMAIL_API_TOKEN": "your-api-token-here"
}
}
}
}
帆板运动
添加到您的Windsurf MCP配置(~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"fastmail": {
"command": "npx",
"args": ["@jordonh19/fastmail-mcp-server"],
"env": {
"FASTMAIL_API_TOKEN": "your-api-token-here"
}
}
}
}
VS Code
添加到您的VS代码MCP配置中(.vscode/mcp.json):
{
"servers": {
"fastmail": {
"command": "npx",
"args": ["@jordonh19/fastmail-mcp-server"],
"env": {
"FASTMAIL_API_TOKEN": "your-api-token-here"
}
}
}
}
其他MCP客户端
对于任何兼容MCP的客户端,请使用以下命令运行服务器 FASTMAIL_API_TOKEN 环境变量集:
FASTMAIL_API_TOKEN="your-api-token-here" npx @jordonh19/fastmail-mcp-server
默认情况下,服务器通过stdio进行通信,遵循标准的MCP传输协议。要改为通过HTTP运行,请使用 --transport 标志:
FASTMAIL_API_TOKEN="your-api-token-here" npx @jordonh19/fastmail-mcp-server --transport http --port 3000
工具
电子邮件
search_emails:按邮箱、文本、发件人、日期范围、附件等搜索电子邮件。get_email:按ID获取完整的电子邮件内容。get_email_headers:获取选定的电子邮件标题,但不返回完整的邮件正文。get_thread:在对话线程中获取所有电子邮件。get_unread_emails:快速检索未读电子邮件,可选择按邮箱过滤。get_latest_emails:从所有邮箱或特定邮箱获取最新电子邮件。get_mailbox_emails:按页码列出特定邮箱中的电子邮件。get_email_attachments:列出电子邮件中的附件,但不返回完整的邮件正文。send_email:撰写并发送一封新电子邮件。reply_email:回复或全部回复电子邮件。forward_email:将电子邮件转发给新收件人。create_draft:将电子邮件另存为草稿,不发送。send_draft:发送以前保存的草稿电子邮件。move_email:将电子邮件移动到其他邮箱。add_labels:向电子邮件添加邮箱标签,同时保留现有的邮箱分配。remove_labels:从电子邮件中删除邮箱标签,同时保留其他邮箱分配。update_email_flags:将电子邮件标记为已读/未读或标记/未标记。delete_email:移动到废纸篓或永久删除。bulk_email_action:同时对多封电子邮件执行操作。bulk_add_labels:一次为多封电子邮件添加邮箱标签。bulk_remove_labels:一次从多封电子邮件中删除邮箱标签。archive_email:将一封或多封电子邮件移动到存档邮箱。mark_mailbox_read:将邮箱中的所有电子邮件标记为已读。get_mailbox_stats:获取紧凑的邮箱级别未读、电子邮件和线程数。get_account_summary:通过独特的电子邮件总数和顶级邮箱获得简洁的帐户概述。download_attachment:通过blob ID下载电子邮件附件。one_click_unsubscribe:发送电子邮件的一键取消订阅请求。
邮箱
list_mailboxes:列出所有具有角色和电子邮件计数的邮箱或文件夹。create_mailbox:创建新邮箱或文件夹。rename_mailbox:重命名现有邮箱或文件夹。delete_mailbox:删除邮箱或文件夹,可选择强制删除。
日历
list_calendars:列出所有带有名称、颜色和可见性的日历。get_calendar_events:按日期范围、日历或标题搜索或列出日历事件。get_calendar_event:获取特定日历事件的完整详细信息。create_calendar_event:创建一个包含位置、参与者和警报的新日历事件。update_calendar_event:更新现有日历事件。delete_calendar_event:删除日历事件。
联系人
list_address_books:列出所有通讯簿或联系人组。search_contacts:按姓名、电子邮件或其他条件搜索联系人。get_contact:获取特定联系人的完整详细信息。create_contact:使用电子邮件、电话、组织等创建新联系人。update_contact:更新现有联系人的信息。delete_contact:删除联系人。
身份
get_identities:列出可用的发件人身份。
诊断
check_function_availability:检查哪些Fastmail功能组和MCP客户端功能可用,并提供缺失访问的设置指南。
运输方式
服务器支持两种传输模式:
stdio(默认)
标准输入/输出传输。大多数MCP客户端(Claude Desktop、Cursor、VS Code等)使用:
FASTMAIL_API_TOKEN="your-token" npx @jordonh19/fastmail-mcp-server
HTTP(流式HTTP)
作为HTTP服务器运行,用于远程访问或多客户端场景:
FASTMAIL_API_TOKEN="your-token" npx @jordonh19/fastmail-mcp-server --transport http --port 3000
HTTP传输公开了一个 /mcp 支持MCP Streamable HTTP协议的端点。
Web UI仪表板
在HTTP模式下运行时,服务器根目录下有一个内置的web仪表板。它提供:
- 实时工具调用日志 --通过SSE实时查看每个MCP工具调用
- 连接跟踪 --监视活动的MCP客户端连接
- 服务器正常运行时间 --健康状况一览
启动时,服务器会向控制台打印一个一次性访问令牌。打开 http://localhost:<port>/ 在浏览器中输入令牌以登录。令牌绑定到HttpOnly cookie,因此它永远不会出现在URL中。
克劳德桌面扩展(DXT)
预包装 .dxt 扩展可以在Claude Desktop中一键安装:
npm run build:dxt
这产生 fastmail-mcp-server-v<version>.dxt 在项目根中。双击该文件(或将其拖动到Claude Desktop)进行安装。Claude将在首次使用时提示您的Fastmail API令牌。
配置
服务器可以通过环境变量或JSON配置文件进行配置。
环境变量
FASTMAIL_API_TOKEN:必填。具有JMAP访问权限的Fastmail API令牌。
配置文件
创建一个 .fastmail-mcp.json 项目根目录或主目录中的文件:
{
"transport": "stdio",
"port": 3000
}
服务器按以下顺序搜索配置文件:
./.fastmail-mcp.json(当前目录)~/.fastmail-mcp.json(主目录)
环境变量和CLI标志始终优先于配置文件值。
发展
看 贡献.md 详细的开发指南。
git clone https://github.com/Jordonh18/fastmail-mcp-server.git
cd fastmail-mcp-server
npm install
npm run build
npm test
脚本
| 命令 | 描述 |
|---|---|
npm run build |
TypeScript编译 |
npm run build:dxt |
构建+包作为克劳德桌面 .dxt 扩展 |
npm run dev |
观看模式构建 |
npm test |
运行测试(Vitest) |
npm run test:coverage |
v8覆盖率测试 |
npm run typecheck |
不发射的类型检查 |
在本地运行:
FASTMAIL_API_TOKEN="your-token" node dist/index.js
许可证
麻省理工学院
