Skip to main content
Glama
Zendesk MCP Server by Fruggr

Zendesk MCP Server by Fruggr

Mark My Request Solved

mark_request_solved
DestructiveIdempotent

Closes one of your own Zendesk requests when you consider it resolved, verifying the status returned by Zendesk; works only if an agent has been assigned and the request is solvable.

Instructions

Close one of the signed-in user's own requests, for when they consider it resolved. Returns the request's status read back from Zendesk, not merely an acknowledgement: this operation is refused unless the request is actually solvable by its requester, because Zendesk answers 200 and changes nothing when it is not, which would otherwise be reported as success. A request is only solvable once an agent has been assigned to it, so a brand-new or unassigned one cannot be closed this way — leave it, or reply with add_request_comment to say it is no longer needed. Marking an already-solved request solved again is a no-op. Agents closing a ticket want update_ticket with status solved.

Input Schema

NameRequiredDescriptionDefault
request_idYesNumber of the request to close. Check get_request first: its "can you mark it solved" line has to say yes.

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?

Annotations already flag mutation, destructiveness, idempotency and open-world reach, but the description adds genuinely new behavior: it returns the status read back from Zendesk rather than an acknowledgement, and it self-refuses unless the request is solvable because Zendesk returns 200 while changing nothing. The no-op-on-already-solved note reinforces but largely restates idempotentHint=true, which keeps this just short of a 5.

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 the action, then failure modes, then alternatives; no sentence is filler. It is a single dense block with long subordinate clauses ('because Zendesk answers 200 and changes nothing when it is not, which would otherwise be reported as success'), which costs some scannability but not accuracy.

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?

There is no output schema, and the description compensates by describing the return value (status read back from Zendesk) and the misleading-success trap. Combined with the prerequisite, no-op behavior and fallback path, nothing needed to call this correctly or interpret its result 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% and the single parameter is already documented, so the baseline is 3. The description adds constraint meaning the schema lacks: the request must belong to the signed-in user and must be solvable (agent assigned), which tells the agent which request_id values are even valid.

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 with explicit scope: 'Close one of the signed-in user's own requests, for when they consider it resolved.' It also distinguishes itself from the sibling that handles the agent-side equivalent ('Agents closing a ticket want update_ticket with status solved'), so the agent can route without opening either schema.

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 explicit when-to-use (requester considers it resolved), when-not (brand-new or unassigned requests cannot be closed this way) plus the fallback action (reply with add_request_comment), and names the sibling for the agent-side case (update_ticket). Every branch an agent could land in is covered.

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