README.md•2.53 kB
# Zendesk MCP Server

[](https://opensource.org/licenses/Apache-2.0)
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 .` or `uv build` in short.
- setup zendesk credentials in `.env` file, refer to [.env.example](.env.example).
- configure in Claude desktop:
```json
{
"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 on
- `comment` (string): The comment text/content to add
- `public` (boolean, optional): Whether the comment should be public (defaults to true)