通过 MCP 将 AI 智能体连接到 TrekMail
通过浏览器授权、通用 CLI 桥接器或权限范围严格限定的静态令牌,将任何兼容的 MCP 客户端安全连接到 TrekMail。
文章详情
类型、难度、套餐及最近更新信息。
▼
文章详情
类型、难度、套餐及最近更新信息。
- 类型
- 指南
- 难度
- 中级
- 套餐
- Nano · Starter · Pro · Agency
- 最近更新
- 2026年8月23日
TrekMail MCP 服务器让兼容的 AI 客户端能够通过自然语言管理您的电子邮件基础设施。其目录涵盖域名、邮箱、White Label 品牌和团队、Drive、电子邮件、日历、迁移、支持、计费及相关服务,并统一使用 TrekMail API。
并非每次对话都会加载完整目录。TrekMail 根据当前凭据构建 tools/list:超出其权限范围的工具会被省略,由所选工具集、只读模式、传输限制或本地安全设置排除的工具同样不会出现。因此,权限范围严格限定的电子邮件凭据只会显示精简的电子邮件工具列表。
选择连接方式
| 路径 | 适用场景 | 设置时间 |
|---|---|---|
| 远程 MCP 客户端 (推荐) | 您的客户端接受远程 MCP URL,并支持浏览器授权。 | ~30 秒 |
| CLI 或桌面客户端 | 您的客户端接受命令/stdio 服务器,或自带远程 MCP 命令。 | ~1 分钟 |
| 任意主机上的 mcp-remote | 您需要通往托管 MCP 端点的通用 stdio 桥接器。 | ~1 分钟 |
| 自行托管 stdio 软件包 | 您希望连接私有 TrekMail 实例、在容器内运行服务器,或使用静态 tm_live_ 令牌代替 OAuth。 |
~5 分钟 |
路径 1-3 使用 OAuth 2.1:首次连接时,浏览器会打开 TrekMail 的同意页面,您可查看请求的权限,客户端随后获得仅限您账户范围的令牌。无需把长期有效的 tm_live_ 令牌复制到客户端。您可以随时在 AI 智能体与 API → 令牌 → 已连接的应用 中撤销连接。
您将获得
- 连接专属工具集,在注册前按当前连接的权限和安全设置完成筛选。
- **OAuth 2.1 + 动态客户端注册:**AI 客户端会自行注册,引导您完成浏览器同意页面,并获得限定范围的令牌。网页、桌面或 CLI 路径都无需复制粘贴长期令牌。
- **双令牌架构:**将运维令牌(基础设施)与消息令牌(完整 Webmail 操作)分开。通过 OAuth 连接时,系统会按需自动为每个邮箱生成消息令牌。
- 自动幂等处理用于需要此特性的操作,确保重试不会重复执行同一操作。
- **两步删除:**删除邮箱需要明确表达意图并确认,然后邮箱会移至“最近删除”以便恢复。
- **自托管安全控制:**运行自有 stdio MCP 服务器的管理员可要求对删除、发送和迁移操作进行批准。
- **完整审计日志:**每项 API 和 MCP 操作都会记录并保留 90 天。
开始之前
- 所有套餐均可连接智能体。
- **Nano:**Email Verifier 工具。添加 Drive Storage 后,智能体还可使用账户有权使用的 Drive 功能,包括浏览、上传、共享、恢复和彻底删除。
- **Starter:**完整 Drive、完整 Email Verifier,以及其余领域(域名、邮箱、迁移、工单等)的只读访问权限。对于 Starter 未通过 API 开放的写入操作,如创建迁移、回复工单或更改自动回复,请使用控制面板。
- **Pro / Agency:**所有工具系列的完整读写权限。
- **White Label 试用或附加服务:**权益有效期间会添加品牌、客户/团队和活动工具。没有该权益时,这些架构会被省略。在取消宽限期内,只有所有者能继续使用读取工具。
- 首次使用? AI 智能体与 API 页面上的 开始导览 按钮会介绍智能体连接、各客户端步骤、手动令牌、已连接应用和审计日志。
- 对于 OAuth 路径 (1, 2, 3),您无需手动创建令牌。客户端会通过浏览器授权流程创建令牌。对于 自托管 stdio 路径 (4),请先在控制面板中创建
tm_live_令牌。
1. 远程 MCP 客户端(推荐)
当您的 AI 客户端支持远程 MCP 服务器和浏览器授权时,请使用此路径。
**快捷方式:**AI 智能体与 API 页面的 连接智能体 标签页会询问您使用的客户端, 随后显示该客户端的确切路径、菜单位置,或者配置文件及已填入 您地址的现成代码段。如果列表中有您的客户端,请按照其中的说明操作,而不是采用下方的 通用步骤。
- 在客户端中打开 MCP、集成或连接器设置。
- 选择 添加远程 MCP 服务器 或 添加自定义连接器。具体标签因客户端而异。
- 输入:
- 名称:
TrekMail - 远程 MCP 服务器 URL:
https://trekmail.net/mcp
- 名称:
- 确认连接。浏览器会打开 TrekMail 授权页面。
- 登录、查看请求的权限并批准访问。浏览器确认连接后返回客户端。
首次授权会签发一个限时令牌。兼容的客户端会自动刷新令牌。若要断开连接,请使用客户端的断开操作,或在 TrekMail 的 令牌 → 已连接的应用 中撤销该应用。
2. CLI 或桌面客户端
对于接受 stdio 命令的客户端,请使用下面这个不依赖特定客户端的桥接器:
npx -y mcp-remote https://trekmail.net/mcp
在客户端中将该命令配置为 MCP 服务器。首次连接会打开浏览器进行授权。
有些客户端还提供自己的远程 MCP 服务器添加命令,同样可以使用;将 https://trekmail.net/mcp 设为服务器 URL,并按照客户端提示操作。
客户端专用示例:Claude Code
claude mcp add trekmail https://trekmail.net/mcp -t http
客户端专用示例:Claude Desktop
编辑配置文件(macOS:~/Library/Application Support/Claude/claude_desktop_config.json · Windows:%APPDATA%\Claude\claude_desktop_config.json),然后添加:
{
"mcpServers": {
"trekmail": {
"url": "https://trekmail.net/mcp",
"transport": "http"
}
}
}
重新启动 Claude Desktop。首次在聊天中提到 TrekMail 时,会打开 OAuth 弹窗。
客户端专用示例:Cursor
Cursor 没有远程服务器设置界面。它会读取 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json
):
{
"mcpServers": {
"trekmail": {
"url": "https://trekmail.net/mcp"
}
}
}
客户端专用示例:Windsurf
Windsurf 会读取 ~/.codeium/windsurf/mcp_config.json。请注意,键名是 serverUrl,而不是 url;
使用 url 配置的远程服务器会被忽略:
{
"mcpServers": {
"trekmail": {
"serverUrl": "https://trekmail.net/mcp"
}
}
}
保存文件并重启客户端,以便加载更改。首次连接会打开 浏览器供您批准访问。
3. mcp-remote (CLI)
对于测试或尚未直接支持远程 OAuth 服务器的非 Anthropic MCP 客户端,mcp-remote 非常实用。它是一个从 stdio 连接到远程 HTTP 的小型 Node 桥接器。
npx -y mcp-remote https://trekmail.net/mcp
首次运行时会打开浏览器进行 OAuth。之后,令牌会缓存在 ~/.mcp-auth/ 下并自动使用。
您可以让任何 stdio MCP 客户端指向 mcp-remote 命令,而非本地 Node 入口点,从而完成连接。
4. 自托管 stdio (Claude Desktop / Docker / npm)
如果您希望使用静态 tm_live_ 令牌而非 OAuth(例如用于无人值守服务器、私有 TrekMail 实例或容器部署),请克隆 stdio MCP 软件包并在自己的主机上运行。
请先在 AI 智能体与 API → 令牌 页面创建 API 令牌。若要读取/发送电子邮件,还需使用运维令牌通过 API 创建消息令牌(说明请参阅 连接智能体 标签页)。
安装 MCP 服务器
git clone https://github.com/trekmail/mcp-server trekmail-mcp
cd trekmail-mcp
npm install
npm run build
Claude Desktop (stdio)
将以下内容添加到 Claude Desktop MCP 配置文件:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"trekmail": {
"command": "node",
"args": ["./trekmail-mcp/build/index.js"],
"env": {
"TREKMAIL_BASE_URL": "https://trekmail.net",
"TREKMAIL_API_TOKEN": "tm_live_your_token",
"TREKMAIL_MESSAGE_TOKEN": "tm_msg_your_token",
"TREKMAIL_ALLOW_SENDING": "false",
"TREKMAIL_ALLOW_MIGRATION": "false"
}
}
}
}
更新 args 路径,使其指向您克隆仓库的位置。将示例令牌替换为您自己的令牌。如果只需要基础设施工具,可以省略 TREKMAIL_MESSAGE_TOKEN;如果只需要消息工具,可以省略 TREKMAIL_API_TOKEN。必须至少提供一个令牌。
Claude Code (stdio)
将以下内容添加到 Claude Code MCP 设置(.claude/settings.json 或项目级配置):
{
"mcpServers": {
"trekmail": {
"command": "node",
"args": ["./trekmail-mcp/build/index.js"],
"env": {
"TREKMAIL_BASE_URL": "https://trekmail.net",
"TREKMAIL_API_TOKEN": "tm_live_your_token",
"TREKMAIL_MESSAGE_TOKEN": "tm_msg_your_token",
"TREKMAIL_ALLOW_SENDING": "false",
"TREKMAIL_ALLOW_MIGRATION": "false"
}
}
}
}
Docker
如果您更喜欢 Docker,请从仓库构建镜像并运行:
git clone https://github.com/trekmail/mcp-server trekmail-mcp
cd trekmail-mcp
docker build -t trekmail-mcp .
docker run -i \
-e TREKMAIL_BASE_URL=https://trekmail.net \
-e TREKMAIL_API_TOKEN=tm_live_your_token \
-e TREKMAIL_MESSAGE_TOKEN=tm_msg_your_token \
-e TREKMAIL_ALLOW_SENDING=false \
-e TREKMAIL_ALLOW_MIGRATION=false \
trekmail-mcp
本地 npm(开发)
git clone https://github.com/trekmail/mcp-server trekmail-mcp
cd trekmail-mcp
npm install && npm run build
TREKMAIL_BASE_URL=https://trekmail.net \
TREKMAIL_API_TOKEN=tm_live_your_token \
TREKMAIL_MESSAGE_TOKEN=tm_msg_your_token \
TREKMAIL_ALLOW_SENDING=false \
TREKMAIL_ALLOW_MIGRATION=false \
npm start
Stdio 环境变量
这些控制项仅适用于您运行的自托管 stdio MCP 进程,不会启用或停用 TrekMail 产品功能。
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
TREKMAIL_BASE_URL |
是 | 无 | 您的 TrekMail URL (https://trekmail.net) |
TREKMAIL_API_TOKEN |
至少一个令牌 | 无 | 以 tm_live_ 开头的运维令牌(基础设施工具) |
TREKMAIL_MESSAGE_TOKEN |
至少一个令牌 | 无 | 以 tm_msg_ 开头的消息令牌(电子邮件读取/发送工具) |
TREKMAIL_TIMEOUT_MS |
否 | 30000 |
请求超时时间,单位为毫秒 |
TREKMAIL_ALLOW_DESTRUCTIVE |
否 | false |
启用高影响写入和删除工具,包括 White Label 访问权限更改、品牌、域名别名连接/移除、删除意图、域名删除、转发更改、密码、邮箱访问、SMTP、Cloudflare、Drive 垃圾箱/彻底删除以及消息删除 |
TREKMAIL_ALLOW_SENDING |
否 | false |
启用向外发送的操作,包括真实电子邮件和 White Label 成员邀请 |
TREKMAIL_ALLOW_MIGRATION |
否 | false |
启用迁移写入工具(start_migration、retry_migration、delete_migration、delete_bulk_migration、update_bulk_migration_job_password、test_migration_connection)。注意:cancel_migration 和 cancel_bulk_migration 作为安全操作始终可用。 |
面向智能体的 Drive 工具
使用包含 Drive 权限范围的运维令牌时,MCP 服务器会提供空间、用量、浏览、上传、文件、文件夹、垃圾箱、批量操作、公共共享链接、同步设备密码管理以及 Drive Add-on 状态工具。您的连接只会看到其权限范围允许的工具。
对于仅使用 Drive 的智能体,请设置 TREKMAIL_API_TOKEN,并只授予工作流所需的权限范围。如果运行自托管 stdio,请保持禁用破坏性操作,除非智能体正在执行经过审核的彻底删除或清空垃圾箱任务。购买、调整或取消 Drive Add-on 并非 MCP 工具;智能体可以读取附加服务状态和价格,但计费更改仍需在控制面板中完成。
请参阅 Drive MCP 工具概览 和 将 AI 智能体连接到 TrekMail Drive。
可用工具
MCP 服务器向已连接的智能体提供以下工具。系统会根据提供的令牌有条件地注册工具。
智能体实际能看到哪些工具由三个因素决定,并在 tools/list 响应前全部应用:
- **令牌的权限范围。**如果令牌不包含某项工具所需的功能,该工具绝不会被注册。
- **本地 stdio 安全控制。**运行自托管 stdio 服务器时,管理员可以要求批准写入、发送或迁移操作。托管 MCP 则使用 OAuth 期间批准的权限范围。
TREKMAIL_READ_ONLY=true,无论权限范围和标志如何,它都会移除所有写入工具。
因此,即使令牌拥有更广的权限范围,也可以有意限制自托管连接。托管 MCP 始终受 OAuth 期间批准的权限限制。
域名工具(运维令牌)
| 工具 | 说明 |
|---|---|
list_domains |
列出域名,并可按状态/搜索条件筛选 |
get_domain |
获取特定域名的详细信息 |
get_domain_alias |
读取域名别名连接及其当前是否正在投递 |
set_domain_alias |
将匹配的仅接收地址连接到主域名(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
remove_domain_alias |
在 confirm_remove: true 后断开域名别名(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
create_domain |
向账户添加新域名 |
delete_domain |
删除域名(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
update_domain_catch_all |
配置或清除全收地址 |
set_domain_mail_hosting |
选择由 TrekMail 托管域名的入站邮件,或继续由客户的提供商托管并仅将该域名用于发送 |
list_forwarding_addresses |
列出域名中没有邮箱的转发地址 |
get_forwarding_address_log |
查看发送到某个地址的近期邮件经历了什么:已投递、已延迟、已拒绝或转发前被拦截为垃圾邮件 |
create_forwarding_address |
创建转发地址(没有邮箱,不存储内容)(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
update_forwarding_address |
替换收件人,或暂停 / 恢复地址(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
delete_forwarding_address |
删除转发地址(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
retry_domain_dkim |
重试 DKIM 密钥配置 |
update_domain_note |
更新域名的管理员备注 |
get_domain_signature |
读取每个域名的电子邮件签名设置 |
update_domain_signature |
设置每个域名的电子邮件签名(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
bulk_add_domains |
一次调用最多添加 20 个域名 |
有关套餐行为、响应状态、安全移除和仅接收路由规则,请参阅 通过 API 和 MCP 使用域名别名。
White Label 工具(运维令牌)
white_label 工具集包含 20 个工具,仅当账户权益、当前成员资格和凭据权限范围均允许时才会出现。品牌按域名配置;其余工具用于管理设置、客户、团队访问权限和活动。写入需要有效的 White Label。在取消宽限期内,只有所有者保留读取工具。
| 工具 | 说明 |
|---|---|
get_domain_branding |
读取品牌状态:模式、附加服务状态、品牌字段、邮件区域状态、主机以及需要创建的 dns_records |
set_domain_branding |
以部分合并方式更新品牌:模式、名称、颜色、控制面板/Webmail/邮件区域开关和标签、支持/发件人、范围 |
set_domain_brand_logo |
将 base64 徽标上传到 light、dark 或 favicon 槽位(PNG/JPG,favicon 可用 ICO,≤1 MB,不支持 SVG) |
verify_domain_branding_dns |
将已启用品牌主机的 DNS 验证加入队列 |
create_branding_preview |
创建品牌体验的 72 小时预览 URL |
remove_domain_brand_logo |
移除徽标槽位 |
remove_domain_branding |
清除域名或整个账户的品牌设置 |
get_white_label |
读取权益、账户品牌、设置进度和可访问域名状态 |
get_white_label_access_catalog |
读取调用方可以授予的角色、权限和域名 |
list_white_label_members |
搜索或筛选客户、团队成员和邀请 |
get_white_label_member |
读取某个成员、有效权限及允许的后续操作 |
invite_white_label_member |
邀请客户或队友;本地 stdio 还要求启用发送 |
update_white_label_member |
更改角色、域名、自定义权限或备注 |
suspend_white_label_member |
停止访问并撤销成员凭据 |
resume_white_label_member |
恢复成员资格,但不恢复旧凭据 |
resend_white_label_invitation |
替换待处理邀请并通过电子邮件发送;本地 stdio 还要求启用发送 |
remove_white_label_member |
在 confirm_remove=true 后移除访问权限 |
restore_white_label_member |
恢复成员资格,但不恢复旧凭据 |
list_white_label_activity |
读取 White Label 账户活动 |
get_white_label_member_activity |
读取某个成员的操作和登录记录;需要活动和成员读取权限范围 |
智能体可以端到端完成品牌设置:设置品牌、复制返回的 dns_records、使用 apply_cloudflare_dns 发布,然后验证并检查状态。即使令牌请求了更广的权限范围,更改访问权限的调用仍受调用方当前成员资格和域名边界限制。请参阅 White Label 品牌 API 和 MCP 指南 以及 使用 API 和 MCP 管理 White Label 团队。
DNS 工具(运维令牌)
| 工具 | 说明 |
|---|---|
get_dns_requirements |
获取域名所需的 DNS 记录 |
dns_recheck |
触发 DNS 验证(返回检查 ID) |
get_dns_check |
轮询 DNS 检查结果 |
邮箱工具(运维令牌)
| 工具 | 说明 |
|---|---|
list_mailboxes |
列出邮箱,并可使用筛选条件 |
get_mailbox |
获取特定邮箱的详细信息 |
get_mail_client_setup |
为普通成员邮箱获取免密码 IMAP/SMTP 设置、安全 DAV URL 及就绪状态、实际发送就绪状态、本地化应用指南,以及委派的共享邮箱文件夹 |
get_apple_mail_profile |
生成免密码 Apple Mail 描述文件,并以 Base64 文件返回 |
create_mailbox_generated_password |
使用自动生成的密码创建邮箱(可选的 storage_allocation_mb 从账户池中划出专用存储空间) |
change_mailbox_password |
更改邮箱密码 |
update_mailbox |
更新显示名称、会话视图或邮箱的 Drive 访问级别 |
set_mailboxes_drive_access |
通过列表、域名或整个账户,一次设置多个邮箱的 Drive 访问权限 |
update_mailbox_note |
更新邮箱的管理员备注 |
suspend_mailbox_login |
禁止用户登录邮箱,同时继续接收邮件(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
resume_mailbox_login |
解除登录暂停;已撤销的设备密码不会恢复 |
set_mailboxes_login_access |
暂停或恢复多个邮箱的登录,可指定列表、整个域名或全部邮箱 |
pause_mailbox |
完全停用邮箱,包括投递;发件人的邮件会被退回。若只需禁止登录,请使用 suspend_mailbox_login |
resume_mailbox |
重新启用已暂停的邮箱 |
enable_imap |
为邮箱启用 IMAP 访问(Message API 必需) |
create_invite |
向收件人发送设置邀请(可选的 storage_allocation_mb 会预先分配专用存储空间,收件人兑换后继承) |
create_invites_bulk |
一次调用最多发送 100 个邀请(支持每项设置 storage_allocation_mb) |
bulk_create_mailboxes |
一次调用最多创建 100 个邮箱(支持每项设置 storage_allocation_mb) |
get_forwarding |
获取邮箱的转发配置 |
set_forwarding |
配置转发规则 |
共享邮箱工具(运维令牌)
共享邮箱是团队收件箱(support@、sales@),成员可通过自己的普通邮箱账户在 Webmail 中打开;启用后,也可通过委派的原生 IMAP/SMTP 访问。它没有直接密码登录。访问权限是统一的,每个人都能读取,can_send 是唯一开关(可回复或只读)。没有成员角色。
| 工具 | 说明 |
|---|---|
list_shared_mailbox_members |
列出可在 Webmail 和委派的原生 IMAP 中访问共享邮箱的成员(每项含 member_mailbox_id、email、can_read、can_send) |
add_shared_mailbox_member |
添加 Webmail/原生访问;can_send 默认为 true(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
update_shared_mailbox_member |
切换 Webmail/原生发件身份访问(can_send),但不移除读取权限(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
remove_shared_mailbox_member |
撤销 Webmail/原生访问;共享邮箱始终至少保留一个成员(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
共享邮箱生命周期(运维令牌)
| 工具 | 说明 |
|---|---|
create_shared_mailbox |
根据域名、本地部分、显示名称和成员邮箱 ID 列表创建共享邮箱(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
convert_mailbox_to_shared |
将现有邮箱转换为共享邮箱(轮换旧密码,使其无法继续登录)(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
convert_shared_mailbox_to_regular |
将共享邮箱转回普通邮箱,撤销成员的 Webmail/原生访问权限并设置新的登录密码(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
三个生命周期工具和三个成员写入工具都会更改访问权限。本地托管的 stdio 管理员可以要求先设置 TREKMAIL_ALLOW_DESTRUCTIVE=true 才提供这些工具;list_shared_mailbox_members 为只读,始终可用。
创建、转换或更改成员资格后,使用普通成员邮箱 id 调用 get_mail_client_setup。读取 shared_mailboxes.items[],等待 native_access_ready=true,并在配置发送前检查 send_as_ready。响应会提供确切的收件箱/已发送/归档/垃圾邮件路径和操作标志;SMTP 不会保存共享的已发送副本。如果移除权限、更新权限或转换时返回可重试的 native_access_sync_failed,则表示服务有意保留了之前的状态。
Sieve 工具(运维令牌)
| 工具 | 说明 |
|---|---|
get_sieve_script |
获取邮箱的原始 Sieve 脚本 |
upload_sieve_script |
为邮箱上传原始 Sieve 脚本 |
删除工具(运维令牌)
| 工具 | 说明 |
|---|---|
create_delete_intent |
步骤 1:创建限时删除意图 |
confirm_delete_intent |
步骤 2:确认删除并将邮箱移至“最近删除” |
迁移工具(运维令牌)
| 工具 | 说明 |
|---|---|
test_migration_connection |
验证 IMAP 凭据并发现源文件夹及其数量 |
list_migrations |
列出迁移,并可按状态/邮箱筛选 |
get_migration |
获取按文件夹细分的详细迁移状态 |
start_migration |
启动新的电子邮件迁移(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION + confirm_start) |
cancel_migration |
取消正在运行的迁移(始终可用的安全操作,需要 confirm_cancel) |
retry_migration |
重试失败或已取消的迁移(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION + confirm_retry) |
delete_migration |
删除已完成/失败的迁移记录(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION + confirm_delete) |
preview_bulk_migration |
验证并预览批量迁移批次(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION) |
start_bulk_migration |
启动批量迁移批次(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION + confirm_start) |
list_bulk_migrations |
列出批量迁移批次,并可按状态筛选 |
get_bulk_migration |
获取批量迁移批次的详细信息 |
cancel_bulk_migration |
取消活动批次(需要 confirm_cancel) |
retry_bulk_migration |
重试批次中失败的任务(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION + confirm_retry) |
resume_bulk_migration |
恢复暂停的批次(需要 confirm_resume) |
delete_bulk_migration |
删除处于终止状态的批量迁移批次(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION + confirm_delete) |
update_bulk_migration_job_password |
更新失败任务的源密码(自托管 stdio 本地控制:TREKMAIL_ALLOW_MIGRATION) |
工单工具(运维令牌)
| 工具 | 说明 |
|---|---|
list_tickets |
列出支持工单,并可使用筛选条件 |
get_ticket |
获取工单详细信息 |
get_ticket_messages |
获取工单会话中的消息 |
create_ticket |
创建新的支持工单 |
reply_to_ticket |
回复现有工单 |
close_ticket |
关闭工单 |
SMTP / 域名路由工具(运维令牌)
SMTP 按域名配置:每个域名可以使用平台托管发送,也可以指向保存的 SMTP 配置文件(您自己的提供商,可跨域名重复使用);一个账户级默认设置决定新域名的初始配置。
| 工具 | 说明 |
|---|---|
get_domain_smtp |
查看域名的 SMTP 路由(smtp_mode 加 effective_smtp_mode,后者会将 inherit 解析为账户默认值)及其配置文件 |
set_domain_smtp |
将域名路由设为 platform、profile(附配置文件 id)、not_configured 或 inherit(实时跟随账户默认值)。支持 set_account_default 和 apply_to_all 开关(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
list_domain_smtp_profiles |
列出账户保存的 SMTP 配置文件 |
get_domain_smtp_profile_usage |
显示使用某个配置文件的确切域名和发件身份地址,不包含凭据 |
create_domain_smtp_profile |
创建配置文件并用于此域名(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
update_domain_smtp_profile |
更新配置文件,会影响使用它的每个域名(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
delete_domain_smtp_profile |
删除配置文件;使用它的域名会重新分配到账户默认设置(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
test_domain_smtp |
为路由启动异步 SMTP 测试(返回任务 ID)(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
get_domain_smtp_test_status |
轮询域名 SMTP 测试任务 |
get_account_smtp_default |
查看账户级默认路由(default_smtp_mode、套餐基准 effective_default_smtp_mode 及其配置文件) |
set_account_smtp_default |
将账户级默认值设为 platform、profile 或 not_configured;决定新域名的初始配置。将 set_domain_smtp 模式设为 inherit,即可让域名实时跟随该默认值(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
上述写入和测试工具会更改设置或执行连接测试。本地托管的 stdio 管理员可要求先设置 TREKMAIL_ALLOW_DESTRUCTIVE=true 才提供这些工具;get_domain_smtp、list_domain_smtp_profiles、get_domain_smtp_test_status 和 get_account_smtp_default 为只读,始终可用。
旧版 SMTP 工具(已弃用)
这些账户级工具为向后兼容而保留,但不再控制每个域名的路由:请改用上述域名路由工具。
| 工具 | 说明 |
|---|---|
get_smtp_config |
(已弃用)查看旧版账户级 SMTP 模式和连接详细信息 |
update_smtp_config |
(已弃用)更新旧版账户级 SMTP 配置 |
delete_smtp_connection |
删除自定义 SMTP 连接 |
test_smtp |
启动异步 SMTP 连接测试(返回任务 ID) |
get_smtp_test_status |
轮询 SMTP 测试结果 |
垃圾邮件指标工具(运维令牌)
| 工具 | 说明 |
|---|---|
get_spam_metrics |
获取域名的每日垃圾邮件防护指标(入站、拦截的垃圾邮件、已拒绝、正常) |
get_spam_summary |
获取域名的汇总垃圾邮件防护摘要(垃圾邮件率、状态、最常触发的规则) |
账户工具(运维令牌)
| 工具 | 说明 |
|---|---|
get_account |
查看账户信息、套餐、限制和用量 |
get_billing_status |
查看计费状态和订阅详细信息 |
list_invoices |
列出发票历史记录 |
消息令牌管理(运维令牌)
| 工具 | 说明 |
|---|---|
create_message_token |
为邮箱创建消息 API 令牌(明文令牌仅返回一次) |
list_message_tokens |
列出邮箱的所有消息令牌 |
revoke_message_token |
撤销消息令牌(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
消息工具(消息令牌)
消息令牌可解锁 62 个工具,覆盖完整的 Webmail 功能,包括已连接的外部账户。工具按功能领域组织。
托管 OAuth 和本地 stdio 以不同方式识别邮箱。在托管 HTTP MCP 上,每个消息工具架构都包含必填的 mailbox_id;服务器用它为该邮箱生成短期令牌。在本地 stdio MCP 上,TREKMAIL_MESSAGE_TOKEN 已绑定到一个邮箱,因此这些工具不接受 mailbox_id。已连接的收件箱是第二级选择:传递 external_account_id;在托管 MCP 上,它与 mailbox_id 一起使用,在 stdio 上则与绑定的消息令牌一起使用。
62 个消息工具中有七个用于管理已连接账户,另有五个用于管理发件身份和回复策略。两类工具结合后,可实现类似 Gmail 的工作流:智能体读取已连接的 Gmail 收件箱,但通过域名路由或保存的 SMTP 配置文件,以获准的企业地址发送邮件。请参阅 通过 API 和 MCP 使用发件身份地址。
核心消息
| 工具 | 说明 |
|---|---|
list_messages |
使用游标分页列出文件夹中的消息 |
read_message |
获取包含完整正文和内嵌附件的单封消息 |
send_message |
从邮箱发送电子邮件(需要双重安全屏障) |
delete_message |
永久删除消息(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
move_message |
将消息移至其他 IMAP 文件夹 |
update_message_flags |
将消息标记为已读/未读、加星/取消加星 |
get_raw_message |
下载消息的完整 RFC822 原始源文件 |
如果邮箱在“设置 → 个人资料”中设有默认抄送或默认密送,它会添加到 send_message 和 schedule_message 的发件内容中,与 Web 应用内撰写的邮件完全相同;消息中已有的地址不会重复添加。传递 apply_default_recipients: false 可为单封消息停用此功能。这不会影响桌面或手机邮件客户端通过 SMTP 发送的邮件,因为这些邮件从不经过 API。
| report_spam | 将消息举报为垃圾邮件,移至垃圾邮件文件夹并训练过滤器 |
| report_ham | 将垃圾邮件文件夹中的消息标记为正常邮件,移至收件箱并训练过滤器 |
| bulk_action | 一次对最多 50 封消息执行操作(已读、加星、删除、移动、垃圾邮件) |
文件夹
| 工具 | 说明 |
|---|---|
list_folders |
列出邮箱的所有 IMAP 文件夹 |
create_folder |
创建新的 IMAP 文件夹 |
rename_folder |
重命名现有文件夹 |
delete_folder |
删除叶级文件夹及其中的消息;请先明确删除子文件夹(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
empty_folder |
永久删除垃圾箱或垃圾邮件文件夹中的所有消息(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
附件
| 工具 | 说明 |
|---|---|
download_attachment |
按索引下载单个附件,返回 base64 内容 |
download_all_attachments |
将消息的所有附件下载为 base64 ZIP |
草稿
| 工具 | 说明 |
|---|---|
save_draft |
保存新草稿并返回其 uid + uidvalidity 标识 |
update_draft |
同时使用草稿的 uid 和必填的 uidvalidity 替换草稿 |
两者都会返回草稿的 uid 和 uidvalidity。请始终一起保存这两个值:update_draft 要求提供纪元,确保“草稿”文件夹重新创建后,旧的重用 UID 永远不会删除其他消息。通过 list_messages 找到的草稿应先用 read_message 打开,它会返回当前的 uidvalidity。更新会返回一组新的值,旧 UID 随即失效。在没有 UIDPLUS 的服务器上,即使新草稿已保存,这两个值也可能为 null;请刷新“草稿”并打开草稿后再更新。
两者还接受可选的 idempotency_key。如果省略,每次调用都会被视为新操作,因此将同一草稿保存两次会得到两份草稿。重试可能已经成功的调用时,请传递相同的密钥;系统会返回首次结果,而不是创建副本。
定时发送
| 工具 | 说明 |
|---|---|
schedule_message |
安排消息在未来投递(需要 TREKMAIL_ALLOW_SENDING + confirm_send;对于不含时区的日期时间,可接受可选的 IANA timezone) |
list_scheduled |
列出待处理的定时消息;按照 pagination.next_cursor 枚举所有页面 |
reschedule_message |
就地重新安排待处理的定时消息(不重新发送;使用较宽松的 messages:read 限流,使批量重新安排不会耗尽发送速率限制) |
cancel_scheduled |
取消待处理的定时消息(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
联系人
| 工具 | 说明 |
|---|---|
list_contacts |
列出联系人,并可按搜索条件筛选 |
create_contact |
创建联系人;如果电子邮件已存在则更新 |
update_contact |
更新联系人的字段 |
delete_contact |
删除联系人(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
import_contacts |
从 base64 编码的 CSV 或 VCF 内容导入联系人 |
export_contacts |
将所有联系人导出为 CSV 或 VCF,并返回 base64 内容 |
联系人组
| 工具 | 说明 |
|---|---|
create_contact_group |
创建有名称的联系人组 |
update_contact_group |
重命名联系人组 |
delete_contact_group |
删除联系人组(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
add_contact_group_members |
按 ID 向组中添加联系人 |
remove_contact_group_members |
从组中移除联系人 |
日历
| 工具 | 说明 |
|---|---|
list_calendar_events |
列出日期范围内的日历事件 |
create_calendar_event |
创建包含标题、开始/结束时间、地点和备注的新事件 |
update_calendar_event |
更新现有事件 |
delete_calendar_event |
删除日历事件(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
撰写辅助工具
这些工具为回复或转发准备数据,不会发送任何内容。请将返回的数据直接传给 send_message 或 save_draft。
| 工具 | 说明 |
|---|---|
prepare_reply |
预填回复(收件人、Re: 主题、引用正文、In-Reply-To 标头) |
prepare_reply_all |
预填全部回复(来自所有原始收件人的收件人 + 抄送) |
prepare_forward |
预填转发(Fwd: 主题、转发正文、原始附件元数据) |
身份(发件地址)
| 工具 | 说明 |
|---|---|
list_identities |
列出特定来源的发件地址、发件身份路由和回复策略;为已连接收件箱传递 external_account_id |
create_identity |
配置托管身份,或创建绑定到一个已连接收件箱的发件身份 |
update_identity |
更新身份的名称、回复地址、签名或发件身份路由 |
delete_identity |
删除发件身份;托管的邮箱/别名身份仍获授权(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
set_reply_from_policy |
从收到消息的地址回复,或始终使用默认地址(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
模板
| 工具 | 说明 |
|---|---|
list_templates |
列出所有保存的消息模板 |
create_template |
创建包含名称、主题和 HTML 正文的模板 |
update_template |
更新模板 |
delete_template |
删除模板(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
已屏蔽的发件人
| 工具 | 说明 |
|---|---|
list_blocked_senders |
列出所有已屏蔽的电子邮件地址和域名 |
block_sender |
屏蔽特定电子邮件地址或整个域名(例如 @spam.com) |
unblock_sender |
解除屏蔽(自托管 stdio 本地控制:TREKMAIL_ALLOW_DESTRUCTIVE) |
Email Verifier 工具(运维令牌)
| 工具 | 说明 |
|---|---|
verify_email |
验证单个电子邮件地址 |
verify_email_bulk |
提交批量验证任务 |
verify_job_status |
检查任务进度和结果 |
verify_job_download |
以 CSV 下载任务结果 |
verify_credits |
查看剩余积分余额 |
verify_list_jobs |
列出所有验证任务 |
verify_cancel_job |
取消正在运行的任务并退还未处理的积分 |
verify_delete_job |
永久删除任务及所有结果(GDPR) |
Email Verifier 工具适用于所有套餐,包括 Nano。唯一的限制是您的积分余额。
Cloudflare 工具(运维令牌)
| 工具 | 说明 |
|---|---|
validate_cloudflare_token |
验证 Cloudflare API 令牌 |
list_cloudflare_zones |
列出 Cloudflare 令牌可访问的 DNS 区域 |
connect_cloudflare_domains |
将域名连接到 Cloudflare 账户 |
preview_cloudflare_dns |
预览将通过 Cloudflare 应用的 DNS 更改。传递可选的 included_records 允许列表({ domain_id: [record_ids] }),仅预览特定记录 |
apply_cloudflare_dns |
将 DNS 更改应用到 Cloudflare 管理的区域。使用 included_records 只写入所选记录并跳过其余记录(例如现在设置 MX,稍后设置 DKIM);省略它则应用全部更改。使用 confirmed_conflicts 授权替换预览中标为冲突的记录 |
list_cloudflare_tokens |
列出保存的 Cloudflare 令牌 |
delete_cloudflare_token |
删除保存的 Cloudflare 令牌(自托管 stdio 本地控制:需要 TREKMAIL_ALLOW_DESTRUCTIVE) |
Cloudflare 工具适用于 Pro 和 Agency 套餐。
自托管 stdio 的安全控制
自行运行 stdio MCP 服务器时,TREKMAIL_ALLOW_DESTRUCTIVE 控制该本地进程是否允许删除和其他写入操作。仅当您信任智能体能够妥善处理邮箱删除时,才将其设为 true。此设置不会改变托管 TrekMail 中的功能可用性。
即使启用了破坏性操作,删除仍始终需要两个步骤,而且智能体必须明确设置 confirm: true。详情请参阅 安全屏障与删除意图。
发送安全屏障
send_message 和 schedule_message 工具有两个独立的安全屏障,二者都必须通过:
- **环境屏障:**启动 MCP 服务器时必须设置
TREKMAIL_ALLOW_SENDING=true。 - **每次调用屏障:**智能体必须在每次调用中传递
confirm_send=true参数。
这种双屏障设计可防止自托管进程意外发送电子邮件。如果智能体只应读取消息,请设置 TREKMAIL_ALLOW_SENDING=false。list_scheduled 无需此控制即可运行;该控制仅适用于创建或发送定时消息。
迁移安全屏障
迁移写入工具(start_migration、retry_migration、delete_migration、delete_bulk_migration、update_bulk_migration_job_password、test_migration_connection、preview_bulk_migration、start_bulk_migration、retry_bulk_migration)具有两个独立的安全屏障:
- **环境屏障:**启动 MCP 服务器时必须设置
TREKMAIL_ALLOW_MIGRATION=true。 - **每次调用屏障:**每个工具都需要自己的确认参数(
confirm_start=true、confirm_retry=true或confirm_delete=true)。
无论自托管环境控制如何,cancel_migration、cancel_bulk_migration 和 resume_bulk_migration 始终可用,因为它们属于安全或恢复操作。它们仍需要每次调用的确认参数。
只读迁移工具(list_migrations、get_migration、list_bulk_migrations、get_bulk_migration)无需任何屏障即可运行。
快速修复
- **智能体无法连接:**请确认
build/index.js路径正确,并且克隆后已运行npm run build。 - **出现 "Missing bearer token" 错误:**请检查是否至少设置了
TREKMAIL_API_TOKEN或TREKMAIL_MESSAGE_TOKEN之一。 - **只读工具可用但写入失败:**您的令牌属于 Starter 套餐。Starter 支持 Drive 写入(完整 Drive 功能)。对于其他写入、邮箱配置、启动迁移或回复工单,请升级到 Pro 或使用控制面板。
- **自托管 stdio 中的删除工具返回错误:**在该 MCP 进程的环境中设置
TREKMAIL_ALLOW_DESTRUCTIVE=true。这适用于删除及其他写入操作,包括消息、文件夹、联系人、日历、身份、模板、已屏蔽发件人和定时消息。 - **自托管 stdio 发送工具返回 "Sending is disabled":**在该 MCP 进程的环境中设置
TREKMAIL_ALLOW_SENDING=true。 - **发送工具返回 "Send not confirmed":**智能体必须传递
confirm_send=true,并在每次调用send_message或schedule_message时这样做。 - **没有出现消息工具:**请确保
TREKMAIL_MESSAGE_TOKEN已设置为有效的tm_msg_令牌。 - **自托管 stdio 迁移写入工具返回错误:**在该 MCP 进程的环境中设置
TREKMAIL_ALLOW_MIGRATION=true。 - **启动迁移时出现 503:**服务器已达到迁移容量。请过几分钟重试。
- **附件下载失败:**附件以 base64 返回。大型附件(最大 25 MB)可能需要几秒钟。
download_all_attachments会返回包含所有附件的 base64 编码 ZIP。 - 更新后草稿消失:
update_draft会删除旧草稿并附加替代草稿,因此草稿会获得新的 UID 标识。后续操作请同时使用响应中的uid和uidvalidity;您传入的那组值已无法标识替代草稿。 - **每封消息的副本都到达了未指定的位置:**该邮箱在“设置 → 个人资料”中设有默认抄送或默认密送。它适用于该邮箱发送的内容,包括通过 API 发送的内容。请在那里清除,或传递
apply_default_recipients: false以便对单封消息停用。 - **找不到日历事件:**事件仅限于特定邮箱。请确认消息令牌是为正确的邮箱签发的。
相关文章
跳转到延续此工作流的邻近指南。