# Udesk MCP

> Udesk MCP Server connects your AI client directly to a full-featured helpdesk platform. It lets your agent list tickets, fetch detailed customer profiles, and search internal knowledge bases without you ever opening the web portal. You can manage entire customer service workflows—from creating a new ticket to auditing old reply chains—all through natural conversation.

## Overview
- **Category:** customer-support
- **Price:** Free
- **Tags:** omnichannel, ticket-management, knowledge-base, customer-service, crm

## Description

This server hooks your AI client straight into Udesk's engine. You don't gotta mess around with complex dashboards or web portals; you just talk to it, and your agent handles all the heavy lifting across five core areas: tickets, customer profiles, organizations, team structure, and internal knowledge.

When you need an overview of what's going down, you can ask it to run a summary check on *list_tickets*, which immediately gives you key metadata for every open helpdesk ticket—you see the subject, the current status, and who owns it. If you gotta dig into specific account data, your agent pulls up *list_customers* with a comprehensive roster of every customer maintained in Udesk. From there, if you need deep background on one person, you use *get_customer* to pull their full profile, including contact info and their current account tier. You can then nail down the corporate side by using *get_organization*, which grabs all the detailed records for the company tied to that customer.

For managing incidents, it's simple: if a client needs help, you initiate a brand new support incident instantly with *create_ticket*, submitting it directly through conversation. If you need to check existing issues, you first use *get_ticket* to fetch all the primary metadata for any specific ticket ID. After that, you can run *get_ticket_replies*, which gathers and presents the entire chronological history of every reply and interaction on that support thread, letting you audit service quality without manually digging through old emails. If a customer is talking about something obscure, your agent lets you check out *list_articles* to see what guides exist in the internal knowledge base; it'll point you straight to what you need. 

For team oversight and triage, you don't gotta guess who's available or where they fit. You can run *list_agents* to get a full roster of everyone working on the service team. If you need to know about functional boundaries, *list_groups* retrieves the names and details for all agent groups within your setup. When you combine these tools—say, asking your agent to 'Check open billing issues for VIP clients in the Northeast region'—it runs multiple queries: it filters using `list_tickets` status, cross-references client data with `get_customer`, checks organizational boundaries via `get_organization`, and compiles a clean, actionable summary without you touching a single dashboard button. The system keeps everything running through natural conversation.

It's built to handle the full lifecycle of customer service operations: You can list all active tickets using *list_tickets*, retrieve deep details on any one ticket ID with `get_ticket`, and then pull up the complete chat history for that incident using `get_ticket_replies`. Need to create a new support issue? Just use `create_ticket` instead of filling out the web form. You're always connected to the source data through *get_customer* for profiles, *list_customers* for rosters, and *get_organization* for corporate details. For internal knowledge, you check available guides with `list_articles`. It’s that direct. No fluff, just facts.

## Tools

### create_ticket
Builds and submits a brand new support incident into Udesk.

### get_customer
Pulls detailed profile information for a single specified customer account.

### get_organization
Retrieves full details about the company or organization tied to a customer account.

### get_ticket
Fetches all metadata for a specific helpdesk ticket ID.

### get_ticket_replies
Gathers and presents the entire chronological history of replies for one support ticket.

### list_agents
Returns a roster of all agents currently set up in the service team.

### list_articles
Lists available articles from the internal knowledge base, allowing you to see what guides exist.

### list_customers
Provides a comprehensive list of all customer accounts maintained in Udesk.

### list_groups
Retrieves the names and details of functional agent groups within your service team.

### list_tickets
Generates a summarized list of helpdesk tickets, useful for checking overall ticket volume or status.

## Prompt Examples

**Prompt:** 
```
List all active helpdesk tickets.
```

**Response:** 
```
I've retrieved your Udesk tickets. You have 15 open incidents, including 'Server Down in Region A' and 'Billing Inquiry - Client B'. Would you like to check the latest replies for any of them?
```

**Prompt:** 
```
Show me the details for customer 'mario@example.com'.
```

**Response:** 
```
I've retrieved the profile for Mario. He is a VIP customer from the 'Global Partners' organization with 12 historical tickets. Would you like to see his active ticket history?
```

**Prompt:** 
```
Check the knowledge base for articles about 'Refund Policy'.
```

**Response:** 
```
I've found 3 articles in the Udesk knowledge base matching your query. The primary guide 'Standard Refund Procedures' was last updated 2 days ago. Should I retrieve the full content for you?
```

## Capabilities

### List Open Support Tickets
The agent fetches a list of existing helpdesk tickets, providing key metadata like subject and current status for quick triage.

### Fetch Specific Customer Details
You retrieve a customer's full profile—contact info, organization ID, and account tier—using their email or name.

### Search Knowledge Base Articles
The agent searches the internal knowledge base for articles matching keywords, speeding up resolution time by providing direct links to guides.

### Create a New Support Ticket
You initiate a new support incident directly from your chat interface, bypassing the web form entirely.

### Review Full Interaction History
The agent gathers and presents all historical replies for a ticket, allowing you to audit service quality without manual searches.

## Use Cases

### Auditing Agent Performance
A manager needs to check how often a specific team's tickets are stalled. They ask their agent, 'List all active tickets for the Billing group.' The agent runs `list_tickets` and filters by service group context, giving the manager an immediate view of where bottlenecks are happening.

### VIP Customer Account Deep Dive
A CS lead needs to understand why a high-value customer is calling back. They ask their agent to 'Check the profile for Acme Corp.' The agent uses `get_customer` and `get_organization`, retrieving contact data, account tier status, and all historical ticket counts simultaneously.

### Quickly Starting a New Issue
A Tier 1 Agent gets a phone call about a service outage. Instead of logging into the web portal, they ask their agent to 'Create a new high-priority ticket for the regional team.' The agent runs `create_ticket`, populating all necessary fields like urgency and description with minimal input.

### Onboarding New Staff
A training manager needs to review what resources are available. They ask their agent, 'What guides do we have on payment processing?' The agent runs `list_articles` against the knowledge base and provides a categorized list of relevant documentation for new hires.

## Benefits

- **Full Audit Trail Access:** Instead of jumping into a ticket to read replies, ask the agent to run `get_ticket_replies`. You get the entire history instantly, saving you minutes on every audit.
- **One-Shot Customer View:** Don't waste time checking multiple dashboards. By asking for customer details, the agent runs `get_customer` and pulls the profile immediately, linking contact info and organization data in one go.
- **Instant Incident Creation:** Need to raise a ticket fast? Use `create_ticket`. You describe the problem once, and the agent handles filling out all the required Udesk fields for you.
- **Team Oversight on Demand:** Want to see who's working where? Running `list_agents` or checking `list_groups` gives you an immediate overview of your team structure without logging into the admin panel.
- **Accelerated Troubleshooting:** Instead of guessing if a solution exists, prompt for articles. The agent runs `list_articles`, immediately pointing you to the right knowledge base guide so agents can resolve issues faster.

## How It Works

The bottom line is you tell the agent what data you need, and it executes the correct Udesk API function on your behalf.

1. Subscribe to the Udesk server on Vinkius. You'll need your Udesk Subdomain, Admin Email, and API Token.
2. Connect this MCP Server to your preferred AI client (Claude, Cursor, etc.).
3. Start talking to your agent using natural language queries; for example: 'List all open tickets related to billing.' The agent runs the necessary tool calls.

## Frequently Asked Questions

**How do I use the Udesk MCP Server to see all open tickets?**
Use `list_tickets`. This tool provides a summary list of current helpdesk incidents. You can then ask your agent to filter this list by status or assigned group for more focused results.

**Can I use get_customer() if I only have an organization name?**
The `get_customer` tool requires a specific identifier (usually email). If you only have the organization, run `list_customers` first to find the associated ID, then pass that ID into `get_customer`.

**Which tool should I use for checking ticket history?**
Use `get_ticket_replies`. This is distinct from `get_ticket`, which only pulls core metadata. The replies tool gives you the full, chronological text of every comment and update.

**What if I want to create a ticket for an organization that isn't attached to a customer?**
You should use `create_ticket`. While it primarily uses customer context, you can include the necessary organization details in your prompt. The agent handles mapping those required fields into the API call.

**Before I run any queries like `get_organization()`, what credentials do I need to connect?**
You must provide your Udesk Subdomain, Admin Email, and API Token upon subscription. These credentials authorize your AI client to interact with the platform's data layers.

**If I run `get_ticket()` using a ticket ID that doesn't exist, what should my agent expect?**
Your agent will receive an explicit error message indicating 'Resource Not Found.' This means the API call failed because Udesk has no record matching the specified ID.

**When using `list_customers()`, can I filter results to only show customers from a specific service group?**
The filtering capability depends on the parameters accepted by the tool. Typically, you must pass both the customer identifier and the relevant group ID in a single structured query.

**After running `list_groups()`, how do I find out which agents belong to that specific functional team?**
The `list_groups()` tool only lists groups. To list members, you must then pass the group ID into a subsequent agent query or filter if the client supports nested data retrieval.

**How do I find my Udesk API Token?**
Log in to your Udesk admin backend, go to [Admin] → [Settings] → [Validation Info], and you will find your Open API Token there. Ensure you have administrator privileges.

**Can I see ticket reply histories through this server?**
Yes. Use the `get_ticket_replies` tool with a specific ticket ID to retrieve the entire historical chain of comments and messages for that incident.

**Is it possible to list support agents and their groups?**
Yes! You can use the `list_agents` and `list_groups` tools to see all members of your support organization and how they are structured into functional teams.