stalwart-jmap-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STALWART_URL | Yes | The base URL of the Stalwart server | |
| STALWART_TOKEN | Yes | API token for Stalwart |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| stalwart_server_infoA | Return Stalwart server info: edition, capabilities, account used. |
| stalwart_list_accountsA | List mail accounts (users) with a compact summary. Args: limit: max rows (default 50) search: optional substring match on account name |
| stalwart_get_accountA | Get full account detail by ID or email address (secrets are masked). Args: account_id: account id (from stalwart_list_accounts) email: full email address, e.g. user@domain.com |
| stalwart_list_domainsB | List mail domains configured in Stalwart. |
| stalwart_list_principalsA | List principals (users/groups/lists/domains/roles/tenants). Uses the standard JMAP principals namespace. Args: principal_type: filter by type — individual, group, list, domain, tenant, role, apiKey, oauthClient, resource, location limit: max rows (default 50) |
| stalwart_list_dkim_signaturesA | List DKIM signing keys with selector + stage. Args: domain_id: optional filter by domain id (from stalwart_list_domains) |
| stalwart_list_queueA | List messages currently in the outgoing mail queue. Shows envelope return-path, per-recipient status/retry info, size and age. For full raw message content use stalwart_get_queue_message. |
| stalwart_get_queue_messageA | Full detail of one queued message, including parsed headers (From/To/Subject/Date) from the raw RFC 5322 message. Args: message_id: queued message id (from stalwart_list_queue) |
| stalwart_list_api_keysB | List Stalwart API keys (tokens are masked). |
| stalwart_create_accountA | Create a new mail account (user). Args: name: local part, e.g. 'alice' (creates alice@domain.com) domain_id: domain id (from stalwart_list_domains) password: initial password for the account description: optional description locale: BCP-47 locale (default id_ID) time_zone: IANA timezone (default Asia/Jakarta) |
| stalwart_delete_accountA | Delete a mail account. Destructive — requires confirm=True. Args: account_id: account id (from stalwart_list_accounts) confirm: must be True to proceed |
| stalwart_set_account_passwordB | Reset an account's password. Args: account_id: account id password: new password (min length enforced by server) |
| stalwart_create_domainA | Add a new mail domain. Args: name: domain name, e.g. example.com |
| stalwart_delete_domainA | Delete a mail domain. Destructive — requires confirm=True. Args: domain_id: domain id (from stalwart_list_domains) confirm: must be True to proceed |
| stalwart_generate_dkimA | Generate a new DKIM signing key for a domain. Args: domain_id: domain id (from stalwart_list_domains) selector: DKIM selector; auto-generated if omitted algorithm: 'rsa' (2048-bit default) or 'ed25519' |
| stalwart_create_api_keyA | Create a new API key (token shown ONCE in response). Note: the ApiKey object has no 'name' field — only description. Args: description: human-readable description (required) permissions: permission list; defaults to server default |
| stalwart_delete_api_keyA | Delete an API key. Destructive — requires confirm=True. Args: api_key_id: key id (from stalwart_list_api_keys) confirm: must be True to proceed |
| stalwart_reload_settingsA | Reload Stalwart server settings (hot reload, no restart). |
| stalwart_reload_tls_certificatesA | Reload TLS certificates without restart. |
| stalwart_queue_pauseA | Pause outbound MTA queue processing. |
| stalwart_queue_resumeA | Resume outbound MTA queue processing. |
| stalwart_invalidate_cachesA | Invalidate server caches. Args: all_caches: True = invalidate all caches, False = negative caches only |
| stalwart_troubleshoot_dmarcA | Run a live DMARC/SPF/DKIM/ARC troubleshoot on a message. Args: mail_from: envelope MAIL FROM remote_ip: connecting IP ehlo_domain: EHLO/HELO domain message: full RFC 5322 message to: optional envelope RCPT TO |
| stalwart_classify_spamA | Run the spam filter on a message and get the score. Args: message: full RFC 5322 message env_from: envelope MAIL FROM (required) remote_ip: connecting IP (default 127.0.0.1; 0.0.0.0 is rejected) ehlo_domain: optional EHLO domain env_rcpt_to: optional envelope recipient list |
| stalwart_list_mailboxesA | List mailboxes (folders) of an account with email counts. Args: account_id: Stalwart account id ('b' = postmaster/admin; akun user lain bisa diakses karena token punya impersonate) |
| stalwart_search_emailsA | Search emails in an account. Args: account_id: account id ('b' = admin; impersonate memungkinkan akun lain) mailbox_role: folder role — inbox, trash, junk, drafts, sent, archive mailbox_id: explicit mailbox id (overrides mailbox_role) text: optional free-text search (from/to/subject/body) limit: max results (default 20) |
| stalwart_get_emailA | Get one email in full: headers, body preview, and raw message. Args: account_id: account id email_id: email id (dari stalwart_search_emails) |
| stalwart_list_identitiesA | List sending identities (From addresses) of an account. |
| stalwart_get_vacation_responseA | Get auto-reply (vacation response) settings of an account. |
| stalwart_list_sieve_scriptsB | List Sieve filter scripts of an account. |
| stalwart_list_objectsA | Generic listing for admin object types. Args: obj_type: one of task, alert, action, role, mailing_list, tenant, certificate, cluster_node, application, webhook, tracer, acme_provider, dns_server, spam_rule, blocked_ip, allowed_ip limit: max rows (default 50) |
| stalwart_reschedule_queue_messageA | Reschedule a queued message's next retry time. Args: message_id: queued message id (from stalwart_list_queue) retry_at: ISO 8601 UTC datetime, e.g. 2026-08-09T12:00:00Z |
| stalwart_delete_queue_messageA | Delete a message from the outgoing queue. Destructive — confirm=True. Args: message_id: queued message id (from stalwart_list_queue) confirm: must be True to proceed |
| stalwart_block_ipA | Block an IP address (spam defense). Args: address: IP or CIDR to block reason: optional reason expires_at: optional ISO 8601 UTC expiry (e.g. 2026-08-10T00:00:00Z) |
| stalwart_unblock_ipA | Remove an IP block. Destructive — confirm=True. Args: ip_id: blocked ip id (from stalwart_list_objects(obj_type='blocked_ip')) confirm: must be True to proceed |
| stalwart_allow_ipA | Allowlist an IP address (bypass spam checks). Args: address: IP or CIDR to allowlist reason: optional reason expires_at: optional ISO 8601 UTC expiry |
| stalwart_unallow_ipA | Remove an IP from the allowlist. Destructive — confirm=True. Args: ip_id: allowed ip id (from stalwart_list_objects(obj_type='allowed_ip')) confirm: must be True to proceed |
| stalwart_create_mailing_listA | Create a mailing list. Args: name: list name, e.g. 'news' (creates news@domain.com) domain_id: domain id (from stalwart_list_domains) description: optional description recipients: optional member email addresses |
| stalwart_delete_mailing_listA | Delete a mailing list. Destructive — confirm=True. Args: list_id: list id (from stalwart_list_objects(obj_type='mailing_list')) confirm: must be True to proceed |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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