> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetodesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools

> Every tool the NeetoDesk MCP server exposes, grouped by resource.

You do not need these names to use the server. Ask in plain language and the assistant picks the
right tool. The list is here for when you want to know exactly what a connection can do.

What each tool returns is bounded by the credential behind it. On an OAuth connection every
listing and every single-record read is filtered to the permissions of the person who approved
it; an API key reaches the whole workspace. See [Authentication](/mcp/authentication).

## Tickets

| Tool                                            | What it does                                                                                                                                                                        |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`ListTickets`](/api-reference/tickets/list)    | Lists the tickets the caller can access, newest first, with each ticket's subject, status, priority, channel, assigned agent and customer. Can be narrowed to one or more statuses. |
| [`GetTicket`](/api-reference/tickets/get)       | Returns one ticket in full, including its description and the agent, customer, group and tags it is associated with.                                                                |
| [`CreateTicket`](/api-reference/tickets/create) | Creates a ticket for a customer, identified by their email address. The description becomes the ticket's first comment.                                                             |
| [`UpdateTicket`](/api-reference/tickets/update) | Updates a ticket's subject, status, priority, category, assigned agent, group or tags.                                                                                              |
| `search`                                        | Searches tickets by subject and by the text of their comments, returning up to 25 of the most recent matches, each with a snippet of the matching text.                             |
| `fetch`                                         | Returns one ticket in full, with every comment on it and the ticket's URL.                                                                                                          |

Tickets are addressed by ticket number or by UUID, so `42` and the UUID both work.

<Note>
  `search` and `fetch` are the two tools the ChatGPT connector specification requires, so they
  overlap with `ListTickets` and `GetTicket` rather than adding anything new. They have no
  separate REST endpoint, which is why they are not linked above.
</Note>

## Comments and drafts

| Tool                                                        | What it does                                                                                                                                                   |
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`ListTicketComments`](/api-reference/comments/list)        | Lists a ticket's comments in the order they were added, with each comment's type, author's email address and body.                                             |
| [`GetTicketComment`](/api-reference/comments/get)           | Returns one comment on a ticket, with its type, author's email address and body.                                                                               |
| [`CreateTicketComment`](/api-reference/comments/create)     | Adds a comment to a ticket. A reply is published where the customer reads it; a note stays internal. Neither is emailed to the customer.                       |
| [`CreateTicketDraft`](/api-reference/comments/create-draft) | Saves an unsent draft on a ticket, replacing the draft it already holds of that type. A reply drafted for an agent gets that agent's saved signature appended. |

A ticket holds at most one draft per comment type. There is no tool for reading a draft back, or
for editing a comment once it is posted.

## Customers

| Tool                                                | What it does                                                                                             |
| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [`CreateCustomer`](/api-reference/customers/create) | Creates a customer. At least one email address is required, and the first one given becomes the primary. |

There is no tool for reading or updating a customer. A ticket reports its customer's email
address, so read the ticket instead.

## Team members

| Tool                                                     | What it does                                                                                                                                |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| [`ListTeamMembers`](/api-reference/team-members/list)    | Lists active team members with their ID, email address, name, time zone and role. Can be narrowed to one exact email address.               |
| [`GetTeamMember`](/api-reference/team-members/get)       | Returns one active team member's email address, name, time zone and role.                                                                   |
| [`CreateTeamMember`](/api-reference/team-members/add)    | Invites one or more people to the workspace. Each address is emailed an invitation unless invitation emails are turned off.                 |
| [`UpdateTeamMember`](/api-reference/team-members/update) | Updates a team member's email address, name, time zone or role.                                                                             |
| [`DeleteTeamMember`](/api-reference/team-members/remove) | Deactivates a team member, ending their access. Their user record is kept so the tickets and comments they handled stay attributed to them. |

Managing team members needs the member-management permission on the connected account.

## Forms

| Tool                                     | What it does                                                                              |
| ---------------------------------------- | ----------------------------------------------------------------------------------------- |
| [`ListForms`](/api-reference/forms/list) | Lists the workspace's enabled web forms, the forms through which customers raise tickets. |

## Reports

| Tool                                                                         | What it does                                                                                                                                       |
| ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`GetTicketReports`](/api-reference/reports/get-ticket-volume)               | Reports how many tickets entered each status over a date range.                                                                                    |
| [`GetTicketTimeSeriesReport`](/api-reference/reports/get-ticket-time-series) | Reports how many tickets were opened and how many were closed on each day of a date range.                                                         |
| [`GetAgentReports`](/api-reference/reports/get-agent-performance)            | Reports each agent's average first-response time, average resolution time, and assigned and closed ticket counts over a date range, fastest first. |
| [`GetGroupReports`](/api-reference/reports/get-team-performance)             | The same metrics per group instead of per agent.                                                                                                   |
| [`GetSurveyReports`](/api-reference/reports/get-customer-satisfaction)       | Reports how customers answered each satisfaction survey over a date range, as a count per answer choice.                                           |

## Workspaces

| Tool             | What it does                                                                                                   |
| ---------------- | -------------------------------------------------------------------------------------------------------------- |
| `ListWorkspaces` | Lists the workspaces this connection can reach. Other tools take a `workspace` argument to target one of them. |

An OAuth grant covers the workspace you picked when you approved it. An API key covers the
workspace it was generated in.
