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),…
Better Stack on-call: on-call calendars and rotations, escalation and notification policies, alert routing, and determining who is currently on call.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill oncall --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/oncallContext preview
The summary Claude sees to decide when to auto-load this skill.
Better Stack on-call: on-call calendars and rotations, escalation and notification policies, alert routing, and determining who is currently on call.
name: "Better Stack On-Call" description: > Better Stack on-call: on-call calendars and rotations, escalation and notification policies, alert routing, and determining who is currently on call. when_to_use: >- When finding out who is on call, editing rotations or escalation policies, or paging responders in Better Stack. Use when: betterstack on-call, betterstack oncall, on-call schedule, on-call calendar, escalation policy, notification policy, alert routing, on-call rotation, betterstack schedule, betterstack who is on call, betterstack paging, or betterstack responder.
Better Stack Uptime includes integrated on-call scheduling that determines who gets paged when a monitor fails. Schedules define rotation patterns, and notification/escalation policies define how and when responders are alerted (via phone, SMS, email, or push). For MSPs, on-call is commonly configured per customer team, with separate schedules for each client's SLA requirements.
"escalation policy", and "paging" are shared vocabulary across all three products, and nothing in the phrasing disambiguates them. If the MSP's paging system is not Better Stack, use `pagerduty-oncall` or `rootly-oncall`.
rotation is not a service schedule; that lives in the PSA (`autotask`, `halopsa`, `connectwise-psa`).
`betterstack-monitors`.
Better Stack schedules define:
Policies define the alert cascade when a monitor goes down:
| Step | Description | |------|-------------| | 1 | Page the on-call schedule via phone, SMS, email, push | | 2 (after timeout) | Escalate to a secondary schedule or individual | | 3 (after timeout) | Escalate to team manager or broader group |
Better Stack calls these "notification policies" rather than "escalation policies", but they serve the same purpose.
Monitors are linked to notification policies at creation time. When a monitor goes down: 1. Better Stack creates an incident 2. The monitor's notification policy fires 3. On-call responders are paged in sequence 4. If acknowledged, escalation stops 5. If not acknowledged within the timeout, the next tier is paged
list_on_call_schedules
Parameters:
get_on_call_schedule
Parameters:
**Key fields:**
create_on_call_schedule
Parameters:
list_schedule_policies
Parameters:
1. Call `list_on_call_schedules` to get all schedules 2. Call `get_on_call_schedule` for each relevant schedule 3. Check the `current_shift` field -- shows who is currently on-call and when their shift ends 4. For MSP use: filter schedules by team to find the on-call person for a specific customer account
1. Call `list_schedule_policies` to see all notification policies 2. For each policy, review the escalation steps:
3. Verify no step has a deleted or empty schedule assignment
Before transitioning between on-call shifts:
1. Call `list_incidents` with `status=acknowledged` to find any open, active incidents 2. For each open incident, call `get_incident` to get current status 3. Check the responsible monitor with `get_monitor` for the affected service 4. Brief the incoming responder on: what monitor is down, what was tried, current status 5. The incoming responder runs `acknowledge_incident` if they are taking ownership
During planned maintenance:
1. Use `pause_monitor` to prevent false pages during the window 2. Notify the on-call team via `create_status_page_incident` for customer-facing work 3. After maintenance, `resume_monitor` on all paused monitors 4. Verify no stale incidents remain open with `list_incidents`
**Cause:** Invalid schedule ID or schedule was deleted **Solution:** List schedules to verify the correct ID
**Cause:** Invalid time zone format or member IDs **Solution:** Verify time zone format and confirm member IDs exist
**Cause:** Schedule has no on-call user for the current time **Solution:** Check schedule configuration and ensure rotations cover all time periods
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…