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),…
PagerDuty service catalog: service statuses, integrations and integration keys as event sources, alert grouping modes, upstream/downstream service dependencies, and maintenance windows.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill services --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/servicesContext preview
The summary Claude sees to decide when to auto-load this skill.
PagerDuty service catalog: service statuses, integrations and integration keys as event sources, alert grouping modes, upstream/downstream service dependencies, and maintenance windows.
name: "PagerDuty Services" description: > PagerDuty service catalog: service statuses, integrations and integration keys as event sources, alert grouping modes, upstream/downstream service dependencies, and maintenance windows. when_to_use: >- When inspecting, creating, or configuring PagerDuty services, or scheduling maintenance on them. Use when: pagerduty service, service catalog, service dependencies, service integrations, maintenance window, service health, or service status.
Services in PagerDuty represent the applications, components, or infrastructure that your team is responsible for. Each service has an escalation policy, integrations (event sources), and configuration for how incidents are created and grouped. Services are the primary organizational unit for routing alerts to the right responders.
A PagerDuty service is a technical component with an escalation policy attached. It is not a commercial service, and not a service ticket.
scope, and rates live in the contract; use `halopsa-contracts` or `autotask-contracts`.
helpdesk or PSA; use `freshdesk-ticketing`, `halopsa-tickets`, or `connectwise-psa-tickets`.
and ownership metadata rather than integration keys; use `rootly-services`.
here does not pause a PSA's SLA clock; use `freshdesk-sla-business-hours` or `halopsa-contracts` for that side.
| Status | Description | |--------|-------------| | `active` | Service is live and will create incidents from alerts | | `warning` | Service has acknowledged but unresolved incidents | | `critical` | Service has triggered (unacknowledged) incidents | | `maintenance` | Service is in a maintenance window; alerts are suppressed | | `disabled` | Service is disabled; no incidents will be created |
Integrations are the event sources that feed into a service. Each integration has a unique `integration_key` used to route events:
Services can be configured to automatically group related alerts into a single incident:
| Mode | Description | |------|-------------| | `intelligent` | PagerDuty ML groups related alerts automatically | | `time` | Alerts within a time window are grouped together | | `content_based` | Alerts with matching fields are grouped |
Service dependencies map upstream and downstream relationships between services. This helps identify blast radius during incidents and understand service topology.
pagerduty_list_services
Parameters:
**Example response:**
{
"services": [
{
"id": "PSVC123",
"name": "Payment API",
"status": "active",
"description": "Payment processing service",
"escalation_policy": {
"id": "PPOLICY1",
"summary": "Engineering On-Call"
},
"alert_creation": "create_alerts_and_incidents",
"alert_grouping_parameters": {
"type": "intelligent"
},
"teams": [
{
"id": "PTEAM01",
"summary": "Platform Team"
}
]
}
],
"limit": 25,
"offset": 0,
"total": 1,
"more": false
}pagerduty_get_service
Parameters:
pagerduty_create_service
Parameters:
pagerduty_update_service
Parameters:
pagerduty_list_service_dependencies
Parameters:
Returns upstream (depends on) and downstream (depended on by) service relationships.
pagerduty_list_maintenance_windows
Parameters:
pagerduty_create_maintenance_window
Parameters:
**Example request body:**
{
"maintenance_window": {
"type": "maintenance_window",
"start_time": "2026-03-28T02:00:00Z",
"end_time": "2026-03-28T06:00:00Z",
"description": "Database upgrade - v12 to v15",
"services": [
{
"id": "PSVC123",
"type": "service_reference"
}
]
}
}1. Call `pagerduty_list_services` to get all services 2. Check `status` field for each service (critical, warning, active) 3. For services in `critical` or `warning` status, list their incidents 4. Repo
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…