stalwart-jmap-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stalwart-jmap-mcpList all mailboxes and their message counts."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
stalwart-jmap-mcp
Unofficial MCP server for Stalwart Mail Server — talks to the JMAP management API (/jmap, Stalwart v1.0+).
⚠️ Stalwart 0.16+ removed the legacy REST management API in favor of JMAP. Most existing "stalwart MCP" projects target the old REST API and won't work on modern Stalwart. This server uses the
x:-prefixed JMAP management methods directly.
Features (v0.4 — 39 tools, verified live on Stalwart v1.0.0)
Mail surface (v0.4 — standard JMAP mail)
Tool | Description |
| Folders + email counts (inbox/trash/junk/sent/...) |
| Search by mailbox role + free text (from/to/subject/body) |
| Full email: headers, body, raw blob |
| Sending identities (From addresses) |
| Auto-reply settings |
| Sieve filter scripts |
⚠️ Admin token punya permission
impersonate— parameteraccount_idbisa dipakai untuk membaca mailbox user lain. Gunakan dengan hati-hati.
Read (v0.1)
Tool | Description |
| Edition, username, capabilities |
| Mail accounts (users) with email/domain/created |
| Full account detail by id or email (secrets masked) |
| Configured mail domains |
| Users/groups/lists/domains/roles/tenants |
| DKIM keys: selector, stage, algorithm |
| Outgoing mail queue |
| API keys (masked) |
| Generic listing: tasks, alerts, roles, mailing lists, tenants, certificates, cluster nodes, applications, webhooks, tracers, ACME providers, DNS servers, spam rules, blocked/allowed IPs |
Write (v0.2)
Tool | Description |
| Create mail account (user) |
| Delete account (requires confirm) |
| Reset account password |
| Add mail domain |
| Delete domain (requires confirm) |
| Generate DKIM key (RSA 2048 / Ed25519) |
| Create API key (token shown once) |
| Delete API key (requires confirm) |
| Set next retry time of a queued message |
| Delete message from queue (requires confirm) |
| Block / unblock IP (reason enum: rcptToFailure, authFailure, loitering, portScanning, manual, other) |
| Allowlist / remove IP from allowlist |
| Create mailing list (name + domain) |
| Delete mailing list (requires confirm) |
Admin (v0.3)
Tool | Description |
| Hot-reload server settings |
| Reload TLS certificates |
| Pause/resume MTA queue |
| Invalidate (all |
| Live SPF/DKIM/ARC/DMARC troubleshoot |
| Spam score + tags for a message |
Related MCP server: pyfastmail-mcp
Install
# local development
git clone https://github.com/fredogemilang/stalwart-jmap-mcp
cd stalwart-jmap-mcp && uv sync
# or via uvx (PEP 503 index hosted on GitHub Pages)
uvx --extra-index-url https://<user>.github.io/stalwart-jmap-mcp/simple stalwart-jmap-mcpConfigure
export STALWART_URL=https://mail.example.com
export STALWART_TOKEN=API_xxxxGet an API token from the Stalwart web admin (mail.example.com/login) → API keys.
Claude Code
Option A — uvx (install langsung dari GitHub Pages index)
Tambah ke .mcp.json di project root (atau claude mcp add):
{
"mcpServers": {
"stalwart": {
"command": "uvx",
"args": ["--refresh", "--extra-index-url", "https://fredogemilang.github.io/stalwart-jmap-mcp/simple", "stalwart-jmap-mcp"],
"env": {
"STALWART_URL": "https://mail.example.com",
"STALWART_TOKEN": "your-api-key"
}
}
}
}Option B — local development
claude mcp add stalwart --env STALWART_URL=https://mail.example.com \
--env STALWART_TOKEN=API_xxxx -- uv --directory /path/to/stalwart-jmap-mcp \
run stalwart-jmap-mcpDevelopment
uv run python scripts/smoke_test.py # end-to-end test via stdioLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn unofficial MCP server that enables users to manage their Fastmail accounts through natural language interactions. It provides tools to query mailboxes, retrieve email content with advanced filtering, and send messages directly through the Fastmail API.76MIT
- AlicenseAqualityBmaintenanceAn MCP server that provides AI assistants with full access to Fastmail accounts for managing email, contacts, calendars, and file storage. It implements 42 tools across JMAP, CardDAV, CalDAV, and WebDAV protocols to enable comprehensive account interaction through natural language.48MIT
- Flicense-qualityBmaintenanceA minimal MCP server for reading and sending emails via IMAP/SMTP, supporting multiple accounts in a single instance with zero external dependencies.1
- AlicenseAqualityCmaintenanceMCP server for reading, searching, and sending ProtonMail emails via the ProtonMail Bridge.162GPL 3.0
Related MCP Connectors
A basic MCP server to operate on the Postman API.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fredogemilang/stalwart-jmap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server