zendesk-ops-mcp
Provides operational tooling over the Zendesk Support API for ticket triage, SLA monitoring, agent workload analysis, and system health audits.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zendesk-ops-mcp Triage open tickets — what's missing assignees or priorities?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
zendesk-ops-mcp
An MCP server that provides operational tooling over the Zendesk Support API — ticket triage, SLA monitoring, agent workload analysis, and system health audits. Built for use with Claude Code or Claude Desktop, it gives support ops teams a conversational interface to automate the manual toil of managing Zendesk workflows.
Quick Start
git clone https://github.com/avg-ape/zendesk-ops-mcp.git
cd zendesk-ops-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Configure your Zendesk credentials:
cp .env.example .env
# Edit .env with your subdomain, email, and API tokenYou can get a free Zendesk trial at zendesk.com/register. Enable API tokens in Admin Center > Apps & Integrations > APIs.
Use with Claude Code
Add to your Claude Code MCP config (~/.claude/settings.json):
{
"mcpServers": {
"zendesk-ops": {
"command": "/path/to/zendesk-ops-mcp/.venv/bin/python",
"args": ["-m", "zendesk_ops_mcp.server"],
"env": {
"ZENDESK_SUBDOMAIN": "your-subdomain",
"ZENDESK_EMAIL": "your-email@example.com",
"ZENDESK_API_TOKEN": "your-api-token"
}
}
}
}Then ask Claude things like:
"Triage open tickets — what's missing assignees or priorities?"
"Show me tickets that have gone stale in the last 12 hours"
"What's the CSAT score over the last 30 days, broken down by agent?"
"Audit our macros — are there any duplicates or unused ones?"
"Which agents are overloaded right now?"
Related MCP server: tokenless-zendesk-mcp
Tools
Tool | Description |
| Find tickets missing assignees, groups, or priorities |
| Tickets with no update in N hours, grouped by group/priority |
| Tag tickets matching a search query (dry-run by default) |
| Close old solved/pending tickets (dry-run by default) |
| Tickets breaching or approaching SLA targets |
| Satisfaction scores over a period, by agent |
| First-response and resolution time averages |
| Open tickets per agent with priority breakdown |
| Ticket volume and status breakdown across groups |
| Find unused or duplicate macros |
| Audit active triggers and automations |
Architecture
Zendesk Client (zendesk_client.py): Async HTTP client built on httpx with Basic auth (API token). Handles both offset pagination (next_page) and cursor pagination for search endpoints. Rate limit tracking via X-RateLimit-Remaining headers.
Pydantic Models (models.py): All tool outputs are typed Pydantic models with human-readable __str__ methods. Claude gets structured data to reason about, not raw JSON.
Dual Pagination: Zendesk uses offset pagination for list endpoints (/api/v2/tickets.json) and search-specific pagination. The client handles both transparently via get_all() and search() methods.
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run unit tests
pytest tests/ -v
# Run integration tests (requires Zendesk credentials)
pytest tests/ -v --integrationLicense
MIT
Available Tools
11 toolsagent_workloadA
Open tickets per agent with priority breakdown. Highlights overloaded agents.
Inputs: group_id. Returns: result
bulk_close_ticketsC
Close old solved/pending tickets. Defaults to dry-run mode.
Inputs: status_filter (required), older_than_days (required), comment, dry_run. Returns: result
bulk_tag_ticketsB
Tag tickets matching a Zendesk search query. Defaults to dry-run mode.
Inputs: tags (required), query (required), dry_run. Returns: result
csat_summaryC
Satisfaction scores over a period, broken down by agent.
Inputs: days. Returns: result
group_distributionA
Ticket volume and status breakdown across support groups.
Inputs: no named parameters. Returns: result
macro_auditA
Find unused or duplicate macros that should be cleaned up.
Inputs: no named parameters. Returns: result
response_time_analysisC
Average first-response and resolution times, by priority and group.
Inputs: days. Returns: result
sla_breach_reportC
Find tickets breaching or approaching SLA targets.
Inputs: hours_ahead. Returns: result
stale_ticket_reportB
Find tickets with no update in N hours, grouped by group and priority.
Inputs: hours, priority. Returns: result
ticket_triageB
Find tickets missing assignees, groups, or priorities. Surfaces untriaged work.
Inputs: status. Returns: result
trigger_reviewC
Audit active triggers and automations for issues.
Inputs: include_automations. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool targets a distinct operational concern: agent workload, satisfaction, group distribution, etc. No two tools have overlapping purposes.
All tools use consistent snake_case naming with clear, descriptive verbs and nouns (e.g., agent_workload, csat_summary, bulk_close_tickets).
11 tools is well within the optimal range for a domain-specific server, covering analytics and maintenance without redundancy.
Covers core Zendesk ops needs: workload, satisfaction, SLAs, stale tickets, triage, bulk actions, and audits. Minor gaps like individual ticket search or agent scheduling are acceptable given focus on operations.
Maintenance
Related MCP Connectors
Remote MCP server for managing Muninx tickets, messages, ticket search, and support analytics.
Zendesk MCP Pack — tickets, users, organizations via OAuth.
Official Airtable MCP server — database and operations layer for agents.
Related MCP Servers
- FlicenseDqualityDmaintenanceA comprehensive MCP server for managing Zendesk Support, Talk, Chat, and Guide products, providing tools for tickets, users, organizations, search, and more.4930-
- AlicenseAqualityCmaintenanceMCP server that authenticates via browser session cookies to access Zendesk's REST API without API tokens, supporting reads and writes with agent permissions.1933 npm1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Zendesk support workflows that enables ticket search, lookup, creation, commenting, status updates, and user listing through natural language. It uses OAuth authentication and supports both internal notes and public comments.MIT
- AlicenseNot gradedqualityDmaintenanceComprehensive MCP server providing 89 tools and 13 React UI apps for complete Zendesk Support API integration, enabling ticket, user, organization, and automation management.MIT