Zendesk MCP server

Integrates with Zendesk to enable ticket management, comment handling, and Help Center article retrieval for streamlined customer support operations.
Back to servers
Setup instructions
Provider
reminia
Release date
Dec 16, 2024
Language
Python
Stats
34 stars

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.

Installation

Standard Setup

  1. Create a virtual environment and install the package:
uv venv && uv pip install -e .

Or use the short command:

uv build
  1. Set up your Zendesk credentials in an .env file. This should contain your Zendesk API keys and authentication information.

  2. 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"
          ]
      }
  }
}

Docker Installation

For an isolated runtime environment, you can use Docker:

  1. Copy the example environment file and add your credentials:
cp .env.example .env
# Edit .env with your Zendesk credentials
  1. Build the Docker image:
docker build -t zendesk-mcp-server .
  1. Run the server with your environment file:
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.

Claude Desktop Integration with Docker

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.

Available Resources

Knowledge Base

Access the entire Zendesk Help Center article database using the URI:

zendesk://knowledge-base

Specialized Prompts

Ticket Analysis

Analyze Zendesk tickets in detail with the analyze-ticket prompt. This provides a comprehensive breakdown of ticket information and context.

Response Drafting

Generate professional responses to support tickets with the draft-ticket-response prompt. This helps create appropriate, contextual replies.

Tools

Fetching Tickets

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)

Get Single Ticket

Retrieve details about a specific ticket:

get_ticket

Parameters:

  • ticket_id (integer): The ID of the ticket to retrieve

Get Ticket Comments

Fetch all comments for a specific ticket:

get_ticket_comments

Parameters:

  • ticket_id (integer): The ID of the ticket to get comments for

Creating Comments

Add a comment to an existing ticket:

create_ticket_comment

Parameters:

  • ticket_id (integer): Ticket ID to comment on
  • comment (string): The comment content
  • public (boolean, optional): Whether comment is public (default: true)

Creating Tickets

Create a new support ticket:

create_ticket

Parameters:

  • subject (string): Ticket subject
  • description (string): Ticket description
  • requester_id (integer, optional): User ID of requester
  • assignee_id (integer, optional): User ID of assignee
  • priority (string, optional): low, normal, high, urgent
  • type (string, optional): problem, incident, question, task
  • tags (array[string], optional): Tags to apply
  • custom_fields (array[object], optional): Any custom fields

Updating Tickets

Update an existing ticket:

update_ticket

Parameters:

  • ticket_id (integer): ID of ticket to update
  • subject (string, optional): New subject
  • status (string, optional): new, open, pending, on-hold, solved, closed
  • priority (string, optional): low, normal, high, urgent
  • type (string, optional): New ticket type
  • assignee_id (integer, optional): New assignee
  • requester_id (integer, optional): New requester
  • tags (array[string], optional): Updated tags
  • custom_fields (array[object], optional): Updated custom fields
  • due_at (string, optional): ISO8601 datetime for due date

How to install this MCP server

For Claude Code

To 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.

For Cursor

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.

Adding an MCP server to Cursor globally

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"
            ]
        }
    }
}

Adding an MCP server to a project

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.

How to use the MCP server

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.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. 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

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later