Zammad MCP Server — Configuration

Environment variables, authentication, and access control for the Zammad MCP Server.

Configuration

The server is configured through environment variables (.env file or MCP client env block).

Required

VariableDescription
ZAMMAD_URLBase URL of your Zammad instance, e.g. https://helpdesk.example.com
ZAMMAD_HTTP_TOKENPersonal access token from Zammad Profile → Token Access — see the Quick Start token walkthrough

Authentication alternatives

VariableWhen to use
ZAMMAD_HTTP_TOKENDefault — recommended for MCP and automation
OAuth2 client settingsAs documented in the GitHub DEPLOYMENT guide
Basic authLegacy environments only — prefer tokens

Refer to Zammad API authentication for authoritative token behavior.

Access control

The MCP server enforces permissions before executing tools.

Permission levels

LevelBehavior
DENIEDTool not exposed to the client
READ_ONLYView data only
WRITECreate and update
ADMINIncludes delete operations

Environment variables

# Allow all tool categories (default)
MCP_ALLOWED_CATEGORIES=all

# Restrict to specific categories
MCP_ALLOWED_CATEGORIES=tickets,groups,system

# Deny dangerous tools (recommended for agents)
MCP_DENIED_TOOLS=delete_ticket,delete_user,delete_organization

# Optional: limit to Zammad groups the token can see
MCP_ALLOWED_GROUPS=Support,Sales

Inspect effective policy

Ask your MCP client to call get_allowed_tools — it returns the tools available under the current policy.

Programmatic policies

For embedded or multi-tenant setups, see AccessController and AccessPolicy in the GitHub architecture doc.

Caching

Static Zammad metadata (states, priorities, groups) is cached to reduce API load. Cache behavior is automatic; no configuration required for typical deployments.

Logging

Structured logging via structlog is enabled by default. Set log level through standard environment conventions in your process manager or container orchestrator.