reminia/zendesk-mcp-server
If you are the rightful owner of zendesk-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol server for Zendesk.
Zendesk MCP Server
A Model Context Protocol server for Zendesk.
This server provides a comprehensive integration with Zendesk. It offers:
- Tools for retrieving and managing Zendesk tickets and comments
- Specialized prompts for ticket analysis and response drafting
- Full access to the Zendesk Help Center articles as knowledge base
Setup
- build:
uv venv && uv pip install -e .
oruv build
in short. - setup zendesk credentials in
.env
file, refer to . - configure in Claude desktop:
{
"mcpServers": {
"zendesk": {
"command": "uv",
"args": [
"--directory",
"/path/to/zendesk-mcp-server",
"run",
"zendesk"
]
}
}
}
Resources
- zendesk://knowledge-base, get access to the whole help center articles.
Prompts
analyze-ticket
Analyze a Zendesk ticket and provide a detailed analysis of the ticket.
draft-ticket-response
Draft a response to a Zendesk ticket.
Tools
get_tickets
Fetch the latest tickets with pagination support
-
Input:
page
(integer, optional): Page number (defaults to 1)per_page
(integer, optional): Number of tickets per page, max 100 (defaults to 25)sort_by
(string, optional): Field to sort by - created_at, updated_at, priority, or status (defaults to created_at)sort_order
(string, optional): Sort order - asc or desc (defaults to desc)
-
Output: Returns a list of tickets with essential fields including id, subject, status, priority, description, timestamps, and assignee information, along with pagination metadata
get_ticket
Retrieve a Zendesk ticket by its ID
- Input:
ticket_id
(integer): The ID of the ticket to retrieve
get_ticket_comments
Retrieve all comments for a Zendesk ticket by its ID
- Input:
ticket_id
(integer): The ID of the ticket to get comments for
create_ticket_comment
Create a new comment on an existing Zendesk ticket
- Input:
ticket_id
(integer): The ID of the ticket to comment oncomment
(string): The comment text/content to addpublic
(boolean, optional): Whether the comment should be public (defaults to true)
create_ticket
Create a new Zendesk ticket
- Input:
subject
(string): Ticket subjectdescription
(string): Ticket descriptionrequester_id
(integer, optional)assignee_id
(integer, optional)priority
(string, optional): one oflow
,normal
,high
,urgent
type
(string, optional): one ofproblem
,incident
,question
,task
tags
(array[string], optional)custom_fields
(array[object], optional)
update_ticket
Update fields on an existing Zendesk ticket (e.g., status, priority, assignee)
- Input:
ticket_id
(integer): The ID of the ticket to updatesubject
(string, optional)status
(string, optional): one ofnew
,open
,pending
,on-hold
,solved
,closed
priority
(string, optional): one oflow
,normal
,high
,urgent
type
(string, optional)assignee_id
(integer, optional)requester_id
(integer, optional)tags
(array[string], optional)custom_fields
(array[object], optional)due_at
(string, optional): ISO8601 datetime