zendesk-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zendesk_get_ticketA | Get a Zendesk ticket by ID. Returns ticket fields including status, priority, requester, assignee, tags, and description. |
| zendesk_search_ticketsA | Search Zendesk tickets by keyword and/or status. keywords: free-text search (e.g. 'login failure LDAP'). status: new, open, pending, hold, solved, closed — leave empty for all statuses. Returns id, subject, status, requester, assignee, and dates. |
| zendesk_get_commentsA | Get all comments (public replies and internal notes) for a Zendesk ticket. Includes attachment metadata but does not download files. |
| zendesk_list_attachmentsA | List all attachments across all comments for a Zendesk ticket. Returns filename, content type, size, and download URL for each. Use zendesk_download_attachment to fetch file contents. |
| zendesk_download_attachmentA | Download a Zendesk attachment and return its contents. ticket_id is required to organize the local cache. Obtain attachment_url and filename from zendesk_list_attachments. Archives are unpacked, PDFs are text-extracted, images are base64-encoded. |
| zendesk_ticket_to_gitlab_contextA | Format a Zendesk ticket and its comments as an issue draft. Returns Markdown with ticket metadata, full conversation, and an empty Steps to Reproduce section. Use this output as the description when creating an issue in your tracker. |
| zendesk_post_commentA | Post a public reply on a Zendesk ticket. The reply is visible to the requester. Use for customer-facing responses. |
| zendesk_post_internal_noteA | Post an internal note on a Zendesk ticket. Internal notes are only visible to agents and are not sent to the requester. |
| zendesk_set_ticket_statusB | Set the status of a Zendesk ticket. Valid statuses: new, open, pending, hold, solved, closed. |
| zendesk_assign_ticketA | Assign a Zendesk ticket to an agent by their email address. Pass 'me' as assignee_email to assign the ticket to yourself (the authenticated user). |
| zendesk_update_ticketA | Update one or more fields on a Zendesk ticket. Pass only the fields you want to change. status: new/open/pending/hold/solved/closed. priority: low/normal/high/urgent. type: problem/incident/question/task. assignee_id, requester_id, group_id, custom_status_id are integer IDs. due_at is ISO8601. Returns JSON of the refreshed ticket. |
| zendesk_get_time_trackingA | Get time tracking data for a Zendesk ticket. Returns total time spent and time spent on the last update, in both seconds and human-readable format (e.g. '2h 15m'). |
| zendesk_log_timeA | Log time spent on a Zendesk ticket. Adds seconds to the running total and records it as the last-update time. Returns logged amount and new total in seconds and human-readable format. |
| zendesk_get_git_zen_linksA | Get linked GitLab issues, merge requests, and commits for a Zendesk ticket via the Git-Zen integration. Returns structured lists with state, labels, weight, and direct GitLab links. |
| zendesk_create_ticketA | Create a new Zendesk ticket. subject and description are required. priority: low/normal/high/urgent. type: problem/incident/question/task. requester_id/assignee_id are user IDs (integers). custom_fields is a list of {id, value} dicts. Returns JSON of the created ticket. |
| zendesk_get_ticketsA | List Zendesk tickets with pagination. page: 1-based page number. per_page: max 100. sort_by: created_at, updated_at, priority, or status. sort_order: asc or desc. Returns tickets plus pagination metadata. |
| zendesk_add_tagA | Add a tag to a Zendesk ticket. Idempotent: adding an existing tag returns the current tag list without modifying the ticket. Returns JSON with ticket_id and current tags. |
| zendesk_remove_tagA | Remove a tag from a Zendesk ticket. Idempotent: removing a tag that isn't present returns the current tag list without modifying the ticket. Returns JSON with ticket_id and current tags. |
| zendesk_list_viewsA | List all active Zendesk views. Returns JSON array of {id, title}. |
| zendesk_get_viewA | Get a Zendesk view's definition including filter conditions and execution settings. Returns JSON with id, title, active, conditions, execution. |
| zendesk_get_view_ticketsB | Get the tickets currently matching a Zendesk view. Returns JSON array of tickets with essential fields. |
| zendesk_list_macrosA | List all active Zendesk macros with their actions. Returns JSON array of {id, title, description, actions: [{field, value}]}. |
| zendesk_preview_macroA | Preview the effect a macro would have (without applying it). Returns the result payload from Zendesk's apply preview endpoint. |
| zendesk_apply_macroA | Apply a macro to a Zendesk ticket. Fetches the macro preview, applies field changes, and posts any comment included in the macro. Returns JSON with id, status, tags, applied_changes, comment_added. |
| zendesk_search_usersA | Search Zendesk users by name or email. Returns JSON array of {id, name, email, role}. |
| zendesk_get_groupsA | List all active Zendesk groups (excluding deleted). Returns JSON array of {id, name}. |
| zendesk_get_group_usersB | List the members of a Zendesk group. Returns JSON array of {id, name, email}. |
| zendesk_get_organizationB | Fetch a Zendesk organization including its custom fields and tags. Returns JSON with id, name, organization_fields, tags, created_at, updated_at. |
| zendesk_list_custom_statusesA | List all custom ticket statuses defined in Zendesk. Returns JSON array of {id, agent_label, end_user_label, status_category, active, default}. Use the id when setting custom_status_id on a ticket. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze-ticket | Analyze a Zendesk ticket and provide insights |
| draft-ticket-response | Draft a professional response to a Zendesk ticket |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/michaelrice/zendesk-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server