michaelrice avatar

Zendesk Mcp

michaelrice/zendesk-mcp

A full-featured Zendesk integration that brings ticket management into Claude's tool loop. Exposes read and write operations over the Zendesk API: search, list, fetch, create and update tickets, post public replies or internal notes, assign agents, set status, manage tags, and apply macros. Also surfaces views, organizations, groups, custom statuses, time tracking, and attachment handling. Includes optional Help Center article resources and Git-Zen integration for reading linked GitLab issues. Ships with two prompts for ticket analysis and response drafting. Useful when you need Claude to triage support queues, draft responses, or sync ticket state with external trackers without leaving your workflow.

GitHub stars
9
tools
16
transport
STDIO
last updated
Oct 8, 2026

Tools

16 tools

Public tool metadata for what this MCP can expose to an agent.

ZENDESK_COUNT_ZENDESK_ORGANIZATIONSCount the number of organizations in Zendesk.

Count the number of organizations in Zendesk.

No parameter schema in public metadata yet.

ZENDESK_CREATE_ZENDESK_ORGANIZATIONTool to create a Zendesk organization. Use when you need to group end users under a shared company profile. Use after confirming the organization name is unique.2 params

Tool to create a Zendesk organization. Use when you need to group end users under a shared company profile. Use after confirming the organization name is unique.

Parameters* required
external_idstring
Optional unique external identifier for this organization. Comparison is case-insensitive; use to sync with external systems.
namestring
Unique organization name. Leading/trailing whitespace is trimmed by Zendesk.
ZENDESK_CREATE_ZENDESK_TICKETCreate a ticket in Zendesk.5 params

Create a ticket in Zendesk.

Parameters* required
descriptionstring
Long-form description / steps to reproduce.
prioritystring
Zendesk priority. Must be one of: 'urgent', 'high', 'normal', 'low'.one of urgent · high · normal · lowdefault: normal
requester_emailstring
Email of the requester. Must accompany `requester_name`.
requester_namestring
Name of the requester. If you supply this, you MUST also supply `requester_email`. Leave both blank to default to the authenticated user.
subjectstring
Short summary of the issue. Keep it concise (e.g. 'Cannot log in').
ZENDESK_CREATE_ZENDESK_USERTool to create a new user in Zendesk. Use when you need to onboard a user with specific details.2 params

Tool to create a new user in Zendesk. Use when you need to onboard a user with specific details.

Parameters* required
skip_verify_emailboolean
If true, do not send a verification email upon creationdefault: false
userobject
User object containing all attributes to create
ZENDESK_DELETE_ZENDESK_ORGANIZATIONDelete an organization in Zendesk.1 params

Delete an organization in Zendesk.

Parameters* required
organization_idstring
ID of the organization to delete
ZENDESK_DELETE_ZENDESK_TICKETDelete a ticket in Zendesk.1 params

Delete a ticket in Zendesk.

Parameters* required
ticket_idinteger
ID of the ticket to delete
ZENDESK_DESTROY_MANY_ORGANIZATIONSTool to bulk delete Zendesk organizations. Use when cleaning up test data or removing obsolete organizations in one call. Returns a job_status payload to track progress.2 params

Tool to bulk delete Zendesk organizations. Use when cleaning up test data or removing obsolete organizations in one call. Returns a job_status payload to track progress.

Parameters* required
external_idsstring
Comma-separated list of Zendesk external organization IDs to delete (max 100). Required if ids is not provided.
idsstring
Comma-separated list of Zendesk organization IDs to delete (max 100). Required if external_ids is not provided.
ZENDESK_GET_ABOUT_MEGet information about the owner account in Zendesk.

Get information about the owner account in Zendesk.

No parameter schema in public metadata yet.

ZENDESK_GET_ALL_ZENDESK_ORGANIZATIONSGet all organizations in Zendesk.

Get all organizations in Zendesk.

No parameter schema in public metadata yet.

ZENDESK_GET_ZENDESK_ORGANIZATIONGet information about a specific organization in Zendesk.1 params

Get information about a specific organization in Zendesk.

Parameters* required
organization_idinteger
Numeric ID of the organization to retrieve (e.g. 123456).
ZENDESK_GET_ZENDESK_TICKET_BY_IDGet ticket details from Zendesk.1 params

Get ticket details from Zendesk.

Parameters* required
ticket_idinteger
ID of the ticket to get details for.
ZENDESK_LIST_ZENDESK_TICKETSList Zendesk tickets with pagination and filtering.5 params

List Zendesk tickets with pagination and filtering.

Parameters* required
external_idstring
Filter tickets by external ID
pageinteger
Page number for offset pagination (starts at 1)
per_pageinteger
Number of tickets per page (max 100)
sort_bystring
Field to sort by: 'assignee', 'assignee.name', 'created_at', 'group', 'id', 'requester', 'requester.name', 'status', 'subject', 'updated_at'
sort_orderstring
Sort order: 'asc' or 'desc'one of asc · desc
ZENDESK_REPLY_ZENDESK_TICKETAction to reply to a Zendesk ticket by adding a comment.3 params

Action to reply to a Zendesk ticket by adding a comment.

Parameters* required
bodystring
Comment contentdefault:
publicboolean
Whether the comment is public or internaldefault: true
ticket_idinteger
ID of the ticket to reply to
ZENDESK_SEARCH_ZENDESK_USERSTool to search Zendesk users by email or name. Use after confirming user identity before ticket creation.4 params

Tool to search Zendesk users by email or name. Use after confirming user identity before ticket creation.

Parameters* required
emailstring
Email address to search for. Exact match (e.g., 'jdoe@example.com').
namestring
Full or partial name to search for. For phrase searches, enclose in quotes.
pageinteger
Page number for offset pagination (starts at 1).
per_pageinteger
Number of users per page (max 100).
ZENDESK_UPDATE_ZENDESK_ORGANIZATIONUpdate an organization in Zendesk.2 params

Update an organization in Zendesk.

Parameters* required
dataobject
New data for the organization
organization_idinteger
ID of the organization to update
ZENDESK_UPDATE_ZENDESK_TICKETTool to update a ticket in Zendesk. Use when you need to modify ticket fields like status, priority, or subject after confirming the ticket ID.21 params

Tool to update a ticket in Zendesk. Use when you need to modify ticket fields like status, priority, or subject after confirming the ticket ID.

Parameters* required
additional_collaboratorsarray
Add collaborators without removing existing ones.
collaborator_idsarray
Collaborator user IDs to set (replaces existing).
collaboratorsarray
Collaborators to set (replaces existing). Accepts user IDs, emails, or {name, email} objects.
comment_author_idinteger
Author ID for the comment, if different from the authenticated user.
comment_bodystring
Text body of the comment to add.
comment_html_bodystring
HTML body of the comment to add.
comment_publicboolean
Whether the added comment is public (visible to requester) or internal.
comment_uploadsarray
Upload tokens to attach files to the comment.
custom_fieldsarray
List of custom field values. Each item: {id: number, value: any}.
dataobject
Optional raw ticket update object. Provide this to send fields under the 'ticket' wrapper directly. Alternatively, use the un-nested fields above.
due_atstring
Due date/time for task-type tickets (ISO 8601).
email_ccsarray
Email CCs to add/remove. Each object includes user_id or user_email, optional user_name, and action ('put'|'delete').
followersarray
Followers to add/remove. Each object should include user_id or user_email, with optional action ('put'|'delete').
metadataobject
Custom metadata to attach to this update's audit (approximately up to 1 KB).
prioritystring
Ticket priority. Allowed values: urgent, high, normal, low.one of urgent · high · normal · low
safe_updateboolean
Enable optimistic locking to prevent overwrites during collisions.
statusstring
Ticket status to set. If your account uses custom statuses, use custom_status_id via other endpoints.
subjectstring
Ticket subject/title to set during update.
tagsarray
Tags to set on the ticket. Using tags here replaces all existing tags.
ticket_idinteger
ID of the ticket to update.

+1 more parameters. See the server's own documentation for the full schema.

Sponsors

Readme

zendesk-mcp

A Model Context Protocol server that exposes Zendesk ticket read and write tools to Claude Code and other MCP clients.

What it does

  • Search, list (paginated), and fetch Zendesk tickets, comments, and attachments
  • Create new tickets and update existing ticket fields (including group, custom status, and tags)
  • Post public replies and internal notes
  • Set ticket status and assign tickets to agents
  • Browse and apply views and macros
  • Look up users, groups, organizations, and custom statuses
  • Read and write time-tracking entries
  • Format a ticket as a Markdown issue draft for handoff to a tracker (GitLab, GitHub, Jira)
  • Two MCP prompts (analyze-ticket, draft-ticket-response) for ticket analysis and response drafting
  • (Optional) Expose Zendesk Help Center articles as an MCP resource
  • (Optional) Read linked GitLab issues / MRs / commits via the Git-Zen Zendesk app

Prerequisites


View the full README on GitHub

Details

Repository
github.com/michaelrice/zendesk-mcp
Package
zendesk-mcp
Transport
STDIO
Registry
MCP registry, active