About JMAP Email
JMAP Email is an MCP server published by mikluko in the Communication category: email management via JMAP — mailboxes, messages, identities, and Sieve scripts.
The repository has 2 stars and 0 forks, with the last commit 3 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/mikluko/jmap-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (2)
mailbox_get`Mailbox/get`
Parameters not published.
mailbox_set`Mailbox/set`
Parameters not published.
Ask AI
Ask AI about JMAP Email
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
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
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.