Zammad MCP Server — Agent-Workflows
Praktische MCP-Workflows für Zammad 0.2.0 — Tickets zusammenfassen, Tags, Anhänge, Verknüpfungen und Remote-HTTP.
Agent-Workflows
Version 0.2.0 bringt Composite-Tools und Helpdesk-Workflows, die Tool-Ketten in Claude Desktop und Cursor reduzieren. Diese Seite zeigt Copy-Paste-Prompts und die dahinterliegenden MCP-Tools.
Ticket-Zusammenfassung in einem Aufruf
Statt get_ticket, get_ticket_articles und Tag-Tools einzeln aufzurufen, nutzen Sie summarize_ticket:
Fasse Zammad-Ticket 12345 mit
summarize_ticketzusammen. Zeige den Plaintext-Verlauf, Tags und die letzte Kundennachricht.
Die Antwort enthält:
| Feld | Nutzen für Agenten |
|---|---|
thread_plain | Chronologischer Verlauf ohne HTML |
tags | Aktuelle Ticket-Tags |
last_customer_message | Schneller Kontext für Antwortentwürfe |
last_agent_message | Was das Team bereits geschrieben hat |
article_count | Thread-Länge / Eskalationssignal |
Artikel liefern zusätzlich body_plain, wenn MCP_STRIP_HTML=1 (Standard) bei get_ticket und get_ticket_articles gesetzt ist.
Suchen → Tag setzen → Antworten (≤3 Tool-Aufrufe)
Typische Support-Triage in drei MCP-Schritten:
-
Suchen —
search_ticketsmit Zammad-Syntax:state.name:open AND group.name:Support AND customer.email:jane@example.com -
Taggen —
add_ticket_tagauf der gewählten Ticket-ID (z. B.urgent-review). -
Antworten —
create_articlemit optionalem Anhang (siehe unten).
Beispiel-Prompt für Cursor oder Claude:
Suche offene Support-Tickets für
customer.email:jane@example.com. Am neuesten Ticket Tagneeds-callbacksetzen und interne Notiz, dass wir heute zurückrufen.
Empfohlene Env für diesen Workflow (Schreiben erlaubt, Löschen gesperrt):
MCP_ALLOWED_CATEGORIES=tickets,system
MCP_DENIED_TOOLS=delete_ticket,delete_user,delete_organization,merge_tickets
MCP_ALLOWED_GROUPS=Support
MCP_ALLOWED_GROUPS blockiert Schreibvorgänge an Tickets außerhalb der gelisteten Gruppen.
Anhänge
Anhang lesen
get_ticket_articles(odersummarize_ticket) aufrufen undattachmentspro Artikel lesen (id,filename,size).get_article_attachment(ticket_id, article_id, attachment_id, as_text=True)für Textdateien.
Bei Binärdateien liefert das Tool Base64 in data.
Anhang mit Antwort senden
attachments bei create_article oder create_ticket übergeben:
{
"filename": "screenshot.png",
"data": "<base64>",
"mime_type": "image/png"
}
Der Server mappt mime_type automatisch auf Zammads JSON-Feld mime-type.
Beispiel-Prompt:
Auf Ticket 12345 öffentlich antworten: „Bitte Log im Anhang.“ Datei
error.logals text/plain anhängen.
Tickets verknüpfen und mergen
| Tool | Berechtigung | Einsatz |
|---|---|---|
link_tickets | WRITE | Duplikate verknüpfen (normal, parent, child) |
merge_tickets | ADMIN | Zwei Tickets zu einer sichtbaren ID zusammenführen |
Beispiel:
Ticket 100 als child von Ticket 99 verknüpfen, dann Ticket 99 zusammenfassen.
Merge in Agent-Configs sperren, solange kein Mensch explizit freigibt:
MCP_DENIED_TOOLS=delete_ticket,delete_user,delete_organization,merge_tickets
Eingebaute MCP-Prompts (0.2.0)
Clients mit MCP-Prompt-Unterstützung:
| Prompt | Parameter (Beispiele) | Zweck |
|---|---|---|
analyze_ticket | ticket_id, locale | Strukturierte Historie + SLA-Hinweise |
draft_response | ticket_id, locale | Kunden- oder interne Antwort |
triage_queue | group | Offene Tickets priorisieren |
escalation_summary | group | Überfällige / pending-close Tickets |
Legacy-Prompts aus 0.1.x bleiben: ticket_summary_prompt, customer_communication_prompt, escalation_analysis_prompt.
Remote HTTP MCP (Docker-Standard)
Für LibreChat, Remote-Cursor oder Zammad Commander Streamable HTTP starten:
zammad-mcp-server --transport http --host 0.0.0.0 --port 8000
| Einstellung | Wert |
|---|---|
| Pfad | /mcp/ (Override mit --path) |
| Env-Alternative | MCP_TRANSPORT=http, MCP_SERVER_PORT=8000 |
| Docker-Image | Gleicher Befehl ist Container-Default |
| Health | TCP auf Port 8000 — keine /health-Route |
Legacy SSE:
zammad-mcp-server --transport sse --host 0.0.0.0 --port 8000
Pfad-Default: /sse/. Nur in vertrauenswürdigen Netzen oder hinter TLS.
Read-only Demo-Preset
Sichere Konfiguration für erste Demos:
MCP_DEFAULT_PERMISSION=read_only
MCP_ALLOWED_CATEGORIES=tickets,groups,system
MCP_DENIED_TOOLS=create_ticket,update_ticket,delete_ticket,create_article,merge_tickets
MCP_RATE_LIMIT_PER_MINUTE=60
Prüfen mit: „Rufe get_allowed_tools auf und liste, was ich darf.“
Weiter
- Tools-Referenz — alle Tools
- Konfiguration — Umgebungsvariablen
- Sicherheit — Produktions-Checkliste
- Deployment — Docker und HTTP
