Skip to main content
Glama
Zendesk MCP Server by Fruggr

Zendesk MCP Server by Fruggr

Submit a Request

create_request

Submit a new Zendesk support request as the signed-in user, validating required fields and form answers before sending so invalid submissions are refused instead of silently altered.

Instructions

Submit a new support request as the signed-in user — the MCP equivalent of the Help Center's "Submit a request" form. Returns the created request with its number, which the user can then follow with list_requests and get_request. The submission is checked before sending: an unknown form id, a missing field the form marks required, or a dropdown answer the form does not offer is refused here rather than sent, because Zendesk would answer 201 having silently substituted the default form, accepted an empty subject or dropped the unrecognised value. Call get_request_form first to learn which fields to gather. Priority and type cannot be set by an end user — Zendesk drops them — so triage is left to the agents. This posts as the authenticated user; an agent opening a ticket on someone else's behalf wants create_ticket instead.

Input Schema

NameRequiredDescriptionDefault
bodyYesThe request itself: what happened, what was expected, and any steps to reproduce. Becomes the first public comment on the ticket. Sent as plain text: neither Markdown nor HTML is rendered for an end user (both show as literal text), so write it without formatting markup.
form_idNoForm id chosen from list_request_forms, deciding which questions apply. Omit to use the account default form.
subjectYesOne-line summary of the request, shown as the ticket title to the support agents who pick it up.
attachmentsNoFiles to attach to the request, such as a screenshot or a log, with their content base64-encoded.
custom_fieldsNoAnswers to the form's own questions, as { id, value } pairs. Take both the ids and the accepted values from get_request_form; an id this form does not carry, or a value a dropdown does not offer, is refused here because Zendesk would drop it without an error. Option values are the tag strings, never numbers.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.9.1

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the annotations by disclosing the validation contract (unknown form id, missing required field, or unoffered dropdown value is refused client-side) and the reason: Zendesk answers 201 while silently substituting the default form, accepting an empty subject, or dropping unknown values. It also discloses that priority and type are silently dropped for end users, and that the return value is the created request including its number. The only gap is that it doesn't describe auth failure modes or rate limiting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then prerequisites, validation behavior, and the sibling alternative in a sensible order. A few clauses are redundant with the schema's own custom_fields text (the tag-string rule appears twice across description and schema), costing a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-idempotent write tool with no output schema, the description covers the return value (created request plus number), the fabrication-failure modes, prerequisite discovery via get_request_form, and the correct alternative tool. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema cannot: it warns that priority and type are not settable by an end user, ties form_id and custom_fields back to get_request_form/list_request_forms, and flags that submissions are validated rather than silently coerced. It does repeat the schema's own dropdown-tag-not-number rule, which keeps it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Submit a new support request as the signed-in user") and anchors it to the familiar Help Center form. It explicitly separates itself from the two nearest siblings: create_ticket (agent acting for someone else) and get_request/list_requests (follow-up reads).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit prerequisite ("Call get_request_form first to learn which fields to gather"), an explicit exclusion ("This posts as the authenticated user; an agent opening a ticket on someone else's behalf wants create_ticket instead"), and names the follow-up tools the user would use afterward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.