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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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