Model Context Protocol server for Zendesk customer support platform integration, enabling AI assistants to access tickets, comments, attachments, metrics, and perform support operations
Server has 9 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (get_, list_, download_). Descriptions are present and substantive (avg ~120 chars), explaining WHAT and WHEN. However, parameter descriptions are sparse or missing in several tools (e.g., zendesk_list_views lacks descriptions for page_size and after_cursor). Output schemas are not documented, LLMs cannot predict response structure. Error handling is basic (tool.Handler returns error, converted to IsError=true text response) with no recovery guidance. No parameter validation rules stated (e.g., comment_limit 1-100 is mentioned in schema but not enforced in description). Attachment tools lack security notes about malware scanning. Overall: solid foundation, but incomplete parameter docs and missing output schema documentation prevent higher scores.
Download malware-cleared attachment into configured root. Never executes or extracts it; returns local path, size, MIME type, and SHA-256.
Get metadata and malware scan status after proving attachment belongs to specified accessible ticket comment.
Build bounded investigation context: ticket, readable custom fields, conversation, people, organization, related tickets, and optional metrics/audits.
Get reply, wait, assignment, reopen, and resolution timing for one ticket.
Find built-in related data, follow-ups, problem incidents, and recent same-organization tickets.
List comments on a ticket with pagination support.
Output schemas not documented. LLMs cannot predict response structure for any tool. Responses are returned as text Content, not structured objects. This forces LLMs to parse unstructured output and breaks downstream tool chaining.
Pagination parameters (page_size, after_cursor) lack descriptions in zendesk_list_views and zendesk_list_view_tickets. LLMs cannot infer valid ranges or cursor semantics.
Error handling returns raw error text with IsError=true but no recovery guidance. Errors like 'ticket not found' do not suggest next steps (e.g., 'Try zendesk_list_view_tickets to find the correct ticket ID').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Browse tickets in my, my_groups, incoming, or numeric Zendesk view.
List active queues/views available to current agent.
Show quick local Copy-as-cURL login instructions. Does not access Zendesk or expose credentials.
Parameter constraints (e.g., comment_limit 1-100, page_size 1-100) are in schema but not enforced or explained in descriptions. LLMs may pass invalid values without guidance on valid ranges.
zendesk_download_attachment accepts 'destination' as a relative path but does not document the configured root directory or validate path traversal. Security risk if LLM passes '../../../etc/passwd'.