Skip to main content
Glama

Atera MCP by usefulapi

Create a ticket

atera_create_ticket
Destructive

Open a new helpdesk ticket. Give either end_user_id (an existing contact's EndUserID) or all of end_user_first_name, end_user_last_name and end_user_email to create a new contact with it. Atera: POST /api/v3/tickets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNo
titleYesTicket title.
impactNo
statusNoTicket status name, e.g. Open, Pending, Resolved or Closed (or a custom status).
priorityNo
descriptionYesTicket description (first comment).
end_user_idNoExisting contact's EndUserID.
end_user_emailNoNew contact's email.
end_user_phoneNoNew contact's phone.
technician_emailNoAssign to the technician with this email.
end_user_last_nameNoNew contact's last name.
end_user_first_nameNoNew contact's first name.
technician_contact_idNoAssign to this technician (TechnicianContactID).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A3.7/5.0
Behavior3/5

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

Annotations only supply destructiveHint=true, so the description carries most of the burden. It does disclose a non-obvious side effect: supplying the name/email trio creates a new contact as part of the call. It does not describe what is returned (no ticket ID), notification behaviour, or defaults applied to unset fields. The destructiveHint=true annotation sits oddly next to a pure create operation, but the description does not directly contradict it.

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

Conciseness5/5

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

Two sentences, zero padding, and the primary action is front-loaded before the contact-selection rule. The trailing endpoint reference is short and adds traceability rather than bloat.

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

Completeness4/5

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

For a 13-parameter mutation tool with no output schema the description covers the main decision point (existing vs new contact), which is the highest-risk ambiguity. It stops short of stating defaults for type/priority/status or the shape of the response, but nothing critical to invoking the tool 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 77%, so baseline is 3, and the description adds a genuine cross-field constraint that the JSON schema cannot express: end_user_id XOR (end_user_first_name + end_user_last_name + end_user_email). That mutually exclusive branching is exactly the kind of semantics an agent needs before filling the 13 parameters.

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

Purpose4/5

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

"Open a new helpdesk ticket" names a specific verb and resource, and the endpoint reference (POST /api/v3/tickets) confirms the operation. It is clearly distinguishable from atera_get_ticket, atera_update_ticket and atera_add_ticket_comment, though the description never names those siblings explicitly.

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

Usage Guidelines3/5

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

The description gives a real conditional rule for the contact branch (use end_user_id for an existing contact, or the three name/email fields to create a new one). However, it offers no guidance on when to use this tool versus sibling operations such as atera_update_ticket or atera_add_ticket_comment, and no prerequisites or permissions are stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.