jmap mcp
MCP服务器将JMAP电子邮件和Sieve脚本操作作为工具公开。
使用Go MCP SDK构建(去sdk )
和 转到jmap 图书馆。
工具
工具与JMAP方法紧密对应。电子邮件变异工具提供结构化的便利包装 Email/set 补丁。
邮箱(RFC 8621)
工具
JMAP方法
说明
mailbox_get
Mailbox/get
按ID获取邮箱,或列出所有邮箱
mailbox_set
Mailbox/set
创建、更新或销毁邮箱
电子邮件(RFC 8621)
工具
JMAP方法
说明
email_query
Email/query
使用过滤器、返回ID和总计数搜索电子邮件
email_get
Email/get
通过ID获取电子邮件的完整内容
email_create
Email/set
在草稿邮箱中创建新的电子邮件草稿
email_move
Email/set
将电子邮件移动到其他邮箱
email_flag
Email/set
设置或删除标记(看到、标记、回答、草稿)
email_delete
Email/set
删除电子邮件(移至垃圾箱或永久销毁)
email_attachment_url
Blob下载
流式传输附件的签名URL将在30秒后过期(仅限HTTP模式)
身份
工具
JMAP方法
说明
identity_get
Identity/get
列出发件人身份(电子邮件地址)
提交(功能门控)
工具
JMAP方法
说明
email_submission_set
EmailSubmission/set
提交草稿以供交付(需要 -enable-send)
筛选脚本(RFC 9661,功能门控)
工具
JMAP方法
说明
sieve_get
SieveScript/get
列出所有脚本,或获取一个包含完整内容的脚本(需要 -enable-sieve)
sieve_set
SieveScript/set
创建、更新或销毁Sieve脚本(需要 -enable-sieve)
sieve_validate
SieveScript/validate
验证Sieve脚本而不保存(需要 -enable-sieve)
配置
Env-var
必填
描述
JMAP_SESSION_URL
始终
JMAP会话端点(例如。 https://api.fastmail.com/jmap/session)
JMAP_AUTH_TOKEN
stdio模式
JMAP身份验证的承载令牌
ATTACHMENT_URL_SECRET
无
秘密密封签名的附件URL;为多副本部署设置(默认值:每个进程随机密钥)
标志
默认值
描述
-mode
stdio
服务器模式: stdio 或 http
-listen
:8080
HTTP侦听地址(仅限HTTP模式)
-enable-send
false
启用 email_submission_set 工具(默认关闭)
-enable-sieve
false
启用Sieve脚本工具(默认情况下关闭,需要JMAP服务器支持)
-external-url
派生
已签名附件链接的外部基础URL;默认值来源于请求(X-Forwarded-Proto/X-Forwarded-Host 意识到)
在HTTP模式下,每个请求都可以通过以下方式传递令牌 Authorization: Bearer <token> 标题或 jmap_token 查询参数(查询参数优先)。
在HTTP模式下, email_attachment_url 返回从提供的链接 /attachments/ 在发布后30秒到期。该链接是一种AES-GCM密封功能:它嵌入了JMAP令牌、帐户和blob ID,因此端点无需任何额外的身份验证即可从JMAP服务器流式传输附件,并且不会在磁盘上存储任何内容。
安装
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"
在HTTP模式下,每个请求通过以下方式传递JMAP身份验证令牌 Authorization: Bearer 标题或 ?jmap_token= 查询参数——集群中不存储静态令牌。
二进制
复制 go install github.com/mikluko/jmap-mcp@latest
来源
复制 git clone https://github.com/mikluko/jmap-mcp.git
cd jmap-mcp
make install
用法
复制 # 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
构建
复制 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
参考文献