api-patterns
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
Atera alerts: alert types, severity levels, alert sources, the acknowledge/resolve lifecycle, and alert-to-ticket conversion.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill alerts --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/alertsContext preview
The summary Claude sees to decide when to auto-load this skill.
Atera alerts: alert types, severity levels, alert sources, the acknowledge/resolve lifecycle, and alert-to-ticket conversion.
name: "Atera Alerts" description: > Atera alerts: alert types, severity levels, alert sources, the acknowledge/resolve lifecycle, and alert-to-ticket conversion. when_to_use: >- When viewing, acknowledging, resolving, or managing alerts raised by Atera-monitored devices. Use when: atera alert, rmm alert, monitoring alert, alert severity, alert acknowledge, alert resolve, device alert, threshold alert, or atera monitoring.
Alerts in Atera are notifications generated when monitored systems exceed defined thresholds or encounter issues. They serve as the early warning system for MSPs, enabling proactive response to client issues before they become critical problems.
desk record is a ticket; use `atera-tickets`.
`atera-devices` for agentless monitors and `atera-agents` for endpoint health.
`ninjaone-alerts`, `datto-rmm-alerts`, `connectwise-automate-alerts`, and N-central active issues (`ncentral-monitoring-tasks`) are separate stores with their own severity scales. Nothing here reads them, and the counts are not comparable.
not the RMM; use `huntress-incidents`, `sentinelone-alerts`, or `rocketcyber-incidents`.
| Severity | Description | Typical Response | |----------|-------------|------------------| | **Critical** | Immediate action required | Respond within 15 minutes | | **Warning** | Attention needed soon | Respond within 1 hour | | **Information** | FYI, no action required | Review during normal hours |
| Source | Description | |--------|-------------| | **Agent** | Alerts from RMM agent monitoring | | **Device** | Alerts from HTTP/SNMP/TCP monitors | | **Threshold** | Alerts when metrics exceed limits | | **Custom** | User-defined or API-created alerts |
| Type | Description | Common Triggers | |------|-------------|-----------------| | **Availability** | Device/service up/down | Agent offline, ping failure | | **Performance** | Resource utilization | High CPU, low memory, disk full | | **Hardware** | Physical component issues | SMART errors, temperature | | **Security** | Security-related events | Failed logins, malware detected | | **Application** | Software issues | Service stopped, event log errors | | **Patch** | Update status | Missing patches, update failures | | **Backup** | Backup status | Backup failed, missed schedule |
| Field | Type | Description | |-------|------|-------------| | `AlertID` | int | Unique alert identifier | | `Code` | int | Alert type code | | `Source` | string | Alert source (Agent, Device, etc.) | | `Title` | string | Alert title/summary | | `Severity` | string | Critical, Warning, Information | | `Created` | datetime | When alert was generated | | `SnoozedEndDate` | datetime | Snooze expiration (if snoozed) | | `DeviceGuid` | string | Associated device GUID | | `AdditionalInfo` | string | Extra context/details | | `Archived` | boolean | Whether alert is archived | | `AlertCategoryID` | string | Category classification | | `ArchivedDate` | datetime | When alert was archived | | `TicketID` | int | Linked ticket (if converted) | | `AlertMessage` | string | Detailed alert message | | `FolderID` | int | Folder/group reference |
| Field | Type | Description | |-------|------|-------------| | `CustomerID` | int | Associated customer ID | | `CustomerName` | string | Customer display name | | `DeviceName` | string | Device hostname |
GET /api/v3/alerts?page=1&itemsInPage=50
X-API-KEY: {api_key}**Response:**
{
"items": [
{
"AlertID": 111111,
"Code": 205,
"Source": "Agent",
"Title": "High CPU Usage",
"Severity": "Warning",
"Created": "2024-02-15T10:30:00Z",
"CustomerID": 12345,
"CustomerName": "Acme Corporation",
"DeviceName": "SERVER-DC01",
"DeviceGuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"AlertMessage": "CPU usage exceeded 90% for 5 minutes",
"Archived": false,
"TicketID": null
}
],
"totalItems": 250,
"page": 1,
"itemsInPage": 50,
"totalPages": 5
}GET /api/v3/alerts/{alertId}
X-API-KEY: {api_key}**Response:**
{
"AlertID": 111111,
"Code": 205,
"Source": "Agent",
"Title": "High CPU Usage",
"Severity": "Warning",
"Created": "2024-02-15T10:30:00Z",
"CustomerID": 12345,
"CustomerName": "Acme Corporation",
"DeviceName": "SERVER-DC01",
"DeviceGuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"AlertMessage": "CPU usage has exceeded 90% threshold\n\nCurrent Value: 95%\nThreshold: 90%\nDuration: 5 minutes",
"AdditionalInfo": "Process: sqlservr.exe consuming 85% CPU",
"Archived": false,
"ArchivedDate": null,
"TicketID": null,
"SnoozedEndDate": null,
"AlertCategoryID": "performance"
}POST /api/v3/alerts
X-API-KEY: {api_key}
Content-Type: application/json{
"DeviceGuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"Title": "Custom Alert - Database Connection Pool Exhausted",
"Severity": "Critical",
"AlertMessage": "Application database connection pool at 100% capacity. New connections being rejected.",
"AlertCategoryID": "application"
}**Response:**
{
"ActionID": 111112,
"AlertID": 111112
}DELETE /api/v3/alerts/{alertId}
X-API-KEY: {api_key}**Response:**
{
"ActionID": 111111,
"Success": true
}1. **Review alert** - Understand the issue 2. **Create
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
Repo: wyre-technology/msp-claude-plugins
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership, and forwarding/presence…
3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks, searching contacts synced from an…
3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema and the read-only SELECT-only…
Abnormal Security abuse mailbox cases: user-reported email submissions, case statuses and judgments, the case lifecycle, bulk and remediation actions, and…
Abnormal Security message analysis: message retrieval, email header inspection, attachments, sender reputation, delivery context, and SPF/DKIM/DMARC…