Skip to main content
Glama
JurreBrandsenInfoSupport

Zendesk API MCP Server

get_ticket

Retrieve a specific Zendesk support ticket by its ID to view details, status, and conversation history for customer service management.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesTicket ID

Implementation Reference

  • The handler function for the 'get_ticket' MCP tool. It takes a ticket ID, fetches the ticket using the Zendesk client, and returns the JSON-formatted result or an error message.
    handler: async ({ id }) => {
      try {
        const result = await zendeskClient.getTicket(id);
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify(result, null, 2),
            },
          ],
        };
      } catch (error) {
        return {
          content: [
            { type: "text", text: `Error getting ticket: ${error.message}` },
          ],
          isError: true,
        };
      }
    },
  • The input schema for the 'get_ticket' tool, validating the 'id' parameter as a number.
    schema: {
      id: z.number().describe("Ticket ID"),
    },
  • The full tool specification object for 'get_ticket', including name, description, schema, and handler, part of the ticketsTools array exported and registered in the MCP server.
    {
      name: "get_ticket",
      description: "Get a specific ticket by ID",
      schema: {
        id: z.number().describe("Ticket ID"),
      },
      handler: async ({ id }) => {
        try {
          const result = await zendeskClient.getTicket(id);
          return {
            content: [
              {
                type: "text",
                text: JSON.stringify(result, null, 2),
              },
            ],
          };
        } catch (error) {
          return {
            content: [
              { type: "text", text: `Error getting ticket: ${error.message}` },
            ],
            isError: true,
          };
        }
      },
    },
  • Helper method in ZendeskClient that performs the actual API request to retrieve a ticket by ID.
    async getTicket(id) {
      return this.request("GET", `/tickets/${id}.json`);
    }
  • src/server.js:48-52 (registration)
    The loop that registers all tools, including 'get_ticket', with the MCP server using server.tool().
    allTools.forEach((tool) => {
      server.tool(tool.name, tool.schema, tool.handler, {
        description: tool.description,
      });
    });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JurreBrandsenInfoSupport/zendesk-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server