The Zendesk MCP Server is a Model Context Protocol implementation that integrates with Zendesk support systems. It provides tools to manage tickets, specialized prompts for ticket analysis, and access to Zendesk's Help Center knowledge base, allowing for efficient support request handling.
uv venv && uv pip install -e .
Or use the short command:
uv build
Set up your Zendesk credentials in an .env file. This should contain your Zendesk API keys and authentication information.
Configure the MCP server in Claude desktop by adding the following to your configuration:
{
"mcpServers": {
"zendesk": {
"command": "uv",
"args": [
"--directory",
"/path/to/zendesk-mcp-server",
"run",
"zendesk"
]
}
}
}
For an isolated runtime environment, you can use Docker:
cp .env.example .env
# Edit .env with your Zendesk credentials
docker build -t zendesk-mcp-server .
docker run --rm --env-file /path/to/.env zendesk-mcp-server
Add -i flag when connecting the container to MCP clients over STDIN/STDOUT. For background running, add -d --name zendesk-mcp.
To use the Docker container with Claude, configure your Claude settings:
{
"mcpServers": {
"zendesk": {
"command": "/usr/local/bin/docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/path/to/zendesk-mcp-server/.env",
"zendesk-mcp-server"
]
}
}
}
After saving, restart Claude for the new MCP server to be detected.
Access the entire Zendesk Help Center article database using the URI:
zendesk://knowledge-base
Analyze Zendesk tickets in detail with the analyze-ticket prompt. This provides a comprehensive breakdown of ticket information and context.
Generate professional responses to support tickets with the draft-ticket-response prompt. This helps create appropriate, contextual replies.
Retrieve the latest tickets with pagination:
get_tickets
Parameters:
page (integer, optional): Page number (default: 1)per_page (integer, optional): Tickets per page, max 100 (default: 25)sort_by (string, optional): Field to sort by (created_at, updated_at, priority, status)sort_order (string, optional): Sort order (asc, desc)Retrieve details about a specific ticket:
get_ticket
Parameters:
ticket_id (integer): The ID of the ticket to retrieveFetch all comments for a specific ticket:
get_ticket_comments
Parameters:
ticket_id (integer): The ID of the ticket to get comments forAdd a comment to an existing ticket:
create_ticket_comment
Parameters:
ticket_id (integer): Ticket ID to comment oncomment (string): The comment contentpublic (boolean, optional): Whether comment is public (default: true)Create a new support ticket:
create_ticket
Parameters:
subject (string): Ticket subjectdescription (string): Ticket descriptionrequester_id (integer, optional): User ID of requesterassignee_id (integer, optional): User ID of assigneepriority (string, optional): low, normal, high, urgenttype (string, optional): problem, incident, question, tasktags (array[string], optional): Tags to applycustom_fields (array[object], optional): Any custom fieldsUpdate an existing ticket:
update_ticket
Parameters:
ticket_id (integer): ID of ticket to updatesubject (string, optional): New subjectstatus (string, optional): new, open, pending, on-hold, solved, closedpriority (string, optional): low, normal, high, urgenttype (string, optional): New ticket typeassignee_id (integer, optional): New assigneerequester_id (integer, optional): New requestertags (array[string], optional): Updated tagscustom_fields (array[object], optional): Updated custom fieldsdue_at (string, optional): ISO8601 datetime for due dateTo add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "zendesk" '{"command":"uv","args":["--directory","/path/to/zendesk-mcp-server","run","zendesk"]}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:
{
"mcpServers": {
"zendesk": {
"command": "uv",
"args": [
"--directory",
"/path/to/zendesk-mcp-server",
"run",
"zendesk"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json2. Add this to your configuration file:
{
"mcpServers": {
"zendesk": {
"command": "uv",
"args": [
"--directory",
"/path/to/zendesk-mcp-server",
"run",
"zendesk"
]
}
}
}
3. Restart Claude Desktop for the changes to take effect