by reminia
A Model Context Protocol server for Zendesk
# Add to your Claude Code skills
git clone https://github.com/reminia/zendesk-mcp-serverGuides for using mcp servers skills like zendesk-mcp-server.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T17:02:15.052Z",
"npmAuditRan": true,
"pipAuditRan": true
}zendesk-mcp-server is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by reminia. A Model Context Protocol server for Zendesk. It has 108 GitHub stars.
Yes. zendesk-mcp-server passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/reminia/zendesk-mcp-server" and add it to your Claude Code skills directory (see the Installation section above).
zendesk-mcp-server is primarily written in Python. It is open-source under reminia on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh zendesk-mcp-server against similar tools.
No comments yet. Be the first to share your thoughts!
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, optional)priority (string, optional): one of low, normal, high, urgenttype (string, optional): one of problem, incident, question, tasktags (array[string], optional)custom_fields (array[object], optional)Update fields on an existing Zendesk ticket (e.g., status, priority, assignee)
ticket_id (integer): The ID of the ticket to updatesubject (string, optional)status (string, optional): one of new, open, pending, on-hold, solved, closedpriority (string, optional): one of low, normal, high, urgenttype (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