A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Manage Zendesk tickets, articles, and customer support workflows via AI
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 datetimeManage Cloudflare Workers, KV, R2, and D1 from Claude
Manage Supabase projects, databases, and edge functions from Claude
Browser automation and testing via Playwright integration
Browser workflow automation using LLMs and computer vision with a no-code builder