Zendesk MCP Server
Zendesk MCP servers enable AI models to interact with Zendesk customer support platforms, providing capabilities for ticket management, customer communication, knowledge base operations, and help desk automation.
Overview
The MCP Zendesk Server enables AI models to interact with Zendesk, a leading customer service and support platform. Zendesk is used by thousands of organizations worldwide for ticket management, customer communication, and help desk operations.
Official Server:
Developed and maintained by Anthropic
Key Features
Ticket Management
Create, update, search, and manage support tickets programmatically
User & Organization Management
Access and manage customer profiles, organizations, and contact information
Comments & Communication
Add internal notes and public replies to support conversations
Search & Analytics
Query tickets and users with advanced filtering and sorting
Available Tools
Quick Reference
| Tool | Purpose | Category |
|---|---|---|
zendesk_list_tickets | List and filter tickets | Read |
zendesk_get_ticket | Get ticket details | Read |
zendesk_create_ticket | Create new support ticket | Write |
zendesk_update_ticket | Update ticket properties | Write |
zendesk_add_comment | Add ticket comment/reply | Write |
zendesk_search_users | Search for users | Read |
zendesk_get_user | Get user details | Read |
Detailed Usage
zendesk_list_tickets▶
List tickets with optional filtering and sorting.
// List recent tickets
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_list_tickets",
arguments: {
sort_by: "created_at",
sort_order: "desc",
per_page: 25
}
});
// Filter by status
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_list_tickets",
arguments: {
status: "open",
priority: "high"
}
});
Returns paginated list of tickets with metadata.
zendesk_get_ticket▶
Retrieve full details of a specific ticket including all comments.
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_get_ticket",
arguments: {
ticket_id: 12345
}
});
Returns complete ticket data including custom fields and comments.
zendesk_create_ticket▶
Create a new support ticket with subject, description, and properties.
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_create_ticket",
arguments: {
subject: "Unable to login to account",
description: "User reports login issues after password reset.",
requester: {
name: "John Doe",
email: "[email protected]"
},
priority: "high",
status: "open",
tags: ["login", "password", "urgent"]
}
});
Creates ticket and returns ticket ID and details.
zendesk_update_ticket▶
Update ticket status, priority, assignee, or other properties.
// Update ticket status
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_update_ticket",
arguments: {
ticket_id: 12345,
status: "solved",
priority: "normal"
}
});
// Assign to agent
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_update_ticket",
arguments: {
ticket_id: 12345,
assignee_id: 987654321
}
});
Updates specified fields while preserving others.
zendesk_add_comment▶
Add a comment or reply to a ticket (public or internal).
// Add public reply
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_add_comment",
arguments: {
ticket_id: 12345,
body: "Thank you for contacting us. I've reset your password.",
public: true
}
});
// Add internal note
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_add_comment",
arguments: {
ticket_id: 12345,
body: "Contacted user via phone to resolve issue.",
public: false
}
});
Public comments are visible to customers, internal notes are agent-only.
zendesk_search_users▶
Search for users by name, email, or other attributes.
// Search by email
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_search_users",
arguments: {
query: "email:[email protected]"
}
});
// Search by name
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_search_users",
arguments: {
query: "name:John Doe"
}
});
Returns matching user profiles with contact details.
zendesk_get_user▶
Get detailed information about a specific user.
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_get_user",
arguments: {
user_id: 123456789
}
});
Returns full user profile including custom fields and organization.
Installation
{
"mcpServers": {
"zendesk": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-zendesk"
],
"env": {
"ZENDESK_SUBDOMAIN": "your-subdomain",
"ZENDESK_EMAIL": "[email protected]",
"ZENDESK_API_TOKEN": "your-api-token"
}
}
}
}
API Token Required:
You need to generate an API token from Zendesk Admin → Channels → API settings.
Setup Guide
1. Generate Zendesk API Token
- Log in to your Zendesk account as an administrator
- Go to Admin → Channels → API
- Enable Token Access if not already enabled
- Click Add API Token
- Enter a description (e.g., "MCP Integration")
- Copy the generated API token (you won't see it again!)
2. Get Your Subdomain
Your Zendesk subdomain is the first part of your Zendesk URL:
- URL:
https://your-company.zendesk.com - Subdomain:
your-company
3. Configure MCP Server
Add your credentials to the MCP configuration:
ZENDESK_SUBDOMAIN: Your Zendesk subdomainZENDESK_EMAIL: Your Zendesk admin emailZENDESK_API_TOKEN: The API token from step 1
Security Best Practice:
Store API tokens securely using environment variables or secret management tools, never commit them to version control.
Common Use Cases
1. Automated Ticket Creation
Create support tickets from various sources:
// Create ticket from form submission
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_create_ticket",
arguments: {
subject: formData.subject,
description: formData.message,
requester: {
name: formData.name,
email: formData.email
},
priority: "normal",
tags: ["website", "contact-form"]
}
});
2. Ticket Triage & Assignment
Automatically categorize and assign tickets:
// Update ticket based on keywords
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_update_ticket",
arguments: {
ticket_id: 12345,
priority: "urgent",
tags: ["billing", "payment-issue"],
assignee_id: billingTeamId,
status: "open"
}
});
3. Customer Support Automation
Add automated responses and updates:
// Add automated acknowledgment
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_add_comment",
arguments: {
ticket_id: 12345,
body: "Thank you for contacting support. We've received your request and will respond within 24 hours.",
public: true
}
});
4. Reporting & Analytics
Query tickets for insights:
// Get all open high-priority tickets
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_list_tickets",
arguments: {
status: "open",
priority: "high",
sort_by: "created_at",
sort_order: "asc"
}
});
5. Customer Lookup
Find customer information quickly:
// Search for customer by email
use_mcp_tool({
server_name: "zendesk",
tool_name: "zendesk_search_users",
arguments: {
query: "email:[email protected]"
}
});
Ticket Properties
Status Values
new- Newly created ticketopen- Ticket is open and being worked onpending- Waiting for customer responsehold- On hold (requires additional configuration)solved- Ticket has been resolvedclosed- Ticket is closed
Priority Levels
urgent- Critical issue requiring immediate attentionhigh- Important issuenormal- Standard priority (default)low- Low priority issue
Ticket Types
problem- A problem ticketincident- An incident ticketquestion- A question tickettask- A task ticket
Best Practices
1. Use Tags Effectively
Organize tickets with meaningful tags:
tags: ["billing", "subscription", "upgrade"]
2. Leverage Custom Fields
Include custom field data for better organization:
custom_fields: [
{ id: 360000123456, value: "premium_tier" }
]
3. Set Appropriate Priorities
Use priority levels to manage SLAs:
urgent: Security issues, service outageshigh: Major bugs, payment issuesnormal: Feature requests, general questionslow: Minor cosmetic issues
4. Use Internal Notes
Keep internal communication organized:
{
body: "Escalated to engineering team",
public: false // Internal note
}
5. Include Context in Tickets
Provide relevant information upfront:
description: `
User: ${userName}
Account: ${accountId}
Issue: Login failure after password reset
Steps to reproduce: ${steps}
Error message: ${errorMessage}
`
Rate Limits
Zendesk API has rate limits:
- Standard: 200 requests per minute per account
- Enterprise: 400 requests per minute per account
The MCP server handles rate limiting automatically with exponential backoff.
Sources
Related Articles
Google Drive MCP Server
Google Drive MCP servers enable AI models to interact with Google Drive, providing capabilities for file search, content retrieval, and seamless integration with cloud storage.
Sentry MCP Server
Sentry MCP servers enable AI models to interact with Sentry's error monitoring and performance tracking platform, providing capabilities for analyzing errors, tracking performance, and assisting in debugging applications.
ClickUp MCP Server
ClickUp MCP servers enable AI models to interact with ClickUp workspaces, providing capabilities for task management, project tracking, time tracking, and team collaboration workflows.