Replying to the customer and noting something for colleagues are two different tools rather than one tool with a flag, which is the distinction an agent is most likely to get wrong. The handoff tool is the other thing worth noticing: it turns a ticket and its whole conversation into a Markdown issue draft with an empty reproduction section — exactly the shape a bug tracker wants, and the step that usually gets done badly by hand.
A Zendesk server covering an agent's day: tickets searched, listed and read with their conversation and attachments; public replies and internal notes posted; status, assignee, tags and fields updated; views and macros browsed and applied; users, groups and organisations looked up; and time logged. Two prompts ship with it, surfacing as slash commands in clients that support them.
- zendesk_search_tickets by keyword and status, zendesk_get_tickets with pagination and sorting, and zendesk_get_ticket for one ticket's fields.
- zendesk_get_comments returns the whole thread — public replies and internal notes together — with attachment metadata, and zendesk_list_attachments and zendesk_download_attachment pull the files into a local cache directory.
- zendesk_create_ticket and zendesk_update_ticket, the latter touching only the fields you pass, including group, custom status, tags and custom fields.
- Replying is deliberately two tools: zendesk_post_comment is customer-facing, zendesk_post_internal_note is agent-only.
- zendesk_set_ticket_status, zendesk_assign_ticket by an agent's email or 'me', and zendesk_add_tag and zendesk_remove_tag, both idempotent.
- Views and macros: zendesk_list_views, zendesk_get_view for its conditions, zendesk_get_view_tickets for what currently matches, and zendesk_list_macros, zendesk_preview_macro and zendesk_apply_macro.
- Directory lookups: zendesk_search_users, zendesk_get_groups, zendesk_get_group_users, zendesk_get_organization with its custom fields, and zendesk_list_custom_statuses for the IDs an update needs.
- zendesk_get_time_tracking and zendesk_log_time read and add against a ticket's running total.
- zendesk_ticket_to_gitlab_context turns a ticket and its whole conversation into a Markdown issue draft with an empty reproduction section, and zendesk_get_git_zen_links reads linked GitLab issues, merge requests and commits when the Git-Zen app is installed.
- Optionally, Help Center articles exposed as an MCP resource.
Python 3.10 or newer, installed into a virtual environment. A Zendesk OAuth client that an admin creates on your instance with read and write scopes and a localhost callback URL; an interactive setup opens the browser once and stores the token locally. The Git-Zen tool needs that Zendesk app installed, and does nothing without it.
One command plus a key — uvx zendesk-mcp, then supply credentials
