Customize: Platform-specific README, tools, and docs
This commit is contained in:
parent
548c21a99b
commit
a3609a316c
11
.env.example
11
.env.example
@ -1,2 +1,11 @@
|
||||
# Zendesk API Credentials
|
||||
ZENDESK_API_KEY=your-api-key-here
|
||||
# Get from: Admin Center → Apps and integrations → APIs → Zendesk API → Add API token
|
||||
|
||||
# Your Zendesk subdomain (e.g., "mycompany" for mycompany.zendesk.com)
|
||||
ZENDESK_SUBDOMAIN=mycompany
|
||||
|
||||
# Your Zendesk agent email address
|
||||
ZENDESK_EMAIL=agent@mycompany.com
|
||||
|
||||
# Your API token (not password)
|
||||
ZENDESK_API_TOKEN=your-api-token-here
|
||||
|
||||
134
README.md
134
README.md
@ -8,30 +8,41 @@
|
||||
|
||||
## 💡 What This Unlocks
|
||||
|
||||
**This MCP server gives AI direct access to your entire Zendesk workspace.** Instead of clicking through interfaces, you just *tell* it what you need.
|
||||
**This MCP server gives AI direct access to your Zendesk customer support platform.** Instead of manually triaging tickets, assigning agents, or searching for customer issues, just *tell* AI what you need.
|
||||
|
||||
### 🎯 Zendesk-Native Power Moves
|
||||
### 🎧 Customer Support Power Moves
|
||||
|
||||
The AI can directly control your Zendesk account with natural language:
|
||||
The AI can manage your entire support operation with natural language:
|
||||
|
||||
- **Smart automation** — Complex workflows in plain English
|
||||
- **Data intelligence** — Query, analyze, and export your Zendesk data
|
||||
- **Rapid operations** — Bulk actions that would take hours manually
|
||||
- **Cross-platform integration** — Combine Zendesk with other tools seamlessly
|
||||
| Use Case | What AI Does | Tools Used |
|
||||
|----------|--------------|------------|
|
||||
| **"Show me all urgent tickets that have been open for more than 3 days without agent response"** | Filters tickets by priority, age, and comment history | `search_tickets`, `get_ticket` |
|
||||
| **"Create ticket from customer email: subject 'Billing issue', assign to billing team, priority high"** | Creates ticket with proper routing and escalation | `create_ticket`, `list_users` |
|
||||
| **"Bulk update: mark all tickets tagged 'login-bug' as solved with comment 'Fixed in v2.1'"** | Updates multiple tickets with status change and internal note | `search_tickets`, `update_ticket`, `add_comment` |
|
||||
| **"Generate SLA report: tickets by status, average resolution time, agent workload distribution"** | Aggregates ticket metrics and agent activity for performance analysis | `list_tickets`, `search_tickets`, `list_users` |
|
||||
| **"Find tickets from VIP customers (tag: enterprise) opened in the last 7 days, escalate any still open"** | Searches by customer segment, checks status, updates priority | `search_tickets`, `update_ticket` |
|
||||
|
||||
### 🔗 The Real Power: Combining Tools
|
||||
### 🔗 The Real Power: Support Automation
|
||||
|
||||
AI can chain multiple Zendesk operations together:
|
||||
AI chains Zendesk operations together:
|
||||
|
||||
- Query data → Filter results → Generate reports
|
||||
- Search records → Update fields → Notify team
|
||||
- Analyze metrics → Create tasks → Schedule follow-ups
|
||||
- **Intelligent triage** → Search tickets by keywords → Classify by issue type → Auto-assign to specialists
|
||||
- **Escalation workflows** → Monitor ticket age → Check priority → Update status → Notify management
|
||||
- **Knowledge mining** → Analyze solved tickets → Identify common issues → Flag for documentation
|
||||
|
||||
## 📦 What's Inside
|
||||
|
||||
**102 API tools** covering the entire Zendesk platform (Support & Helpdesk).
|
||||
**7 customer support tools** covering tickets, users, search, and comments:
|
||||
|
||||
All with proper error handling, automatic authentication, and TypeScript types.
|
||||
1. **`list_tickets`** — List tickets with filters for status, priority, or date, with sorting options
|
||||
2. **`get_ticket`** — Get complete ticket details including all comments, tags, and audit history
|
||||
3. **`create_ticket`** — Create new tickets with subject, description, requester info, priority, and assignments
|
||||
4. **`update_ticket`** — Modify ticket properties: status, priority, assignee, tags (add/remove/replace)
|
||||
5. **`add_comment`** — Add public comments (visible to customer) or internal notes to tickets
|
||||
6. **`list_users`** — List agents, admins, or end-users with role filtering
|
||||
7. **`search_tickets`** — Advanced search with Zendesk query syntax: `status:open priority:urgent assignee:me`
|
||||
|
||||
All with automatic authentication, proper error handling, and TypeScript types.
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
@ -45,7 +56,15 @@ All with proper error handling, automatic authentication, and TypeScript types.
|
||||
npm run build
|
||||
```
|
||||
|
||||
2. **Get your Zendesk API credentials** (see Authentication section below)
|
||||
2. **Get your Zendesk API credentials:**
|
||||
- Log in to Zendesk
|
||||
- Go to **Admin Center → Apps and integrations → APIs → Zendesk API**
|
||||
- Click **Add API token**
|
||||
- Copy the token and note your:
|
||||
- Subdomain (e.g., `mycompany` for `mycompany.zendesk.com`)
|
||||
- Agent email address
|
||||
- API token
|
||||
- Required permissions: Tickets (read/write), Users (read)
|
||||
|
||||
3. **Configure Claude Desktop:**
|
||||
|
||||
@ -58,9 +77,11 @@ All with proper error handling, automatic authentication, and TypeScript types.
|
||||
"mcpServers": {
|
||||
"zendesk": {
|
||||
"command": "node",
|
||||
"args": ["/ABSOLUTE/PATH/TO/zendesk-mcp/dist/index.js"],
|
||||
"args": ["/ABSOLUTE/PATH/TO/zendesk-mcp-2026-complete/dist/index.js"],
|
||||
"env": {
|
||||
"ZENDESK_API_KEY": "your-api-key-here"
|
||||
"ZENDESK_SUBDOMAIN": "mycompany",
|
||||
"ZENDESK_EMAIL": "agent@mycompany.com",
|
||||
"ZENDESK_API_TOKEN": "your-api-token"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -74,7 +95,7 @@ All with proper error handling, automatic authentication, and TypeScript types.
|
||||
[](https://railway.app/template/zendesk-mcp)
|
||||
|
||||
1. Click the button above
|
||||
2. Set your Zendesk API credentials in Railway dashboard
|
||||
2. Set your Zendesk credentials in Railway dashboard
|
||||
3. Use the Railway URL as your MCP server endpoint
|
||||
|
||||
### Option 3: Docker
|
||||
@ -82,32 +103,52 @@ All with proper error handling, automatic authentication, and TypeScript types.
|
||||
```bash
|
||||
docker build -t zendesk-mcp .
|
||||
docker run -p 3000:3000 \
|
||||
-e ZENDESK_API_KEY=your-key \
|
||||
-e ZENDESK_SUBDOMAIN=mycompany \
|
||||
-e ZENDESK_EMAIL=agent@mycompany.com \
|
||||
-e ZENDESK_API_TOKEN=your-token \
|
||||
zendesk-mcp
|
||||
```
|
||||
|
||||
## 🔐 Authentication
|
||||
|
||||
See the official [Zendesk API documentation](https://docs.zendesk.com) for authentication details.
|
||||
Zendesk uses API token authentication (email/token pair):
|
||||
|
||||
The MCP server handles token refresh automatically.
|
||||
1. **Get token**: Admin Center → Apps and integrations → APIs → Zendesk API → Add API token
|
||||
2. **Format**: `email/token:api_token` (handled automatically by MCP server)
|
||||
3. **Subdomain**: Your Zendesk URL subdomain (e.g., `acme` for `acme.zendesk.com`)
|
||||
|
||||
📚 **Official docs**: [Zendesk API Authentication](https://developer.zendesk.com/api-reference/ticketing/introduction/#security-and-authentication)
|
||||
|
||||
## 🎯 Example Prompts
|
||||
|
||||
Once connected to Claude, you can use natural language. Examples:
|
||||
Once connected to Claude, use natural language:
|
||||
|
||||
- *"Show me recent activity in Zendesk"*
|
||||
- *"Create a new record with these details..."*
|
||||
- *"Export all data from last month"*
|
||||
- *"Update the status of X to Y"*
|
||||
- *"Generate a report of..."*
|
||||
**Ticket Management:**
|
||||
- *"List all open tickets sorted by priority"*
|
||||
- *"Get full details on ticket #12345 including all comments"*
|
||||
- *"Create a ticket: subject 'Login failure', description 'User can't access dashboard', priority urgent, assign to group ID 123"*
|
||||
- *"Update ticket #6789: set status to pending, add tag 'needs-engineering'"*
|
||||
|
||||
**Search & Filtering:**
|
||||
- *"Search for tickets with 'password reset' in subject, opened in last 7 days"*
|
||||
- *"Find all tickets assigned to me with priority high or urgent"*
|
||||
- *"Show tickets tagged 'billing' that are still open after 30 days"*
|
||||
|
||||
**User Management:**
|
||||
- *"List all agents in the support team"*
|
||||
- *"Find end-users with 'gmail.com' in their email"*
|
||||
|
||||
**Advanced Workflows:**
|
||||
- *"Add internal note to ticket #4567: 'Escalated to engineering team'"*
|
||||
- *"Bulk close tickets tagged 'spam' with comment 'Issue resolved'"*
|
||||
- *"Generate weekly report: tickets created, solved, pending, by priority"*
|
||||
|
||||
## 🛠️ Development
|
||||
|
||||
### Prerequisites
|
||||
- Node.js 18+
|
||||
- npm or yarn
|
||||
- Zendesk account with API access
|
||||
- Zendesk account with agent access and API token
|
||||
|
||||
### Setup
|
||||
|
||||
@ -131,19 +172,32 @@ npm run test:coverage # Coverage report
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### "Authentication failed"
|
||||
- Verify your API credentials are correct
|
||||
- Check that your API key hasn't been revoked
|
||||
- Ensure you have the necessary permissions
|
||||
### "Zendesk API error: 401 Unauthorized"
|
||||
- Double-check your API token is correct
|
||||
- Verify your email address matches your Zendesk agent account
|
||||
- Ensure your subdomain is correct (no `.zendesk.com`, just the subdomain)
|
||||
- Check that your API token hasn't been revoked in Admin Center
|
||||
|
||||
### "Zendesk API error: 403 Forbidden"
|
||||
- Your API token may lack required permissions
|
||||
- Verify your agent role has access to tickets and users
|
||||
- Some operations require admin permissions (check Zendesk docs)
|
||||
|
||||
### "Zendesk API error: 404 Not Found"
|
||||
- Ticket or user ID doesn't exist
|
||||
- Check the ID is correct (use `list_tickets` or `search_tickets` to find IDs)
|
||||
- Ticket may have been deleted or merged
|
||||
|
||||
### "Tools not appearing in Claude"
|
||||
- Restart Claude Desktop after updating config
|
||||
- Check that the path in `claude_desktop_config.json` is absolute
|
||||
- Verify the build completed successfully (`dist/index.js` exists)
|
||||
- Verify build completed: `ls dist/index.js`
|
||||
- Check Claude logs: `tail -f ~/Library/Logs/Claude/mcp*.log`
|
||||
|
||||
## 📖 Resources
|
||||
|
||||
- [Zendesk API Documentation](https://docs.zendesk.com)
|
||||
- [Zendesk Support API Reference](https://developer.zendesk.com/api-reference/ticketing/introduction/)
|
||||
- [Zendesk Search Reference](https://support.zendesk.com/hc/en-us/articles/4408886879258-Zendesk-Support-search-reference)
|
||||
- [MCP Protocol Specification](https://modelcontextprotocol.io/)
|
||||
- [Claude Desktop Documentation](https://claude.ai/desktop)
|
||||
|
||||
@ -152,9 +206,9 @@ npm run test:coverage # Coverage report
|
||||
Contributions are welcome! Please:
|
||||
|
||||
1. Fork the repo
|
||||
2. Create a feature branch (`git checkout -b feature/amazing-tool`)
|
||||
3. Commit your changes (`git commit -m 'Add amazing tool'`)
|
||||
4. Push to the branch (`git push origin feature/amazing-tool`)
|
||||
2. Create a feature branch (`git checkout -b feature/sla-tracking`)
|
||||
3. Commit your changes (`git commit -m 'Add SLA monitoring'`)
|
||||
4. Push to the branch (`git push origin feature/sla-tracking`)
|
||||
5. Open a Pull Request
|
||||
|
||||
## 📄 License
|
||||
@ -163,10 +217,10 @@ MIT License - see [LICENSE](LICENSE) for details
|
||||
|
||||
## 🙏 Credits
|
||||
|
||||
Built by [MCPEngine](https://mcpengage.com) — AI infrastructure for business software.
|
||||
Built by [MCPEngage](https://mcpengage.com) — AI infrastructure for business software.
|
||||
|
||||
Want more MCP servers? Check out our [full catalog](https://mcpengage.com) covering 30+ business platforms.
|
||||
Want more MCP servers? Check our [catalog](https://mcpengine.pages.dev) covering 30+ business platforms.
|
||||
|
||||
---
|
||||
|
||||
**Questions?** Open an issue or join our [Discord community](https://discord.gg/mcpengine).
|
||||
**Questions?** Open an issue or join our [Discord community](https://discord.gg/mcpengage).
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
"description": "MCP server for Zendesk API - 2026 Complete Version",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"author": "MCPEngine <hello@mcpengage.com>",
|
||||
"author": "MCPEngage <hello@mcpengage.com>",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user