MCP 服务器

atera

io.usefulapi/atera
云与基础设施 安全 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Manages Atera IT devices, monitoring alerts, patches, customers and helpdesk tickets.

atera_add_ticket_comment
Comment on a ticket
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.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'comment'], 'properties': {'comment': {'type': 'string', 'minLength': 1, 'description': 'The comment text.'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's TicketID.", 'exclusiveMinimum': 0}, 'enduser_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Post as this end-user contact (EndUserID).', 'exclusiveMinimum': 0}, 'is_internal': {'type': 'boolean', 'default': True, 'description': 'Technician comments only: true = internal note (default), false = visible reply.'}, 'technician_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Post as this technician (TechnicianId).', 'exclusiveMinimum': 0}, 'timestamp_utc': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$', 'description': 'Comment time in UTC, ISO 8601. Defaults to now.'}, 'technician_email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': "The technician's email (optional, with technician_id)."}}}
atera_create_contact
Create a contact
Create a new end-user contact under an existing customer (give customer_id or customer_name). Atera: POST /api/v3/contacts.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': "The contact's email (required)."}, 'phone': {'type': 'string'}, 'job_title': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'customer_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The customer's CustomerID.", 'exclusiveMinimum': 0}, 'mobile_phone': {'type': 'string'}, 'customer_name': {'type': 'string', 'description': "The customer's name, if you don't have the id."}, 'is_contact_person': {'type': 'boolean', 'description': "Mark as the customer's primary contact person."}}}
atera_create_ticket
Create a ticket
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.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title', 'description'], 'properties': {'type': {'enum': ['Incident', 'Problem', 'Request', 'Change'], 'type': 'string'}, 'title': {'type': 'string', 'minLength': 1, 'description': 'Ticket title.'}, 'impact': {'enum': ['NoImpact', 'SiteDown', 'ServerIssue', 'Minor', 'Major', 'Crisis'], 'type': 'string'}, 'status': {'type': 'string', 'minLength': 1, 'description': 'Ticket status name, e.g. Open, Pending, Resolved or Closed (or a custom status).'}, 'priority': {'enum': ['Low', 'Medium', 'High', 'Critical'], 'type': 'string'}, 'description': {'type': 'string', 'minLength': 1, 'description': 'Ticket description (first comment).'}, 'end_user_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Existing contact's EndUserID.", 'exclusiveMinimum': 0}, 'end_user_email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': "New contact's email."}, 'end_user_phone': {'type': 'string', 'description': "New contact's phone."}, 'technician_email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Assign to the technician with this email.'}, 'end_user_last_name': {'type': 'string', 'description': "New contact's last name."}, 'end_user_first_name': {'type': 'string', 'description': "New contact's first name."}, 'technician_contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Assign to this technician (TechnicianContactID).', 'exclusiveMinimum': 0}}}
atera_find_agents_by_machine
Find agents by machine name
Find the agent(s) installed on a machine by its machine name, e.g. DESKTOP-4F2K9. Atera: GET /api/v3/agents/machine/{machineName}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['machine_name'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'machine_name': {'type': 'string', 'minLength': 1, 'description': 'The machine (computer) name.'}, 'items_in_page': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Items per page, 1-500 (default 20).'}}}
atera_get_account
Get the account
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
atera_get_agent
Get one agent (device)
Fetch a single agent by its AgentID — full device inventory, online status, IPs, OS build and last reboot. Atera: GET /api/v3/agents/{agentId}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['agent_id'], 'properties': {'agent_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The agent's AgentID.", 'exclusiveMinimum': 0}}}
atera_get_agent_patches
Get an agent's patches
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['device_guid'], 'properties': {'kind': {'enum': ['available', 'installed'], 'type': 'string', 'default': 'available', 'description': 'available = patches not yet installed (default); installed = patch history.'}, 'device_guid': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "The device's DeviceGuid."}}}
atera_get_customer
Get one customer
Fetch a single customer by id — address, domain, phone, notes. Atera: GET /api/v3/customers/{customerId}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_id'], 'properties': {'customer_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The customer's CustomerID.", 'exclusiveMinimum': 0}}}
atera_get_ticket
Get one ticket
Fetch a single ticket by its TicketID. Atera: GET /api/v3/tickets/{ticketId}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's TicketID.", 'exclusiveMinimum': 0}, 'include_relations': {'type': 'boolean', 'description': 'Include parent/child ticket relation info.'}}}
atera_list_agents
List agents (devices)
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}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'customer_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Only this customer's agents.", 'exclusiveMinimum': 0}, 'items_in_page': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Items per page, 1-500 (default 20).'}}}
atera_list_alerts
List alerts
List monitoring alerts (disk, CPU, availability, hardware...) with severity, device, customer and linked ticket. Filter by status. Atera: GET /api/v3/alerts.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'alert_status': {'enum': ['Open', 'Resolved', 'Snoozed'], 'type': 'string', 'description': 'Only alerts in this state.'}, 'items_in_page': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Items per page, 1-500 (default 20).'}}}
atera_list_contacts
List contacts
List end-user contacts, optionally searching by whole or partial email or phone number. Atera: GET /api/v3/contacts.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'email': {'type': 'string', 'description': 'Whole or partial email to match.'}, 'phone': {'type': 'string', 'description': 'Whole or partial phone number to match.'}, 'items_in_page': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Items per page, 1-500 (default 20).'}}}
atera_list_contracts
List contracts
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}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'customer_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Only this customer's contracts.", 'exclusiveMinimum': 0}, 'items_in_page': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Items per page, 1-500 (default 20).'}}}
atera_list_customers
List customers
List the customers (client companies) managed in Atera, paginated. Atera: GET /api/v3/customers.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'items_in_page': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Items per page, 1-500 (default 20).'}}}
atera_list_kb_articles
List knowledge-base articles
List knowledge-base articles with their product, keywords, section, category and ratings. Atera: GET /api/v3/knowledgebases.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'items_in_page': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Items per page, 1-500 (default 20).'}}}
atera_list_ticket_comments
List a ticket's comments
List the comment thread on one ticket — end-user and technician replies, with internal notes flagged. Atera: GET /api/v3/tickets/{ticketId}/comments.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's TicketID.", 'exclusiveMinimum': 0}, 'items_in_page': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Items per page, 1-50 (default 20).'}}}
atera_list_tickets
List tickets
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'customer_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Only this customer's tickets.", 'exclusiveMinimum': 0}, 'items_in_page': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Items per page, 1-50 (default 20).'}, 'ticket_status': {'type': 'string', 'minLength': 1, 'description': 'Ticket status name, e.g. Open, Pending, Resolved or Closed (or a custom status).'}, 'include_relations': {'type': 'boolean', 'description': 'Include parent/child ticket relation info.'}}}
atera_list_ticket_work_hours
List a ticket's work hours
List the time entries logged on one ticket — technician, start/end, billable, on-site, rate. Atera: GET /api/v3/tickets/{ticketId}/workhoursrecords.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, 1-based (default 1).'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's TicketID.", 'exclusiveMinimum': 0}, 'items_in_page': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Items per page, 1-50 (default 20).'}}}
atera_resolve_alert
Resolve an alert
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}.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['alert_id'], 'properties': {'alert_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The alert's AlertID.", 'exclusiveMinimum': 0}}}
atera_update_ticket
Update a ticket
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}.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'type': {'enum': ['Incident', 'Problem', 'Request', 'Change'], 'type': 'string'}, 'title': {'type': 'string', 'minLength': 1, 'description': 'New title.'}, 'impact': {'enum': ['NoImpact', 'SiteDown', 'ServerIssue', 'Minor', 'Major', 'Crisis'], 'type': 'string'}, 'status': {'type': 'string', 'minLength': 1, 'description': 'Ticket status name, e.g. Open, Pending, Resolved or Closed (or a custom status).'}, 'priority': {'enum': ['Low', 'Medium', 'High', 'Critical'], 'type': 'string'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's TicketID.", 'exclusiveMinimum': 0}, 'technician_email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Reassign to the technician with this email.'}, 'technician_contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Reassign to this technician (TechnicianContactID).', 'exclusiveMinimum': 0}}}
已添加
atera_resolve_alert
2026年10月2日 02:40
已添加
atera_create_contact
2026年10月2日 02:40
已添加
atera_add_ticket_comment
2026年10月2日 02:40
已添加
atera_update_ticket
2026年10月2日 02:40
已添加
atera_create_ticket
2026年10月2日 02:40
已添加
atera_list_kb_articles
2026年10月2日 02:40
已添加
atera_list_contracts
2026年10月2日 02:40
已添加
atera_list_contacts
2026年10月2日 02:40
已添加
atera_list_ticket_work_hours
2026年10月2日 02:40
已添加
atera_list_ticket_comments
2026年10月2日 02:40
已添加
atera_get_ticket
2026年10月2日 02:40
已添加
atera_list_tickets
2026年10月2日 02:40
已添加
atera_list_alerts
2026年10月2日 02:40
已添加
atera_get_agent_patches
2026年10月2日 02:40
已添加
atera_find_agents_by_machine
2026年10月2日 02:40
已添加
atera_get_agent
2026年10月2日 02:40
已添加
atera_list_agents
2026年10月2日 02:40
已添加
atera_get_customer
2026年10月2日 02:40
已添加
atera_list_customers
2026年10月2日 02:40
已添加
atera_get_account
2026年10月2日 02:40