Skip to main content
Glama

Zammad MCP by usefulapi

Search tickets

zammad_search_tickets
Read-only

Search tickets with Zammad's query syntax. With Elasticsearch on the instance you can use fields, e.g. state.name:open AND group.name:Sales, customer.email:"a@b.com", title:invoice, number:20001; a plain word searches ticket text. Replies carry ids plus names (group, state, priority, owner, customer). GET /api/v1/tickets/search?expand=true.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
queryYesSearch query.
sort_byNoField to sort by, e.g. updated_at or created_at.
order_byNoSort direction (default: relevance).
per_pageNoResults per page, 1-100 (default 25).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuine value with types beyond that: the shape of the reply (ids plus names for group, state, priority, owner, customer) and the underlying expand=true endpoint, which no structured field provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and the query syntax, followed by reply shape, with no filler sentences. It is dense but every sentence contributes; the trailing GET endpoint is the only slightly extraneous fragment.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by describing the reply contents, and it covers how to compose the query and the Elasticsearch prerequisite. Pagination is only covered by the schema's own parameter descriptions, which is acceptable given their coverage, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema's terse 'Search query.' by explaining the query language with concrete examples (state.name:open, customer.email, AND, plain-word text search). That meaningfully enriches the most important parameter; page/sort/order parameters remain schema-only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (tickets) and details the query syntax the tool accepts, so the agent knows exactly what it does. It never names zammad_list_tickets as the alternative, so the distinction from the sibling list tool is left implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It usefully notes that field-syntax queries require Elasticsearch on the instance, which is real usage guidance. However it never says when to prefer this over zammad_list_tickets or when a plain-word search is preferable, so routing between the two search/list siblings is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.