README.md
Enables interaction with Zendesk Support for managing tickets and comments.
Zendesk MCP Server for Heroku
A Model Context Protocol (MCP) server for Zendesk Support integration.
Features
- Ticket Management - Get, create, update tickets
- Comments - Add public replies and internal notes
- Filtering - Filter by status, priority, and more
- Heroku Native - Designed for Heroku deployment with MCP process support
Available Tools
| Tool | Description |
|---|---|
get_tickets |
List tickets with filtering and pagination |
get_ticket |
Get ticket details by ID |
get_ticket_comments |
Get all comments on a ticket |
create_ticket |
Create a new support ticket |
create_ticket_comment |
Add a comment to a ticket |
update_ticket |
Update ticket status, priority, etc. |
Deployment
One-Click Deploy
Click the "Deploy to Heroku" button above.
Configure Credentials
heroku config:set ZENDESK_SUBDOMAIN=mycompany
heroku config:set ZENDESK_EMAIL=agent@mycompany.com
heroku config:set ZENDESK_API_TOKEN=your-api-token
Get your API token from Zendesk Admin > Apps and integrations > APIs > Zendesk API.
Register with Heroku AI
heroku addons:attach your-main-app::INFERENCE -a my-zendesk-mcp
Usage
response = client.chat.completions.create(
model=os.getenv("INFERENCE_MODEL_ID"),
messages=[
{"role": "user", "content": "Find all urgent tickets opened today"}
],
extra_body={
"heroku": {
"mcp_servers": ["mcp-zendesk"]
}
}
)
License
MIT
Tools (6)
get_ticketsList tickets with filtering and paginationget_ticketGet ticket details by IDget_ticket_commentsGet all comments on a ticketcreate_ticketCreate a new support ticketcreate_ticket_commentAdd a comment to a ticketupdate_ticketUpdate ticket status, priority, etc.Environment Variables
ZENDESK_SUBDOMAINrequiredYour Zendesk company subdomainZENDESK_EMAILrequiredAgent email address for authenticationZENDESK_API_TOKENrequiredAPI token from Zendesk Admin settingsConfiguration
claude_desktop_config.json
{
"mcpServers": {
"mcp-zendesk": {
"command": "npx",
"args": ["-y", "@dsouza-anush/mcp-zendesk"],
"env": {
"ZENDESK_SUBDOMAIN": "mycompany",
"ZENDESK_EMAIL": "agent@mycompany.com",
"ZENDESK_API_TOKEN": "your-api-token"
}
}
}
}Try it
→Find all urgent tickets opened today
→Show me the latest comments on ticket #1234
→Create a new high priority ticket for 'Login issue' with the description 'User cannot access dashboard'
→Add an internal note to ticket #5678 saying the fix is being deployed
→List all pending tickets assigned to me