Zendesk MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZENDESK_EMAIL | Yes | The email of the Zendesk user the API token belongs to. | |
| ZENDESK_API_TOKEN | Yes | A Zendesk API token. | |
| ZENDESK_READ_ONLY | No | `true` hides every tool that changes Zendesk data. | false |
| ZENDESK_SUBDOMAIN | Yes | Your Zendesk subdomain, the part before `.zendesk.com`. | |
| ZENDESK_EXPORT_DIR | No | The folder `export_tickets` writes to. | ~/Zendesk exports |
| ZENDESK_ALLOW_ADMIN_ROLE | No | `true` lets `create_user` and `update_user` grant the `admin` role. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_ticketsC | List tickets in Zendesk |
| get_ticketA | Get a specific ticket by ID |
| get_ticket_commentsA | Get the conversation on a ticket: every public reply and internal note, oldest first, as plain text with author names |
| create_ticketB | Create a new ticket |
| update_ticketB | Update an existing ticket |
| delete_ticketB | Delete a ticket |
| list_usersC | List users in Zendesk |
| get_userA | Get a specific user by ID |
| create_userC | Create a new user |
| update_userC | Update an existing user |
| delete_userC | Delete a user |
| list_organizationsB | List organizations in Zendesk |
| get_organizationA | Get a specific organization by ID |
| create_organizationC | Create a new organization |
| update_organizationB | Update an existing organization |
| delete_organizationC | Delete an organization |
| list_groupsA | List agent groups in Zendesk |
| get_groupA | Get a specific group by ID |
| create_groupC | Create a new agent group |
| update_groupC | Update an existing group |
| delete_groupB | Delete a group |
| list_macrosC | List macros in Zendesk |
| get_macroA | Get a specific macro by ID |
| create_macroC | Create a new macro |
| update_macroC | Update an existing macro |
| delete_macroC | Delete a macro |
| list_viewsA | List views in Zendesk |
| get_viewA | Get a specific view by ID |
| create_viewC | Create a new view |
| update_viewC | Update an existing view |
| delete_viewB | Delete a view |
| list_triggersC | List triggers in Zendesk |
| get_triggerA | Get a specific trigger by ID |
| create_triggerC | Create a new trigger |
| update_triggerC | Update an existing trigger |
| delete_triggerB | Delete a trigger |
| list_automationsA | List automations in Zendesk |
| get_automationA | Get a specific automation by ID |
| create_automationC | Create a new automation |
| update_automationC | Update an existing automation |
| delete_automationC | Delete an automation |
| searchC | Search across Zendesk data |
| list_articlesC | List Help Center articles |
| get_articleA | Get a specific Help Center article by ID |
| search_articlesA | Search Help Center articles by keyword, or list the articles in a category, section or label. Returns titles, links and matching snippets; use get_article for an article's full text |
| get_help_center_structureA | Get the Help Center's categories, sections and subsections as a tree, with article counts and last-updated dates per section, to see which areas are thin or stale |
| create_articleB | Create a new Help Center article |
| update_articleC | Update an existing Help Center article |
| delete_articleB | Delete a Help Center article |
| support_infoB | Get information about Zendesk Support configuration |
| get_talk_statsC | Get Zendesk Talk statistics |
| list_chatsA | List chat and messaging conversations (the tickets Zendesk creates for them), newest first |
| export_ticketsA | Export every ticket matching a Zendesk search to a JSON Lines file in the export folder, one ticket per line, for analyzing more tickets than fit in a conversation. Large exports take several calls: while done is false, call again with only the returned resume value. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 53 tools
Each tool targets a distinct resource-action pair (e.g., delete_ticket vs. get_ticket vs. list_tickets), and even similar tools like search and search_articles have clearly separated purposes. The grouping by entity (tickets, users, groups, etc.) ensures no ambiguity.
The vast majority follow the verb_noun pattern (list_tickets, create_user, delete_organization). A few exceptions exist, such as support_info and search, which are less consistent, but these are minor deviations in an otherwise uniform naming scheme.
With 53 tools, the count far exceeds the 25+ threshold that indicates a heavy toolset. While the scope (full Zendesk Support and Help Center) justifies many operations, the sheer number risks overwhelming an agent and makes tool selection less efficient.
The server provides full CRUD coverage for tickets, users, organizations, groups, macros, views, triggers, automations, and help center articles, plus search, export, statistics, and chat listing. This appears to cover all major Zendesk domains without obvious dead ends.