A Model Context Protocol server for Zendesk
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"zendesk": {
"args": [
"--directory",
"/path/to/zendesk-mcp-server",
"run",
"zendesk"
],
"command": "uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
This server provides a comprehensive integration with Zendesk. It offers:
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
knowledge-baseAccess to the whole help center articles
zendesk://knowledge-base
analyze-ticketAnalyze a Zendesk ticket and provide a detailed analysis of the ticket
draft-ticket-responseDraft a response to a Zendesk ticket
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in communication / productivity
Persistent memory using a knowledge graph
Dynamic problem-solving through sequential thought chains
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
MCP Security Weekly
Get CVE alerts and security updates for Zendesk Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol server for Zendesk.
This server provides a comprehensive integration with Zendesk. It offers:

uv venv && uv pip install -e . or uv build in short..env file, refer to .env.example.{
"mcpServers": {
"zendesk": {
"command": "uv",
"args": [
"--directory",
"/path/to/zendesk-mcp-server",
"run",
"zendesk"
]
}
}
}
You can containerize the server if you prefer an isolated runtime:
Copy .env.example to .env and fill in your Zendesk credentials. Keep this file outside version control.
Build the image:
docker build -t zendesk-mcp-server .
Run the server, providing the environment file:
docker run --rm --env-file /path/to/.env zendesk-mcp-server
Add -i when wiring the container to MCP clients over STDIN/STDOUT (Claude Code uses this mode). For daemonized runs, add -d --name zendesk-mcp.
The image installs dependencies from requirements.lock, drops privileges to a non-root user, and expects configuration exclusively via environment variables.
To use the Dockerized server from Claude Code/Desktop, add an entry to Claude Code's settings.json similar to:
{
"mcpServers": {
"zendesk": {
"command": "/usr/local/bin/docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/path/to/zendesk-mcp-server/.env",
"zendesk-mcp-server"
]
}
}
}
Adjust the paths to match your environment. After saving the file, restart Claude for the new MCP server to be detected.
Analyze a Zendesk ticket and provide a detailed analysis of the ticket.
Draft a response to a Zendesk ticket.
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
Retrieve a Zendesk ticket by its ID
ticket_id (integer): The ID of the ticket to retrieveRetrieve all comments for a Zendesk ticket by its ID
ticket_id (integer): The ID of the ticket to get comments forCreate a new comment on an existing Zendesk ticket
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 a new Zendesk ticket
subject (string): Ticket subjectdescription (string): Ticket descriptionrequester_id (integer, optional)assignee_id (integer, option