delete_view
Remove specific views in Zendesk by providing the View ID to streamline organization and maintain a clutter-free workspace.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | View ID to delete |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "View ID to delete",
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
}
Implementation Reference
- src/tools/views.js:144-159 (handler)The handler function that executes the logic for the 'delete_view' tool: calls zendeskClient.deleteView(id) and returns formatted success or error response.handler: async ({ id }) => { try { await zendeskClient.deleteView(id); return { content: [{ type: "text", text: `View ${id} deleted successfully!` }] }; } catch (error) { return { content: [{ type: "text", text: `Error deleting view: ${error.message}` }], isError: true }; } }
- src/tools/views.js:141-143 (schema)The Zod input schema for the delete_view tool, validating a numeric 'id' parameter.schema: { id: z.number().describe("View ID to delete") },
- src/tools/views.js:138-160 (registration)The complete tool registration object for 'delete_view', part of the viewsTools export which is later registered in the MCP server.{ name: "delete_view", description: "Delete a view", schema: { id: z.number().describe("View ID to delete") }, handler: async ({ id }) => { try { await zendeskClient.deleteView(id); return { content: [{ type: "text", text: `View ${id} deleted successfully!` }] }; } catch (error) { return { content: [{ type: "text", text: `Error deleting view: ${error.message}` }], isError: true }; } } }
- src/zendesk-client.js:203-205 (helper)Supporting helper method in ZendeskClient class that performs the HTTP DELETE request to the Zendesk Views API endpoint.async deleteView(id) { return this.request("DELETE", `/views/${id}.json`); }
- src/server.js:48-52 (registration)The MCP server registration loop where tools from viewsTools (including delete_view) are registered via server.tool().allTools.forEach((tool) => { server.tool(tool.name, tool.schema, tool.handler, { description: tool.description, }); });