什么是 JMAP Email?
通过JMAP管理邮箱,支持mailboxes、messages、identities及Sieve scripts。
README
jmap-mcp
MCP server exposing JMAP email and Sieve script operations as tools.
Built with the Go MCP SDK (go-sdk) and go-jmap library.
Tools
Tools map closely to JMAP methods. Email mutation tools provide structured convenience wrappers over Email/set patches.
Mailbox (RFC 8621)
| Tool | JMAP Method | Description |
|---|---|---|
mailbox_get | Mailbox/get | Get mailboxes by ID, or list all |
mailbox_set | Mailbox/set | Create, update, or destroy mailboxes |
Email (RFC 8621)
| Tool | JMAP Method | Description |
|---|---|---|
email_query | Email/query | Search emails with filters, returns IDs and total count |
email_get | Email/get | Get full content of emails by ID |
email_create | Email/set | Create a new email draft in the Drafts mailbox |
email_move | Email/set | Move emails to a different mailbox |
email_flag | Email/set | Set or remove flags (seen, flagged, answered, draft) |
email_delete | Email/set | Delete emails (move to Trash or permanently destroy) |
Identity
| Tool | JMAP Method | Description |
|---|---|---|
identity_get | Identity/get | List sender identities (email addresses) |
Submission (feature-gated)
| Tool | JMAP Method | Description |
|---|---|---|
email_submission_set | EmailSubmission/set | Submit a draft for delivery (requires -enable-send) |
Sieve Scripts (RFC 9661, feature-gated)
| Tool | JMAP Method | Description |
|---|---|---|
sieve_get | SieveScript/get | List all scripts, or get one with full content (requires -enable-sieve) |
sieve_set | SieveScript/set | Create, update, or destroy Sieve scripts (requires -enable-sieve) |
sieve_validate | SieveScript/validate | Validate a Sieve script without saving (requires -enable-sieve) |
Configuration
| Env var | Required | Description |
|---|---|---|
JMAP_SESSION_URL | always | JMAP session endpoint (e.g. https://api.fastmail.com/jmap/session) |
JMAP_AUTH_TOKEN | stdio mode | Bearer token for JMAP authentication |
| Flag | Default | Description |
|---|---|---|
-mode | stdio | Server mode: stdio or http |
-listen | :8080 | HTTP listen address (http mode only) |
-enable-send | false | Enable the email_submission_set tool (off by default) |
-enable-sieve | false | Enable Sieve script tools (off by default, requires JMAP server support) |
In HTTP mode, the token can be passed per-request via Authorization: Bearer <token> header or jmap_token query parameter (query parameter takes precedence).
Installation
Kubernetes (Helm)
helm install jmap-mcp oci://ghcr.io/mikluko/helm-charts/jmap-mcp \
--version 0.1.0 \
--set jmap.sessionURL="https://api.fastmail.com/jmap/session"
In HTTP mode, JMAP auth tokens are passed per-request via Authorization: Bearer header or ?jmap_token= query parameter — no static tokens are stored in the cluster.
Binary
go install github.com/mikluko/jmap-mcp@latest
From source
git clone https://github.com/mikluko/jmap-mcp.git
cd jmap-mcp
make install
Usage
# stdio mode (default)
export JMAP_SESSION_URL=https://api.fastmail.com/jmap/session
export JMAP_AUTH_TOKEN=your-token
./jmap-mcp
# HTTP mode
./jmap-mcp -mode http -listen :8080
Build
make build # Build and push container image + Helm chart
make image # Build and push container image with ko
make package # Package and push Helm chart to OCI registry
make test # Run tests
make install # Install binary locally
References
- RFC 8620 — JMAP Core
- RFC 8621 — JMAP Mail
- RFC 9425 — JMAP Sieve Scripts
- MCP Specification
常见问题
JMAP Email 是什么?
通过JMAP管理邮箱,支持mailboxes、messages、identities及Sieve scripts。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
MCP服务构建器
by alirezarezvani
从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。
✎ 帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。