Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,533Letters: 13Defects: 1,322counted 1 min ago
teppi

Server definition

Hash
sha256:5a9b1073c05de9a4d7f0aadac43321cc30042030bade77043cc33934024dec13
What it is
What a remote MCP server returned when asked what it offers: 20 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "comment": { "description": "The comment text.", "minLength": 1, "type": "string" }, "enduser_id": { "description": "Post as this end-user contact (EndUserID).", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "is_internal": { "default": true, "description": "Technician comments only: true = internal note (default), false = visible reply.", "type": "boolean" }, "technician_email": { "description": "The technician's email (optional, with technician_id).", "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,}$", "type": "string" }, "technician_id": { "description": "Post as this technician (TechnicianId).", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "ticket_id": { "description": "The ticket's TicketID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "timestamp_utc": { "description": "Comment time in UTC, ISO 8601. Defaults to now.", "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))$", "type": "string" } }, "required": [ "ticket_id", "comment" ], "type": "object" }, "name": "atera_add_ticket_comment", "outputSchema": null }, { "description": "Create a new end-user contact under an existing customer (give customer_id or customer_name). Atera: POST /api/v3/contacts.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "customer_id": { "description": "The customer's CustomerID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "customer_name": { "description": "The customer's name, if you don't have the id.", "type": "string" }, "email": { "description": "The contact's email (required).", "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,}$", "type": "string" }, "first_name": { "type": "string" }, "is_contact_person": { "description": "Mark as the customer's primary contact person.", "type": "boolean" }, "job_title": { "type": "string" }, "last_name": { "type": "string" }, "mobile_phone": { "type": "string" }, "phone": { "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "atera_create_contact", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "description": { "description": "Ticket description (first comment).", "minLength": 1, "type": "string" }, "end_user_email": { "description": "New contact's email.", "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,}$", "type": "string" }, "end_user_first_name": { "description": "New contact's first name.", "type": "string" }, "end_user_id": { "description": "Existing contact's EndUserID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "end_user_last_name": { "description": "New contact's last name.", "type": "string" }, "end_user_phone": { "description": "New contact's phone.", "type": "string" }, "impact": { "enum": [ "NoImpact", "SiteDown", "ServerIssue", "Minor", "Major", "Crisis" ], "type": "string" }, "priority": { "enum": [ "Low", "Medium", "High", "Critical" ], "type": "string" }, "status": { "description": "Ticket status name, e.g. Open, Pending, Resolved or Closed (or a custom status).", "minLength": 1, "type": "string" }, "technician_contact_id": { "description": "Assign to this technician (TechnicianContactID).", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "technician_email": { "description": "Assign to the technician with this email.", "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,}$", "type": "string" }, "title": { "description": "Ticket title.", "minLength": 1, "type": "string" }, "type": { "enum": [ "Incident", "Problem", "Request", "Change" ], "type": "string" } }, "required": [ "title", "description" ], "type": "object" }, "name": "atera_create_ticket", "outputSchema": null }, { "description": "Find the agent(s) installed on a machine by its machine name, e.g. DESKTOP-4F2K9. Atera: GET /api/v3/agents/machine/{machineName}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "items_in_page": { "description": "Items per page, 1-500 (default 20).", "maximum": 500, "minimum": 1, "type": "integer" }, "machine_name": { "description": "The machine (computer) name.", "minLength": 1, "type": "string" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "required": [ "machine_name" ], "type": "object" }, "name": "atera_find_agents_by_machine", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {}, "type": "object" }, "name": "atera_get_account", "outputSchema": null }, { "description": "Fetch a single agent by its AgentID — full device inventory, online status, IPs, OS build and last reboot. Atera: GET /api/v3/agents/{agentId}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "agent_id": { "description": "The agent's AgentID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "agent_id" ], "type": "object" }, "name": "atera_get_agent", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "device_guid": { "description": "The device's DeviceGuid.", "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)$", "type": "string" }, "kind": { "default": "available", "description": "available = patches not yet installed (default); installed = patch history.", "enum": [ "available", "installed" ], "type": "string" } }, "required": [ "device_guid" ], "type": "object" }, "name": "atera_get_agent_patches", "outputSchema": null }, { "description": "Fetch a single customer by id — address, domain, phone, notes. Atera: GET /api/v3/customers/{customerId}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "customer_id": { "description": "The customer's CustomerID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "customer_id" ], "type": "object" }, "name": "atera_get_customer", "outputSchema": null }, { "description": "Fetch a single ticket by its TicketID. Atera: GET /api/v3/tickets/{ticketId}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "include_relations": { "description": "Include parent/child ticket relation info.", "type": "boolean" }, "ticket_id": { "description": "The ticket's TicketID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "ticket_id" ], "type": "object" }, "name": "atera_get_ticket", "outputSchema": null }, { "description": "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}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "customer_id": { "description": "Only this customer's agents.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "items_in_page": { "description": "Items per page, 1-500 (default 20).", "maximum": 500, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "atera_list_agents", "outputSchema": null }, { "description": "List monitoring alerts (disk, CPU, availability, hardware...) with severity, device, customer and linked ticket. Filter by status. Atera: GET /api/v3/alerts.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "alert_status": { "description": "Only alerts in this state.", "enum": [ "Open", "Resolved", "Snoozed" ], "type": "string" }, "items_in_page": { "description": "Items per page, 1-500 (default 20).", "maximum": 500, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "atera_list_alerts", "outputSchema": null }, { "description": "List end-user contacts, optionally searching by whole or partial email or phone number. Atera: GET /api/v3/contacts.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "email": { "description": "Whole or partial email to match.", "type": "string" }, "items_in_page": { "description": "Items per page, 1-500 (default 20).", "maximum": 500, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "phone": { "description": "Whole or partial phone number to match.", "type": "string" } }, "type": "object" }, "name": "atera_list_contacts", "outputSchema": null }, { "description": "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}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "customer_id": { "description": "Only this customer's contracts.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "items_in_page": { "description": "Items per page, 1-500 (default 20).", "maximum": 500, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "atera_list_contracts", "outputSchema": null }, { "description": "List the customers (client companies) managed in Atera, paginated. Atera: GET /api/v3/customers.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "items_in_page": { "description": "Items per page, 1-500 (default 20).", "maximum": 500, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "atera_list_customers", "outputSchema": null }, { "description": "List knowledge-base articles with their product, keywords, section, category and ratings. Atera: GET /api/v3/knowledgebases.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "items_in_page": { "description": "Items per page, 1-500 (default 20).", "maximum": 500, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "atera_list_kb_articles", "outputSchema": null }, { "description": "List the comment thread on one ticket — end-user and technician replies, with internal notes flagged. Atera: GET /api/v3/tickets/{ticketId}/comments.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "items_in_page": { "description": "Items per page, 1-50 (default 20).", "maximum": 50, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "ticket_id": { "description": "The ticket's TicketID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "ticket_id" ], "type": "object" }, "name": "atera_list_ticket_comments", "outputSchema": null }, { "description": "List the time entries logged on one ticket — technician, start/end, billable, on-site, rate. Atera: GET /api/v3/tickets/{ticketId}/workhoursrecords.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "items_in_page": { "description": "Items per page, 1-50 (default 20).", "maximum": 50, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "ticket_id": { "description": "The ticket's TicketID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "ticket_id" ], "type": "object" }, "name": "atera_list_ticket_work_hours", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "customer_id": { "description": "Only this customer's tickets.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "include_relations": { "description": "Include parent/child ticket relation info.", "type": "boolean" }, "items_in_page": { "description": "Items per page, 1-50 (default 20).", "maximum": 50, "minimum": 1, "type": "integer" }, "page": { "description": "Page number, 1-based (default 1).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "ticket_status": { "description": "Ticket status name, e.g. Open, Pending, Resolved or Closed (or a custom status).", "minLength": 1, "type": "string" } }, "type": "object" }, "name": "atera_list_tickets", "outputSchema": null }, { "description": "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}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "alert_id": { "description": "The alert's AlertID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "alert_id" ], "type": "object" }, "name": "atera_resolve_alert", "outputSchema": null }, { "description": "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}.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "impact": { "enum": [ "NoImpact", "SiteDown", "ServerIssue", "Minor", "Major", "Crisis" ], "type": "string" }, "priority": { "enum": [ "Low", "Medium", "High", "Critical" ], "type": "string" }, "status": { "description": "Ticket status name, e.g. Open, Pending, Resolved or Closed (or a custom status).", "minLength": 1, "type": "string" }, "technician_contact_id": { "description": "Reassign to this technician (TechnicianContactID).", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "technician_email": { "description": "Reassign to the technician with this email.", "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,}$", "type": "string" }, "ticket_id": { "description": "The ticket's TicketID.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "title": { "description": "New title.", "minLength": 1, "type": "string" }, "type": { "enum": [ "Incident", "Problem", "Request", "Change" ], "type": "string" } }, "required": [ "ticket_id" ], "type": "object" }, "name": "atera_update_ticket", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:5a9b1073c05de9a4d7f0aadac43321cc30042030bade77043cc33934024dec13 | sha256sum