Skip to main content
Glama
fredogemilang

stalwart-jmap-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STALWART_URLYesThe base URL of the Stalwart server
STALWART_TOKENYesAPI token for Stalwart

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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