Skip to main content
Glama
dsouza-anush

Zendesk MCP Server for Heroku

by dsouza-anush
README.md
# Zendesk MCP Server for Heroku

A Model Context Protocol (MCP) server for Zendesk Support integration.

[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/dsouza-anush/mcp-zendesk)

## 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

```bash
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

```bash
heroku addons:attach your-main-app::INFERENCE -a my-zendesk-mcp
```

## Usage

```python
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

Maintenance

ActivityInactive
ResponsivenessNo issues