Search tickets
Zammad's own ticket search: free text or attributes such as state.name and customer.lastname.
MCP tool zammad_read → search_tickets
Runs the query as if you typed it in the search bar, so Zammad's advanced search syntax works (for example state.name:open AND customer.lastname:Hill). Returns the tickets your account can see, with number, title, customer, state, priority, group and owner, and next_cursor when there are more. Zammad asks for English state names unless your instance has custom states. Reads nothing but the list; open a ticket with get_ticket.
Parameters
| Name | Type | Description |
|---|---|---|
| query string required | string | What you would type in Zammad's search bar, e.g. 'invoice' or 'state.name:open AND customer.lastname:Hill'. |
| limit integer | integer | How many tickets to return in one call. The rest follow with cursor. |
| cursor string | string | Next page cursor from the previous call. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "zammad_read",
"arguments": {
"operation": "search_tickets",
"arguments": {
"query": "invoice"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"tickets": [
{
"ticket_id": 4821,
"number": "31004821",
"title": "Invoice address change",
"customer": "Dana Hill",
"state": "open",
"priority": "2 normal",
"group": "Billing",
"owner": "Nora Weiss",
"created_at": "2026-10-21T08:12:00.000Z"
}
],
"next_cursor": null
},
"isError": false
}