zammad-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZAMMAD_URL | Yes | REST base URL, e.g. https://mail.example.com/api/v1/. | |
| ZAMMAD_HTTP_TOKEN | Yes | API token (Profile → Token Access in Zammad). | |
| ZAMMAD_SELF_EMAILS | No | Comma-separated list of own addresses that should never appear in CC. Default: empty (no filtering). | |
| ZAMMAD_BANNED_NAMES | No | Comma-separated list of name patterns the reply body must not contain (typically: your own name, because the signature already supplies it). Default: empty. | |
| ZAMMAD_QUOTE_LOCALE | No | Default locale for the quote-block lead-in. Either 'en' (default) or 'de'. Per-call overridable via the 'quote_locale' tool parameter. | |
| ZAMMAD_REQUIRED_GREETING | No | If set, every reply body must contain this string (case-insensitive). Default: empty. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zammad_create_shared_draft | Create or overwrite the shared draft of a Zammad ticket as a Reply-All email. Auto-detects the most recent customer article and derives to/cc/subject/in_reply_to from it. Renders the agent's signature fresh from Zammad (with placeholder substitution and lazy loading of related objects) and appends the original article as a localised . PUT semantics: any existing draft on the ticket is overwritten. reply_html validation (always on for universal rules, conditional for configured ones): - universal: no top-level , no , no ASCII straight quotes ", no ASCII apostrophe ' inside words - when ZAMMAD_BANNED_NAMES is set: body must not contain any banned name - when ZAMMAD_REQUIRED_GREETING is set: body must contain that greeting |
| zammad_get_ticket_threadA | Fetch a Zammad ticket together with all of its articles in a single call. Combines /tickets/?expand=true and /ticket_articles/by_ticket/ so the model gets ticket meta + full conversation in one round-trip. Use this instead of basher's get_ticket whenever you need the actual article bodies for context (e.g. to write a draft reply). |
| zammad_add_internal_noteA | Add an internal note to a Zammad ticket. Internal notes are visible to agents only and never delivered as email — this tool hard-codes type='note' and internal=true so you cannot accidentally send an email to the customer. If you need to send something to the customer, use zammad_create_shared_draft instead (and let a human send it manually from the Zammad UI). |
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/BM1-de/zammad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server