Skip to main content
Glama
fruggr

Zendesk MCP Server by Fruggr

Search Zendesk Tickets

search_tickets
Read-onlyIdempotent

Search Zendesk tickets by query syntax to triage queues, returning live SLA stage, breach countdown, and total counts without per-ticket fetches.

Instructions

Search tickets using Zendesk query syntax, returning each result with its live SLA state (per-metric stage and breach countdown) when an SLA policy applies. Examples: "status:open assignee:me", "priority:urgent ticket_type:incident". Returns total count, so queue triage like "breaching today" works without a per-ticket fetch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number for offset pagination. Increment it while keeping `per_page` fixed to fetch subsequent pages; page 1 is the first page.
queryYesZendesk ticket search query — field filters like "status:open", "assignee:me", "priority:urgent ticket_type:incident", combined with free text. A "type:ticket" scope is added automatically, so filter the ticket kind with ticket_type: (e.g. ticket_type:incident), never type: (which the API rejects here).
per_pageNoNumber of results per page for offset pagination (1-100). Pair with `page` to walk large result sets; the response header reports the total count and whether more pages remain.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.24.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed3 schema fields changedv2.6.0
    • changedInput schema / properties / page / description
      Previous value: -"Page number"New value: +"1-based page number for offset pagination. Increment it while keeping `per_page` fixed to fetch subsequent pages; page 1 is the first page."
    • changedInput schema / properties / per_page / description
      Previous value: -"Results per page"New value: +"Number of results per page for offset pagination (1-100). Pair with `page` to walk large result sets; the response header reports the total count and whether more pages remain."
    • changedInput schema / properties / query / description
      Previous value: -"Zendesk search query string"New value: +"Zendesk ticket search query — field filters like \"status:open\", \"assignee:me\", \"priority:urgent ticket_type:incident\", combined with free text. A \"type:ticket\" scope is added automatically, so filter the ticket kind with ticket_type: (e.g. ticket_type:incident), never type: (which the API rejects here)."
  3. Changed1 schema field changedv2.3.1
    • addedInput schema / additionalProperties
      Added value: +false
  4. First observedv1.7.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive safety, and the description adds real behavioral value: SLA enrichment on each result and a total count in the response. It doesn't discuss pagination limits, but the schema covers that, so this is above baseline.

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?

Three tight sentences, front-loaded with the core action and SLA behaviour before examples. The parenthetical SLA clause is information-dense but slightly heavy; nothing is wasted.

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

Completeness5/5

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

For a read-only search tool with a fully documented schema, no output schema, and annotations covering the safety profile, the description supplies everything needed: query syntax, the SLA shape of results, and the total-count return.

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

Parameters3/5

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

Schema description coverage is 100%, so the query/page/per_page semantics are already fully documented. The description's examples of valid query syntax are helpful but largely overlap what the schema's query description states, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource (search tickets) plus a distinctive capability: results carry live SLA state per metric. This clearly separates it from list_tickets, get_ticket, and the generic search sibling.

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

Usage Guidelines4/5

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

Gives concrete query examples and a clear use case ('breaching today' queue triage without a per-ticket fetch), which tells the agent when this tool is the efficient path. It never explicitly names exclusions or the alternative sibling (list_tickets), so it stops short of a 5.

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