MCP Directory

Zendesk MCP Server

Lets agents fetch, create and update Zendesk tickets and comments, with Help Center articles as a knowledge base.

Unverified
stdio (local)
API key
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uv venv && uv pip install -e .

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "zendesk-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/zendesk-mcp-server",
        "run",
        "zendesk"
      ]
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • uv installed (server runs via `uv --directory ... run zendesk`)
  • A Zendesk account with an API token (Admin Center → Apps and integrations → APIs), plus your subdomain and agent email
  • A .env file in the repo based on .env.example holding those credentials

About Zendesk MCP Server

This server covers the day-to-day loop of a support inbox rather than the whole Zendesk API surface. get_tickets pages through recent tickets with sort controls (created_at, updated_at, priority, status), get_ticket and get_ticket_comments pull a full thread, and the write side handles the three things agents actually do: comment (public or internal via the public flag), create tickets with priority/type/tags/custom fields, and update status, assignee, priority or due dates.

The knowledge-base resource is the differentiator. zendesk://knowledge-base loads your Help Center articles as MCP context, which means the bundled draft-ticket-response prompt can ground replies in your actual documentation instead of hallucinating policy. analyze-ticket does the same for triage — the model reads the real thread before opining.

Setup is clone-and-configure: uv venv && uv pip install -e . (or uv build), copy .env.example to .env with your Zendesk subdomain, email and API token, then point your MCP client at uv --directory /path/to/zendesk-mcp-server run zendesk. The Dockerfile is production-minded — installs from requirements.lock, drops to a non-root user, takes config exclusively from env vars — and the README shows the corresponding docker-run config block for Claude with --env-file.

Scope limits to be aware of: there's no ticket-search tool (you page through recent tickets or fetch by ID), and no user/organization management — it's tickets, comments and the knowledge base. Apache 2.0, ~106 stars, and small enough to read in one sitting if you need to extend it.

Tools & capabilities (6)

get_tickets

List recent tickets with pagination and sorting (created_at, updated_at, priority, status)

get_ticket

Retrieve a ticket by ID

get_ticket_comments

Retrieve all comments on a ticket

create_ticket_comment

Add a comment to a ticket, public or internal

create_ticket

Create a ticket with subject, description, priority, type, tags and custom fields

update_ticket

Update ticket fields: status, priority, type, assignee, tags, due date

When to use it

  • Morning triage: list overnight tickets sorted by priority and get an analysis of each before assigning
  • Draft grounded replies: use the draft-ticket-response prompt with the Help Center knowledge base as context
  • Bulk hygiene: close stale solved tickets or retag a batch by updating status and tags conversationally
  • Escalation summaries: pull a full comment thread and produce a handoff summary for engineering

Quick setup

  1. 1Clone the repo and build: `uv venv && uv pip install -e .`
  2. 2Copy .env.example to .env and fill in your Zendesk subdomain, email and API token
  3. 3Add the config block to Claude Desktop: command `uv`, args `["--directory", "/path/to/zendesk-mcp-server", "run", "zendesk"]`
  4. 4Restart Claude; optionally use the Docker path instead (`docker build -t zendesk-mcp-server .` and a docker-run config with --env-file)
  5. 5Test with 'list my latest Zendesk tickets' before trying comment or update tools

Security notes

Zendesk credentials (subdomain, email, API token) live in a .env file inside the repo — keep it out of version control; the Docker setup reads the same file via --env-file. The server can post public comments and change ticket status on real customer threads, so review agent output before it goes customer-facing.

Zendesk MCP Server FAQ

Is zendesk-mcp-server safe to point at a production Zendesk?

Reasonably, with one rule: it can post public comments and change ticket status, so keep a human review step before customer-facing writes. Credentials stay in a local .env (never sent anywhere but Zendesk's API), the Docker image runs non-root, and it's Apache 2.0 open source you can audit in an afternoon.

Can it search tickets or access the Help Center?

No search tool — you list recent tickets (with sort and pagination) or fetch by ID. The Help Center is fully available though: the zendesk://knowledge-base resource exposes all articles as context, which the draft-ticket-response prompt uses to ground replies in your real docs.

What credentials does it need?

Three values in .env: your Zendesk subdomain, agent email, and an API token generated in Admin Center. It authenticates to the standard Zendesk API — no OAuth app registration and no PyPI package; you clone the repo and run it with uv.

Alternatives to Zendesk MCP Server

Compare all alternatives →

Connect your personal WhatsApp: search, read and send messages and media locally

Verified
stdio (local)
No auth
Python
12 tools
Updated 1 month agoRepo

Lets agents read LinkedIn profiles, companies, jobs and messages through your own logged-in browser session.

Unverified
stdio (local)
No auth
Python
17 tools
Updated 1 day agoRepo

Powerful Slack MCP with stdio/SSE/HTTP, DMs, group DMs and no-admin token auth

Verified
stdio (local)
API key
Go
12 tools
Updated 1 month agoRepo