Skip to content

Atera MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Check devices, alerts and tickets in Atera, and open tickets, comment or resolve alerts.

Deletes · 5

20 tools: 5 can delete or cancel things and 15 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http atera https://atera.usefulapi.io/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "atera_resolve_alert" destructive (destructiveHint: true), and its name says "resolve", a word for reading.

    Matched text

    annotations: {"destructiveHint":true}; The name "atera_resolve_alert" says "resolve": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

20 tools

Deletes or cancels 5Claude Code: deny
  • atera_add_ticket_commentAdd a comment to a ticket, either as a technician (technician_id, with is_internal=true for a private note or false for a reply the end user sees) or on behalf of an end user (endu…No findings

    Why it is in this group

    • The name "atera_add_ticket_comment" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Add a comment to a ticket, either as a technician (technician_id, with is_internal=true for a private note or false for a reply the end user sees) or on behalf of an end user (enduser_id). Atera: POST /api/v3/tickets/{ticketId}/comments.

    Annotations the server declares

    • title: Comment on a ticket
    • destructiveHint: true
  • atera_create_contactCreate a new end-user contact under an existing customer (give customer_id or customer_name).No findings

    Why it is in this group

    • The name "atera_create_contact" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create a new end-user contact under an existing customer (give customer_id or customer_name). Atera: POST /api/v3/contacts.

    Annotations the server declares

    • title: Create a contact
    • destructiveHint: true
  • atera_create_ticketOpen a new helpdesk ticket.No findings

    Why it is in this group

    • The name "atera_create_ticket" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create a ticket
    • destructiveHint: true
  • atera_resolve_alertMark one monitoring alert as resolved.1 finding

    Why it is in this group

    • The name "atera_resolve_alert" says "resolve": a word for reading.
    • The description's first verb is "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "atera_resolve_alert" destructive (destructiveHint: true), and its name says "resolve", a word for reading.

      Matched text

      annotations: {"destructiveHint":true}; The name "atera_resolve_alert" says "resolve": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Mark one monitoring alert as resolved. If the underlying condition persists, Atera raises it again on the next check. Atera: PUT /api/v3/alerts/{alertId}.

    Annotations the server declares

    • title: Resolve an alert
    • destructiveHint: true
  • atera_update_ticketChange a ticket's title, status, type, priority, impact or assigned technician.No findings

    Why it is in this group

    • The name "atera_update_ticket" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change a ticket's title, status, type, priority, impact or assigned technician. Only the fields you pass are sent. Atera: PUT /api/v3/tickets/{ticketId}.

    Annotations the server declares

    • title: Update a ticket
    • destructiveHint: true
Only reads 15Claude Code: allow
  • atera_find_agents_by_machineFind the agent(s) installed on a machine by its machine name, e.g.No findings

    Why it is in this group

    • The name "atera_find_agents_by_machine" says "find": a word for reading.
    Description, as the server wrote it
    Find the agent(s) installed on a machine by its machine name, e.g. DESKTOP-4F2K9. Atera: GET /api/v3/agents/machine/{machineName}.

    Annotations the server declares

    • title: Find agents by machine name
    • readOnlyHint: true
  • atera_get_accountFetch the Atera account this key belongs to — company name, plan, country and timezone.No findings

    Why it is in this group

    • The name "atera_get_account" says "get": a word for reading.
    Description, as the server wrote it
    Fetch the Atera account this key belongs to — company name, plan, country and timezone. A cheap way to confirm the key works. Atera: GET /api/v3/account.

    Annotations the server declares

    • title: Get the account
    • readOnlyHint: true
  • atera_get_agentFetch a single agent by its AgentID — full device inventory, online status, IPs, OS build and last reboot.No findings

    Why it is in this group

    • The name "atera_get_agent" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single agent by its AgentID — full device inventory, online status, IPs, OS build and last reboot. Atera: GET /api/v3/agents/{agentId}.

    Annotations the server declares

    • title: Get one agent (device)
    • readOnlyHint: true
  • atera_get_agent_patchesList the Windows/OS patches on one device — either those still AVAILABLE (missing) or those already INSTALLED.No findings

    Why it is in this group

    • The name "atera_get_agent_patches" says "get": a word for reading.
    Description, as the server wrote it
    List the Windows/OS patches on one device — either those still AVAILABLE (missing) or those already INSTALLED. Takes the device's DeviceGuid (from atera_list_agents / atera_get_agent), not the AgentID. Atera: GET /api/v3/agents/{deviceGuid}/available-patches or /installed-patches.

    Annotations the server declares

    • title: Get an agent's patches
    • readOnlyHint: true
  • atera_get_customerFetch a single customer by id — address, domain, phone, notes.No findings

    Why it is in this group

    • The name "atera_get_customer" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single customer by id — address, domain, phone, notes. Atera: GET /api/v3/customers/{customerId}.

    Annotations the server declares

    • title: Get one customer
    • readOnlyHint: true
  • atera_get_ticketFetch a single ticket by its TicketID.No findings

    Why it is in this group

    • The name "atera_get_ticket" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single ticket by its TicketID. Atera: GET /api/v3/tickets/{ticketId}.

    Annotations the server declares

    • title: Get one ticket
    • readOnlyHint: true
  • atera_list_agentsList Atera agents — the managed machines — with online status, last seen, OS, hardware and logged-in user.No findings

    Why it is in this group

    • The name "atera_list_agents" says "list": a word for reading.
    Description, as the server wrote it
    List Atera agents — the managed machines — with online status, last seen, OS, hardware and logged-in user. Pass customer_id to list only one customer's devices. Atera: GET /api/v3/agents or GET /api/v3/agents/customer/{customerId}.

    Annotations the server declares

    • title: List agents (devices)
    • readOnlyHint: true
  • atera_list_alertsList monitoring alerts (disk, CPU, availability, hardware...) with severity, device, customer and linked ticket.No findings

    Why it is in this group

    • The name "atera_list_alerts" says "list": a word for reading.
    Description, as the server wrote it
    List monitoring alerts (disk, CPU, availability, hardware...) with severity, device, customer and linked ticket. Filter by status. Atera: GET /api/v3/alerts.

    Annotations the server declares

    • title: List alerts
    • readOnlyHint: true
  • atera_list_contactsList end-user contacts, optionally searching by whole or partial email or phone number.No findings

    Why it is in this group

    • The name "atera_list_contacts" says "list": a word for reading.
    Description, as the server wrote it
    List end-user contacts, optionally searching by whole or partial email or phone number. Atera: GET /api/v3/contacts.

    Annotations the server declares

    • title: List contacts
    • readOnlyHint: true
  • atera_list_contractsList service contracts (retainer, block hours, hourly, remote monitoring...) with their rates and billing periods.No findings

    Why it is in this group

    • The name "atera_list_contracts" says "list": a word for reading.
    Description, as the server wrote it
    List service contracts (retainer, block hours, hourly, remote monitoring...) with their rates and billing periods. Pass customer_id for one customer's contracts. Atera: GET /api/v3/contracts or GET /api/v3/contracts/customer/{customerId}.

    Annotations the server declares

    • title: List contracts
    • readOnlyHint: true
  • atera_list_customersList the customers (client companies) managed in Atera, paginated.No findings

    Why it is in this group

    • The name "atera_list_customers" says "list": a word for reading.
    Description, as the server wrote it
    List the customers (client companies) managed in Atera, paginated. Atera: GET /api/v3/customers.

    Annotations the server declares

    • title: List customers
    • readOnlyHint: true
  • atera_list_kb_articlesList knowledge-base articles with their product, keywords, section, category and ratings.No findings

    Why it is in this group

    • The name "atera_list_kb_articles" says "list": a word for reading.
    Description, as the server wrote it
    List knowledge-base articles with their product, keywords, section, category and ratings. Atera: GET /api/v3/knowledgebases.

    Annotations the server declares

    • title: List knowledge-base articles
    • readOnlyHint: true
  • atera_list_ticket_commentsList the comment thread on one ticket — end-user and technician replies, with internal notes flagged.No findings

    Why it is in this group

    • The name "atera_list_ticket_comments" says "list": a word for reading.
    Description, as the server wrote it
    List the comment thread on one ticket — end-user and technician replies, with internal notes flagged. Atera: GET /api/v3/tickets/{ticketId}/comments.

    Annotations the server declares

    • title: List a ticket's comments
    • readOnlyHint: true
  • atera_list_ticket_work_hoursList the time entries logged on one ticket — technician, start/end, billable, on-site, rate.No findings

    Why it is in this group

    • The name "atera_list_ticket_work_hours" says "list": a word for reading.
    Description, as the server wrote it
    List the time entries logged on one ticket — technician, start/end, billable, on-site, rate. Atera: GET /api/v3/tickets/{ticketId}/workhoursrecords.

    Annotations the server declares

    • title: List a ticket's work hours
    • readOnlyHint: true
  • atera_list_ticketsList helpdesk tickets with priority, status, type, end user, technician, SLA durations and last comments.No findings

    Why it is in this group

    • The name "atera_list_tickets" says "list": a word for reading.
    Description, as the server wrote it
    List helpdesk tickets with priority, status, type, end user, technician, SLA durations and last comments. Filter by customer and/or status. Atera: GET /api/v3/tickets.

    Annotations the server declares

    • title: List tickets
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http atera https://atera.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__atera__atera_get_account",
      "mcp__atera__atera_list_customers",
      "mcp__atera__atera_get_customer",
      "mcp__atera__atera_list_agents",
      "mcp__atera__atera_get_agent",
      "mcp__atera__atera_find_agents_by_machine",
      "mcp__atera__atera_get_agent_patches",
      "mcp__atera__atera_list_alerts",
      "mcp__atera__atera_list_tickets",
      "mcp__atera__atera_get_ticket",
      "mcp__atera__atera_list_ticket_comments",
      "mcp__atera__atera_list_ticket_work_hours",
      "mcp__atera__atera_list_contacts",
      "mcp__atera__atera_list_contracts",
      "mcp__atera__atera_list_kb_articles"
    ],
    "ask": [],
    "deny": [
      "mcp__atera__atera_create_ticket",
      "mcp__atera__atera_update_ticket",
      "mcp__atera__atera_add_ticket_comment",
      "mcp__atera__atera_create_contact",
      "mcp__atera__atera_resolve_alert"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as atera. Review it before you use it.