This project is a fork of reminia/zendesk-mcp-server with modifications to support additional features and improvements.
A Model Context Protocol server for Zendesk.
This server provides a comprehensive integration with Zendesk. It offers:
- Tools for retrieving and managing Zendesk tickets and comments
- Tools for managing community posts, comments, and topics
- Specialized prompts for ticket analysis and response drafting
- Full access to the Zendesk Help Center articles as knowledge base
- Install the package:
uv venv && uv pip install -e .- Configure in Claude desktop:
{
"mcpServers": {
"zendesk": {
"command": "uv",
"args": [
"--directory",
"/path/to/zendesk-mcp-server-kon",
"run",
"zendesk"
],
"env": {
"ZENDESK_SUBDOMAIN": "your-zendesk-subdomain",
"ZENDESK_EMAIL": "your-zendesk-email",
"ZENDESK_API_KEY": "your-zendesk-api-key"
}
}
}
}Replace the environment variables with your Zendesk credentials:
ZENDESK_SUBDOMAIN: Your Zendesk subdomain (e.g., if your Zendesk URL iscompany.zendesk.com, usecompany)ZENDESK_EMAIL: Your Zendesk admin email addressZENDESK_API_KEY: Your Zendesk API token
- zendesk://knowledge-base, get access to the whole help center articles.
Analyze a Zendesk ticket and provide a detailed analysis of the ticket.
Draft a response to a Zendesk ticket.
Retrieve a Zendesk ticket by its ID
- Input:
ticket_id(integer): The ID of the ticket to retrieve
Retrieve all comments for a Zendesk ticket by its ID
- Input:
ticket_id(integer): The ID of the ticket to get comments for
Create a new comment on an existing Zendesk ticket
- Input:
ticket_id(integer): The ID of the ticket to comment oncomment(string): The comment text/content to addpublic(boolean, optional): Whether the comment should be public (defaults to true)
Retrieve community posts with optional filtering and sorting
- Input:
filter_by(string, optional): Filter posts by status (planned, not_planned, completed, answered, none)sort_by(string, optional): Sort posts by criteria (created_at, edited_at, updated_at, recent_activity, votes, comments)
Retrieve a community post and all its comments
- Input:
post_id(integer): The ID of the post to retrieve comments for
Create a new comment on a community post
- Input:
post_id(integer): ID of the post to comment onbody(string): Comment contentauthor_id(integer, optional): Comment author ID (only available for Help Center administrators)notify_subscribers(boolean, optional): Whether to notify subscribers (defaults to true)
Update a comment on a community post
- Input:
post_id(integer): ID of the post containing the commentcomment_id(integer): ID of the comment to updatebody(string): Updated comment content
Update a community post
- Input:
post_id(integer): ID of the post to updatetitle(string, optional): Post titledetails(string, optional): Post content (supports p, br, strong tags)topic_id(integer, optional): ID of the topic this post belongs tostatus(string, optional): Post status (planned, not_planned, answered, completed)
Retrieve all community topics
- Returns a list of topics with their details including name, description, follower count, etc.