Zammad MCP Server: Setup, Usage, and What You Can Do with MCP [2026]
Learn how to set up the free Zammad MCP Server for Claude and Cursor — API token, uvx install, and real helpdesk workflows with 30+ MCP tools.
Zammad MCP Server: Setup, Usage, and What You Can Do with MCP
📖 10 minute read • Updated May 20, 2026
If you search for Zammad MCP, you want one thing: connect an AI assistant to your Zammad helpdesk without writing a custom REST integration. The Zammad MCP Server (MIT, open source) does exactly that — it exposes tickets, users, organizations, and groups as Model Context Protocol tools for Claude Desktop, Cursor, and other MCP clients.
This guide covers setup end to end, what you can do in daily use, and where to go deeper. Full reference docs live on our site: Zammad MCP Server documentation.
- GitHub: github.com/Softoft-Orga/zammad-mcp-server
- PyPI:
zammad-mcp-server
What is the Zammad MCP Server?
The server sits between your MCP client (Claude, Cursor, etc.) and the Zammad REST API:
flowchart LR
Client[Claude or Cursor]
MCP[Zammad MCP Server]
API[Zammad REST API]
Client -->|MCP tools| MCP --> API
It ships 30+ typed tools, built-in prompts (ticket summary, customer communication, escalation analysis), resource URIs (zammad://ticket/{id}), and access control so you can deny delete operations for agent workflows.
Unlike Zammad 7 native AI inside the Zammad UI, MCP connects external assistants you already use for coding and automation. Unlike Open Ticket AI Runtime, it does not train custom models — it is a free bridge for immediate experimentation.
Prerequisites
- Python 3.11+ (or
uvxwithout a global install) - A running Zammad instance (self-hosted, cloud, or Docker dev stack)
- A Zammad personal access token
Step 1 — Create a Zammad API token
Open your profile
Click your user icon (bottom-left) → Profile.

Open Token Access
Select Token Access, then click Create.

Name and permissions
- Choose a clear name (e.g.
MCP_Cursor). - Set expiration if your policy requires it.
- Enable scopes you need. For typical agent work, include at least:
- ticket.agent
- user_preferences
Add admin scopes only if you use admin-level MCP tools.

Copy the token once
Zammad shows the secret only once. Copy it, then confirm OK, I’ve copied my token.

Store it as ZAMMAD_HTTP_TOKEN — never commit it to git.
Step 2 — Install the MCP server
Fastest path (recommended):
uvx zammad-mcp-server
Or install permanently:
pip install zammad-mcp-server
# or
uv tool install zammad-mcp-server
Step 3 — Connect Claude or Cursor
Add the server to your MCP config. Example for Cursor and Claude Desktop:
{
"mcpServers": {
"zammad": {
"command": "uvx",
"args": ["zammad-mcp-server"],
"env": {
"ZAMMAD_URL": "https://your-zammad.example.com",
"ZAMMAD_HTTP_TOKEN": "paste_token_here",
"MCP_DENIED_TOOLS": "delete_ticket,delete_user,delete_organization"
}
}
}
}
Restart the client, then verify:
Run
health_checkon Zammad.
Details: Claude & Cursor setup · Configuration
What you can do — usage examples
Once connected, you work in natural language; the assistant calls MCP tools against Zammad. Below are practical patterns teams use on day one.
Ticket operations
| You ask… | What happens |
|---|---|
| ”List my open tickets.” | search_tickets with filters |
| ”Summarize ticket #12345.” | get_ticket + get_ticket_articles or ticket_summary_prompt |
| ”Find tickets about VPN in Support.” | search_tickets with query and group |
| ”Add an internal note to ticket 99.” | create_article (you review before sending) |
| “How many tickets were closed last week?” | get_ticket_stats |
Users and organizations
| You ask… | What happens |
|---|---|
| ”Who is the customer on this ticket?” | get_user / ticket payload |
| ”Search users with email @acme.com” | search_users |
| ”Show organization Acme Corp.” | search_organizations / get_organization |
Safety and governance
| You ask… | What happens |
|---|---|
| ”Which MCP tools are enabled?” | get_allowed_tools |
| ”What Zammad version are we on?” | get_server_info |
Deny delete tools in config so agents cannot remove tickets or users by mistake. See Security.
Built-in MCP prompts
The server includes prompts for structured workflows:
- Ticket summary — compress long threads for handoffs
- Customer communication — draft replies (human approval still required)
- Escalation analysis — overdue / escalation context
Full list: Tools reference
Example session (Cursor)
After setup, a support lead might run:
- “Run health_check.” → confirms API access.
- “Search open tickets in group Support, newest first.” → triage list.
- “Get full thread for ticket 1042 and summarize for escalation.” → summary for a manager.
- “Draft a polite customer reply acknowledging the delay — do not post yet.” → draft only; agent posts manually in Zammad.
The MCP server does not replace your review process for customer-facing messages.
Zammad MCP vs other options
| Approach | Best for |
|---|---|
| Zammad 7 native AI | AI inside Zammad UI (summaries, writing assistant) |
| Zammad MCP Server | Claude, Cursor, custom agents via MCP |
| Open Ticket AI Runtime | Custom-trained routing/classification on-prem |
They complement each other. MCP is the fastest way to try AI on live tickets from the tools you already have open.
Troubleshooting
| Problem | Fix |
|---|---|
| 401 / 403 | Regenerate token; check ticket.agent and role |
| Connection error | ZAMMAD_URL must use https:// and be reachable from your PC |
| Tool missing | Check MCP_DENIED_TOOLS and run get_allowed_tools |
More: Quick Start troubleshooting
Next steps
- Full Zammad MCP Server docs — configuration, deployment, tools
- GitHub repository — issues and contributions
- Custom AI on your ticket data? Open Ticket AI for Zammad — on-prem models and routing beyond generic LLMs
Built by Open Ticket AI. The Zammad MCP Server is free and open source (MIT); support and implementation services are available via softoft.de for DACH teams.
