zendesk-mcp-server-custom

getpalete-ai/zendesk-mcp-server-custom

3.2

If you are the rightful owner of zendesk-mcp-server-custom and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Zendesk MCP Server is a robust solution designed to manage and streamline customer support operations by leveraging Zendesk's API capabilities.

Tools
5
Resources
0
Prompts
0

Deployment Guide for Zendesk MCP Server

This guide explains how to deploy the Zendesk MCP Server using virtual environment and load balancing.

Prerequisites

  • Python 3.10 or higher
  • pip (Python package manager)
  • Nginx (for load balancing)
  • Zendesk API credentials (subdomain, email, and API token)

Quick Start

1. Create Virtual Environment

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On Linux/Mac:
source venv/bin/activate
# On Windows:
venv\Scripts\activate

2. Install Dependencies

# Install the package in editable mode
pip install -e .

3. Environment Setup

Create a .env file in the project root with your Zendesk credentials.

The following environment variables are required:

VariableDescriptionExample
ZENDESK_BASE_URLYour Zendesk subdomain URLhttps://mycompany.zendesk.com
ZENDESK_EMAILYour Zendesk email addressadmin@mycompany.com
ZENDESK_API_TOKENYour Zendesk API tokenabc123def456...

Optional deployment configuration:

VariableDescriptionDefault
INSTANCESNumber of MCP server instances3
BASE_PORTStarting port for instances8021
NGINX_PORTNginx load balancer port80
HOSTHost binding address0.0.0.0
# Build and start the service
docker-compose up -d

4. Deploy Load Balanced Setup

# Make deployment script executable
chmod +x deploy_load_balanced.sh

# Deploy with load balancing (default: 3 instances)
./deploy_load_balanced.sh

This will start:

  • Multiple MCP server instances (default: 3) on ports 8021, 8022, 8023
  • Nginx load balancer on port 80 (default)

You can customize the deployment:

# Custom number of instances and ports
INSTANCES=5 BASE_PORT=8021 NGINX_PORT=8080 ./deploy_load_balanced.sh

Monitoring and Management

Check Status

# Check if services are running
./check_load_balanced.sh

This will show:

  • Nginx status
  • MCP instance statuses
  • Port usage
  • Health check results

Stop Services

# Stop all instances and nginx
./stop_load_balanced.sh

Health Check

# Test the health endpoint
curl http://localhost/health

Updates

# Pull latest changes
git pull origin main

# Reinstall package
pip install -e .

# Restart services
./stop_load_balanced.sh
./deploy_load_balanced.sh

Support

Functionalities

This MCP server exposes the following Zendesk operations as tools:

Ticket Management:

  • get_tickets - Retrieve list of recent tickets
  • get_ticket_details / get_tickets_details - Get detailed information for specific ticket(s)
  • create_ticket - Create new support tickets with subject, description, priority, and tags
  • update_ticket - Modify ticket status, priority, tags, and custom fields
  • update_custom_status - Update custom status (Escalade, Pending, Solved, Refund_pending). Present custom status are harcoded and project specific - to be adapted using get_tickets_fields_map )
  • search_tickets - Search tickets using query strings with sorting options
  • get_ticket_comments - Retrieve all comments from a specific ticket
  • add_ticket_comment - Add public or private comments to tickets

User Management:

  • get_user / get_users - Retrieve user details using user id(s)

Configuration:

  • get_tickets_fields_map - Get mapping of available ticket fields and custom fields