# Zammad MCP

> Zammad MCP automates your entire helpdesk workflow, letting you manage tickets, users, and organizational data directly from any AI client. Need to update a user profile or close out an account? You can do it without leaving your current chat window.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** ticket-management, customer-service, user-management, helpdesk, support-automation

## Description

Working with customer service means jumping between multiple tabs—the ticket system, the user directory, the billing portal. This MCP connects Zammad so you can handle all those tasks through natural conversation. Your agent doesn't just read data; it performs actions: creating new tickets and updating associated users or adding tags to an organization record. For example, if a customer calls about a billing issue, your agent can instantly find the user's profile, check their organizational assignment, create a detailed ticket, and even add specific internal tags, all in one go. Because every action is logged and visible through Vinkius AI Analytics, you always know exactly what data flowed and which tools were called, keeping an auditable trail of everything that happens. This means complex workflows—like migrating user accounts or setting up new organizational structures—are managed with total visibility.

## Tools

### add_tag
Applies a specific label to any object within Zammad.

### create_ticket_article
Adds a structured comment or piece of information to an existing ticket thread.

### create_ticket
Generates an entirely new support ticket record in the system.

### create_user
Sets up and generates a brand new user profile in Zammad.

### data_privacy_delete_user
Deletes a user account using the official data privacy procedure, which is safer than direct deletion.

### delete_ticket
Permanently removes an entire support ticket record from Zammad.

### delete_user
Deletes a user account in the system.

### get_group
Pulls all the specific details for one chosen Zammad group.

### get_links
Retrieves related links or associated data points for a given object ID.

### get_me
Displays the current user's own details within Zammad.

### get_organization
Fetches all the detailed information for a specific organizational unit.

### get_shared_draft
Retrieves a shared draft that is ready to be attached to an existing ticket.

### get_ticket_article
Retrieves the content and context for a single article within a ticket thread.

### get_ticket
Fetches the full details and status of one specific support ticket.

### get_user
Pulls all specific details for one chosen Zammad user account.

### list_all_tags
Shows every available tag category in the entire system (Admin function).

### list_calendars
Retrieves a list of all active calendars within Zammad.

### list_checklist_items
Displays the items available for use in checklist templates.

### list_checklist_templates
Gets a list of all pre-built checklist templates used by users.

### list_checklists
Retrieves an overview of the available checklists in Zammad.

### list_groups
Lists every group defined within the system.

### list_mentions
Fetches a list of all mentions made across Zammad objects.

### list_organizations
Retrieves a complete list of all organizational units in the system.

### list_roles
Displays every defined role and its permissions within Zammad.

### list_slas
Lists all Service Level Agreements (SLAs) configured for tickets.

### list_tags_for_object
Shows which tags are applicable to a specific type of object, like a ticket or user.

### list_ticket_articles
Gets all the articles that belong to one specific support ticket.

### list_ticket_priorities
Displays the available priority levels for tickets (e.g., High, Medium).

### list_ticket_states
Lists every possible status a ticket can be in (Open, Closed, Pending).

### list_tickets
Retrieves a list of tickets based on general criteria.

### list_time_accountings
Fetches records showing how much time was spent working on a specific ticket.

### list_users
Gets a complete list of all user accounts registered in Zammad.

### remove_tag
Removes an existing tag from a designated object.

### search_groups
Searches for groups by name or description within Zammad.

### search_organizations
Searches for organizational units by keyword or criteria.

### search_roles
Searches the list of roles to find specific permissions.

### search_tickets
Searches for tickets using keywords, IDs, or status filters.

### search_users
Finds users by name, email, or other identifying details.

### summarize_ticket
Triggers a background process to generate a concise summary of the ticket's conversation history.

### update_ticket
Modifies key details on an existing support ticket, like status or assignment.

### update_user
Changes specific data points for an existing user profile in Zammad.

## Prompt Examples

**Prompt:** 
```
List all active tickets in Zammad.
```

**Response:** 
```
I've retrieved the tickets. You have 3 open tickets, including 'Login Issue' (ID: 101) and 'Billing Inquiry' (ID: 102). Would you like to see the details for any of these?
```

**Prompt:** 
```
Search for a user with the email 'customer@example.com'.
```

**Response:** 
```
Searching... I found one user matching that email: Jane Doe (User ID: 505). She is currently assigned to the 'Premium Customers' organization.
```

**Prompt:** 
```
Get the details for ticket ID 42.
```

**Response:** 
```
Inspecting ticket 42... The subject is 'Server Downtime', created by Mark Smith. The current state is 'open' and it is assigned to the 'Technical Support' group.
```

## Capabilities

### Manage Ticket Lifecycle
Create new issues, fetch details on existing tickets, update status records, and summarize the entire ticket history.

### Administer User Accounts
Find specific users by email or ID, create new user profiles, modify user details, or securely delete accounts following data privacy rules.

### Map Organizational Structure
List and search through groups, organizations, and roles to understand who has access to what parts of the system.

### Audit System Objects
Get details for any object—from a specific ticket article to an entire organization record—to verify context before making changes.

### Apply Metadata Tags
Add or remove tags on tickets and other objects, helping sort data and route issues automatically.

## Use Cases

### Onboarding a New Client
A new client signs up. Instead of manually creating the user, updating their organizational assignment, and logging the initial request, you prompt your agent: 'Create user John Doe in the Acme Corp organization and open a welcome ticket.' The agent handles `create_user`, updates the necessary details using `get_organization` data, and runs `create_ticket`.

### Handling Data Purges
A user requests account deletion. Instead of running a simple delete command that might violate compliance rules, you ask your agent to execute the secure process: 'Delete this user's data per policy.' The agent uses `data_privacy_delete_user` and confirms the action.

### Escalating Complex Issues
A ticket requires more context. You ask your agent to find all related details: 'What are the links, roles, and groups for ticket ID 42?' The agent uses `get_ticket` first, then calls `get_links`, followed by `list_roles` and `get_group` data points.

### Auditing Permissions
An internal audit is required. You ask your agent to list all groups and check their roles: 'List all security groups and show which roles are assigned.' The agent uses `list_groups`, then calls `search_roles` for each one.

## Benefits

- Instead of opening 5 tabs to check a user's profile, ticket history, and group membership, you ask your agent for everything in one prompt. It handles the data retrieval instantly.
- You don't have to manually copy IDs or tags across systems. Your agent manages the full lifecycle—from calling `get_user` to executing `add_tag` on a related ticket.
- The ability to build automations that cross multiple platforms is massive. You can combine this Zammad MCP with, say, an HR system MCP and a billing MCP to fully process an account migration.
- You'll never worry about data integrity or visibility again. Vinkius ensures every tool call produces a cryptographically signed audit trail, so you always know who did what and when.
- If your workflow is complex, the agent handles it cleanly. You can chain calls like `search_users` followed by `create_ticket`, then `update_user`—all in one continuous interaction.

## How It Works

The bottom line is that you manage complex helpdesk operations using simple chat commands instead of clicking through multiple web pages.

1. Connect your Zammad credentials (URL and Personal Access Token) to the Vinkius platform.
2. Select this MCP in your preferred AI client—Claude, Cursor, or any compatible agent.
3. Ask your agent a command like, 'Find user X, create a ticket about their login issue, and tag it as Billing.' The agent executes all steps.

## Frequently Asked Questions

**How do I use `list_tickets` with Zammad?**
You ask your agent to list tickets and can specify criteria like status or date range. It pulls a clean summary, so you don't have to sift through the main dashboard view.

**Can I use `data_privacy_delete_user` instead of just deleting a user?**
Yes. The `data_privacy_delete_user` tool follows Zammad’s recommended protocol for deletion, ensuring that the account is scrubbed correctly and auditable.

**What's the difference between `create_ticket` and `update_ticket`?**
`create_ticket` starts a brand new issue from scratch. Use `update_ticket` when the ticket already exists, but you need to change its status or add more details.

**How does Zammad handle organization data with this MCP?**
You can search for organizations (`search_organizations`) and fetch full details using `get_organization`, letting your agent confirm if a user belongs to the right structure before making any changes.

**What information can I retrieve about a specific user using `get_user`?**
The tool returns comprehensive details, including the user's assigned organization, contact info, and group memberships. This lets your agent pull all necessary context in one call, so you don't have to jump between different sections of Zammad.

**How do I add new notes or updates using `create_ticket_article`?**
You send the article content and target ticket ID to generate a new message thread. This is perfect for adding internal investigation notes or requesting follow-up details without changing the core status of the original request.

**What does `list_roles` allow me to manage within Zammad?**
`list_roles` shows all predefined user roles and their associated permissions. This helps system admins understand who can do what, letting your agent verify if a user has the right access before attempting an action.

**How does `add_tag` help categorize tickets or users?**
You apply specific keywords (tags) to objects like tickets and users for easy filtering. This lets your agent automatically sort incoming requests, ensuring they go straight to the right team without manual effort.

**Can I search for specific users or organizations within Zammad?**
Yes! You can use the `search_users` and `search_organizations` tools to find specific records using search queries directly from your AI agent.

**How do I safely delete a user according to data privacy standards?**
It is recommended to use the `data_privacy_delete_user` tool. This initiates a Data Privacy task in Zammad, which is the preferred method over direct deletion for compliance.

**Can I view my own Zammad profile details?**
Yes, the `get_me` tool allows you to retrieve the profile details of the currently authenticated user associated with your access token.