Skip to main content
Glama
README.md
# Zendesk MCP Server

A Zendesk MCP (Model Context Protocol) server for Kojo. Gives Claude access to support tickets and Help Center articles for trend analysis, knowledge base management, and customer insight research.

## Example usage

- "Fetch all tickets from the past week and provide an analysis of any trends you find"
- "Pull last month's solved tickets and identify the top 5 feature gaps driving support volume"
- "Search our help center for articles about approvals — are there any gaps we should fill?"
- "Draft a new help center article explaining how to set up invoice matching"

## Tools

| Tool             | Description                                                                                                                                    |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `fetch_tickets`  | Search tickets by date range and status. Returns full conversation transcripts. Supports natural language dates ("past month", "past 7 days"). |
| `read_articles`  | Search, list, or get Help Center articles. Includes section discovery for browsing the knowledge base structure.                               |
| `create_article` | Create new Help Center articles (drafts by default).                                                                                           |
| `update_article` | Update article title, body, or draft status.                                                                                                   |

## Setup

### 1. Get a Zendesk API token

1. Log into Zendesk as an admin
2. Go to **Admin Center > Apps and integrations > Zendesk API**
3. Enable **Token Access** if not already enabled
4. Click **Add API token**, give it a name, and copy the token

### 2. Install and build

```bash
git clone <repo-url>
cd zendesk-mcp
npm install
npm run build
```

### 3. Configure Claude Code

Add to your `.mcp.json`:

```json
{
  "mcpServers": {
    "zendesk": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/zendesk-mcp/build/index.js"],
      "env": {
        "ZENDESK_SUBDOMAIN": "your-subdomain",
        "ZENDESK_EMAIL": "your-email@example.com",
        "ZENDESK_API_TOKEN": "your-api-token"
      }
    }
  }
}
```

Replace the `env` values with your own. The subdomain is the part before `.zendesk.com` in your Zendesk URL.

### Optional environment variables

| Variable                              | Description                                                                           |
| ------------------------------------- | ------------------------------------------------------------------------------------- |
| `ZENDESK_DEFAULT_PERMISSION_GROUP_ID` | Default permission group for new articles. If unset, Zendesk assigns its own default. |

## Requirements

- Node.js 18+
- A Zendesk account with API token access
- Claude Code with MCP support

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: fetch_tickets is exclusively for support tickets, while read_articles, create_article, and update_article handle help center articles without overlap. Even though read_articles supports multiple modes, it does not conflict with the write tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (fetch_tickets, read_articles, create_article, update_article). The verbs are action-oriented and clearly indicate the operation, making the naming predictable and easy to navigate.

Tool Count5/5

With only 4 tools, the set is compact but well-scoped for the two main domains (ticket analysis and article management). Each tool serves a necessary function without redundancy or bloat.

Completeness4/5

The article workflow is nearly complete, with read, create, and update operations, but it lacks delete functionality. Ticket handling only supports fetching, which aligns with the stated trend-analysis purpose but may be limiting for other use cases. Overall, the coverage is solid with minor gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues